Skip to content

Commit ef2a0cb

Browse files
committed
refactor: MemberAccessors continue the journey to a new home
1 parent b0f6952 commit ef2a0cb

File tree

69 files changed

+187
-128
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+187
-128
lines changed

sources/RevitDBExplorer/Application.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
using Autodesk.Revit.UI;
1010
using RevitDBExplorer.Domain;
1111
using RevitDBExplorer.Domain.DataModel;
12-
using RevitDBExplorer.Domain.DataModel.MemberAccessors;
1312
using RevitDBExplorer.Domain.DataModel.Members;
1413
using RevitDBExplorer.Domain.DataModel.ValueContainers.Base;
1514
using RevitDBExplorer.Domain.RevitDatabaseQuery;

sources/RevitDBExplorer/Domain/DataModel/Accessors/IAccessor.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ internal interface IAccessor
88
{
99
IValueViewModel CreatePresenter(SnoopableContext context, object @object);
1010
string UniqueId { get; set; }
11-
string DefaultInvocation { get; set; }
11+
12+
Invocation DefaultInvocation { get; }
1213
}
1314
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System.Collections.Generic;
2+
3+
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
4+
5+
namespace RevitDBExplorer.Domain.DataModel.Accessors
6+
{
7+
internal class Invocation
8+
{
9+
public string Syntax { get; set; }
10+
public Dictionary<string, string> Arguments { get; set; }
11+
}
12+
}

sources/RevitDBExplorer/Domain/DataModel/Accessors/ReadResult.cs

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
namespace RevitDBExplorer.Domain.DataModel.Accessors
77
{
8-
internal readonly ref struct ReadResult
8+
internal ref struct ReadResult
99
{
1010
public required string Label { get; init; }
11-
public string AccessorName { get; init; }
11+
public string AccessorName { get; set; }
1212
public required bool CanBeSnooped { get; init; } = false;
1313
public bool CanBeVisualized { get; init; } = false;
1414
public IValueContainer State { get; init; }
@@ -17,20 +17,10 @@ internal readonly ref struct ReadResult
1717
public ReadResult()
1818
{
1919

20-
}
21-
20+
}
2221

2322
[SetsRequiredMembers]
24-
public ReadResult(string label, string accessorName, bool canBeSnooped, IValueContainer state = null)
25-
{
26-
Label = label;
27-
AccessorName = accessorName;
28-
CanBeSnooped = canBeSnooped;
29-
State = state;
30-
}
31-
32-
[SetsRequiredMembers]
33-
public ReadResult(string label, string accessorName, bool canBeSnooped = false, bool canBeVisualized = false, IValueContainer state = null)
23+
public ReadResult(string label, string accessorName = null, bool canBeSnooped = false, bool canBeVisualized = false, IValueContainer state = null)
3424
{
3525
Label = label;
3626
AccessorName = accessorName;
@@ -39,6 +29,7 @@ public ReadResult(string label, string accessorName, bool canBeSnooped = false,
3929
State = state;
4030
}
4131

42-
public static ReadResult Forbidden => new ReadResult("<access denied / forbidden>", null, false, null);
32+
33+
public static ReadResult Forbidden => new ReadResult("<access denied / forbidden>");
4334
}
4435
}

sources/RevitDBExplorer/Domain/DataModel/MemberAccessors/AssetProperties/AssetProperties_Item.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq.Expressions;
33
using Autodesk.Revit.DB.Visual;
44
using RevitDBExplorer.Domain.DataModel.Accessors;
5+
using RevitDBExplorer.Domain.DataModel.Members;
56
using RevitDBExplorer.Domain.DataModel.Members.Accessors;
67

78
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
@@ -13,12 +14,13 @@ internal class AssetProperties_Item : MemberAccessorByType<AssetProperties>, ICa
1314
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() => [ (AssetProperties x) => x[0] ];
1415

1516

16-
public override ReadResult Read(SnoopableContext context, AssetProperties assetProperties) => new()
17+
protected override ReadResult Read(SnoopableContext context, AssetProperties assetProperties) => new()
1718
{
1819
Label = Labeler.GetLabelForCollection(nameof(AssetProperty), assetProperties.Size),
1920
CanBeSnooped = assetProperties.Size > 0
2021
};
2122

23+
2224
protected override IEnumerable<SnoopableObject> Snoop(SnoopableContext context, AssetProperties assetProperties)
2325
{
2426
for (int i = 0; i < assetProperties.Size; i++)

sources/RevitDBExplorer/Domain/DataModel/MemberAccessors/CurtainGrid/CurtainGrid_GetCell.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq.Expressions;
33
using Autodesk.Revit.DB;
44
using RevitDBExplorer.Domain.DataModel.Accessors;
5+
using RevitDBExplorer.Domain.DataModel.Members;
56
using RevitDBExplorer.Domain.DataModel.Members.Accessors;
67

78
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
@@ -13,13 +14,13 @@ internal class CurtainGrid_GetCell : MemberAccessorByType<CurtainGrid>, ICanCrea
1314
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() => [ (CurtainGrid x) => x.GetCell(ElementId.InvalidElementId, ElementId.InvalidElementId) ];
1415

1516

16-
public override ReadResult Read(SnoopableContext context, CurtainGrid grid) => new()
17+
protected override ReadResult Read(SnoopableContext context, CurtainGrid grid) => new()
1718
{
1819
Label = Labeler.GetLabelForCollection(nameof(CurtainCell), null),
1920
CanBeSnooped = true
2021
};
2122

22-
23+
2324
protected override IEnumerable<SnoopableObject> Snoop(SnoopableContext context, CurtainGrid grid)
2425
{
2526
var uLineIds = grid.GetUGridLineIds();

sources/RevitDBExplorer/Domain/DataModel/MemberAccessors/CurtainGrid/CurtainGrid_GetPanel.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq.Expressions;
33
using Autodesk.Revit.DB;
44
using RevitDBExplorer.Domain.DataModel.Accessors;
5+
using RevitDBExplorer.Domain.DataModel.Members;
56
using RevitDBExplorer.Domain.DataModel.Members.Accessors;
67

78
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
@@ -13,7 +14,7 @@ internal class CurtainGrid_GetPanel : MemberAccessorByType<CurtainGrid>, ICanCre
1314
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() => [ (CurtainGrid x) => x.GetPanel(ElementId.InvalidElementId, ElementId.InvalidElementId) ];
1415

1516

16-
public override ReadResult Read(SnoopableContext context, CurtainGrid grid) => new()
17+
protected override ReadResult Read(SnoopableContext context, CurtainGrid grid) => new()
1718
{
1819
Label = Labeler.GetLabelForCollection(nameof(Panel), null),
1920
CanBeSnooped = true

sources/RevitDBExplorer/Domain/DataModel/MemberAccessors/Curve/Curve_GetEndPoint.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq.Expressions;
33
using Autodesk.Revit.DB;
44
using RevitDBExplorer.Domain.DataModel.Accessors;
5+
using RevitDBExplorer.Domain.DataModel.Members;
56
using RevitDBExplorer.Domain.DataModel.Members.Accessors;
67

78
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
@@ -13,12 +14,12 @@ internal class Curve_GetEndPoint : MemberAccessorByType<Curve>, ICanCreateMember
1314
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() => [ (Curve x) => x.GetEndPoint(0) ];
1415

1516

16-
public override ReadResult Read(SnoopableContext context, Curve curve) => new()
17+
protected override ReadResult Read(SnoopableContext context, Curve curve) => new()
1718
{
1819
Label = GetLabel(curve),
1920
CanBeSnooped = curve.IsBound
2021
};
21-
private string GetLabel(Curve curve)
22+
private static string GetLabel(Curve curve)
2223
{
2324
var p0 = curve.GetEndPoint(0);
2425
var p1 = curve.GetEndPoint(1);

sources/RevitDBExplorer/Domain/DataModel/MemberAccessors/DialogBoxShowingEventArgs/DialogBoxShowingEventArgs_OverrideResult.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq.Expressions;
33
using Autodesk.Revit.UI.Events;
44
using RevitDBExplorer.Domain.DataModel.Accessors;
5+
using RevitDBExplorer.Domain.DataModel.Members;
56
using RevitDBExplorer.Domain.DataModel.Members.Accessors;
67

78
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
@@ -13,7 +14,7 @@ internal class DialogBoxShowingEventArgs_OverrideResult : MemberAccessorByType<D
1314
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() => [ (DialogBoxShowingEventArgs x) => x.OverrideResult(0) ];
1415

1516

16-
public override ReadResult Read(SnoopableContext context, DialogBoxShowingEventArgs value) => ReadResult.Forbidden;
17+
protected override ReadResult Read(SnoopableContext context, DialogBoxShowingEventArgs value) => ReadResult.Forbidden;
1718

1819
}
1920
}

sources/RevitDBExplorer/Domain/DataModel/MemberAccessors/Document/Document_Close.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq.Expressions;
33
using Autodesk.Revit.DB;
44
using RevitDBExplorer.Domain.DataModel.Accessors;
5+
using RevitDBExplorer.Domain.DataModel.Members;
56
using RevitDBExplorer.Domain.DataModel.Members.Accessors;
67

78
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
@@ -13,6 +14,6 @@ internal class Document_Close : MemberAccessorByType<Document>, ICanCreateMember
1314
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() => [ (Document x) => x.Close(), (Document x) => x.Close(true) ];
1415

1516

16-
public override ReadResult Read(SnoopableContext context, Document value) => ReadResult.Forbidden;
17+
protected override ReadResult Read(SnoopableContext context, Document value) => ReadResult.Forbidden;
1718
}
1819
}

0 commit comments

Comments
 (0)