Skip to content

Commit dbe4879

Browse files
committed
Added GetUserInterfaceInfo method.
1 parent 257669d commit dbe4879

Some content is hidden

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

41 files changed

+242
-110
lines changed

ReClass.NET/DataExchange/ReClass/ReClassFile.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,11 @@ private class CustomNode : BaseNode
295295
{
296296
public override int MemorySize => throw new NotImplementedException();
297297

298+
public override void GetUserInterfaceInfo(out string name, out Image icon)
299+
{
300+
throw new NotImplementedException();
301+
}
302+
298303
public override int CalculateDrawnHeight(ViewInfo view)
299304
{
300305
throw new NotImplementedException();

ReClass.NET/Nodes/BaseNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ protected BaseNode()
7575
levelsOpen[0] = true;
7676
}
7777

78+
public abstract void GetUserInterfaceInfo(out string name, out Image icon);
79+
7880
/// <summary>Clears the selection of the node.</summary>
7981
public virtual void ClearSelection()
8082
{

ReClass.NET/Nodes/BitFieldNode.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ public BitFieldNode()
5151
levelsOpen.DefaultValue = true;
5252
}
5353

54+
public override void GetUserInterfaceInfo(out string name, out Image icon)
55+
{
56+
name = "Bitfield";
57+
icon = Properties.Resources.B16x16_Button_Bits;
58+
}
59+
5460
public override void CopyFromNode(BaseNode node)
5561
{
5662
base.CopyFromNode(node);

ReClass.NET/Nodes/BoolNode.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ namespace ReClassNET.Nodes
55
{
66
public class BoolNode : BaseNumericNode
77
{
8-
/// <summary>Size of the node in bytes.</summary>
98
public override int MemorySize => 1;
109

11-
/// <summary>Draws this node.</summary>
12-
/// <param name="view">The view information.</param>
13-
/// <param name="x">The x coordinate.</param>
14-
/// <param name="y">The y coordinate.</param>
15-
/// <returns>The pixel size the node occupies.</returns>
10+
public override void GetUserInterfaceInfo(out string name, out Image icon)
11+
{
12+
name = "Bool";
13+
icon = Properties.Resources.B16x16_Button_Bool;
14+
}
15+
1616
public override Size Draw(ViewInfo view, int x, int y)
1717
{
1818
if (IsHidden)

ReClass.NET/Nodes/ClassInstanceArrayNode.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
using System.Drawing;
22
using ReClassNET.Extensions;
33
using ReClassNET.UI;
4-
using ReClassNET.Util;
54

65
namespace ReClassNET.Nodes
76
{
87
public class ClassInstanceArrayNode : BaseArrayNode
98
{
10-
/// <summary>Size of the node in bytes.</summary>
119
public override int MemorySize => InnerNode.MemorySize * Count;
1210

1311
public override bool PerformCycleCheck => true;
1412

13+
public override void GetUserInterfaceInfo(out string name, out Image icon)
14+
{
15+
name = "Class Instance Array";
16+
icon = Properties.Resources.B16x16_Button_Array;
17+
}
18+
1519
public override void Intialize()
1620
{
1721
InnerNode = ClassNode.Create();

ReClass.NET/Nodes/ClassInstanceNode.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,27 @@
22
using System.Drawing;
33
using ReClassNET.Extensions;
44
using ReClassNET.UI;
5-
using ReClassNET.Util;
65

76
namespace ReClassNET.Nodes
87
{
98
public class ClassInstanceNode : BaseReferenceNode
109
{
11-
/// <summary>Size of the node in bytes.</summary>
1210
public override int MemorySize => InnerNode.MemorySize;
1311

1412
public override bool PerformCycleCheck => true;
1513

14+
public override void GetUserInterfaceInfo(out string name, out Image icon)
15+
{
16+
name = "Class Instance";
17+
icon = Properties.Resources.B16x16_Button_Class_Instance;
18+
}
19+
1620
public override void Intialize()
1721
{
1822
InnerNode = ClassNode.Create();
1923
InnerNode.Intialize();
2024
}
2125

22-
/// <summary>Draws this node.</summary>
23-
/// <param name="view">The view information.</param>
24-
/// <param name="x">The x coordinate.</param>
25-
/// <param name="y">The y coordinate.</param>
26-
/// <returns>The pixel size the node occupies.</returns>
2726
public override Size Draw(ViewInfo view, int x, int y)
2827
{
2928
if (IsHidden)

ReClass.NET/Nodes/ClassNode.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public class ClassNode : BaseContainerNode
2323
public static IntPtr DefaultAddress { get; } = (IntPtr)0x400000;
2424
#endif
2525

26-
/// <summary>Size of the node in bytes.</summary>
2726
public override int MemorySize => Nodes.Sum(n => n.MemorySize);
2827

2928
private NodeUuid uuid;
@@ -73,6 +72,11 @@ public static ClassNode Create()
7372
return new ClassNode(true);
7473
}
7574

75+
public override void GetUserInterfaceInfo(out string name, out Image icon)
76+
{
77+
throw new InvalidOperationException($"The '{nameof(ClassNode)}' node should not be accessible from the ui.");
78+
}
79+
7680
public override void Intialize()
7781
{
7882
AddBytes(IntPtr.Size);
@@ -88,11 +92,6 @@ public override void ClearSelection()
8892
}
8993
}
9094

91-
/// <summary>Draws this node.</summary>
92-
/// <param name="view">The view information.</param>
93-
/// <param name="x">The x coordinate.</param>
94-
/// <param name="y">The y coordinate.</param>
95-
/// <returns>The pixel size the node occupies.</returns>
9695
public override Size Draw(ViewInfo view, int x, int y)
9796
{
9897
AddSelection(view, 0, y, view.Font.Height);

ReClass.NET/Nodes/ClassPtrArrayNode.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ public class ClassPtrArrayNode : BaseArrayNode
1313

1414
public override bool PerformCycleCheck => false;
1515

16+
public override void GetUserInterfaceInfo(out string name, out Image icon)
17+
{
18+
name = "Class Pointer Array";
19+
icon = Properties.Resources.B16x16_Button_Pointer_Array;
20+
}
21+
1622
public override void Intialize()
1723
{
1824
var node = ClassNode.Create();

ReClass.NET/Nodes/ClassPtrNode.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using ReClassNET.Extensions;
55
using ReClassNET.Memory;
66
using ReClassNET.UI;
7-
using ReClassNET.Util;
87

98
namespace ReClassNET.Nodes
109
{
@@ -16,6 +15,12 @@ public class ClassPtrNode : BaseReferenceNode
1615

1716
public override bool PerformCycleCheck => false;
1817

18+
public override void GetUserInterfaceInfo(out string name, out Image icon)
19+
{
20+
name = "Class Pointer";
21+
icon = Properties.Resources.B16x16_Button_Class_Pointer;
22+
}
23+
1924
public override void Intialize()
2025
{
2126
var node = ClassNode.Create();

ReClass.NET/Nodes/DoubleNode.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ public class DoubleNode : BaseNumericNode
88
{
99
public override int MemorySize => 8;
1010

11+
public override void GetUserInterfaceInfo(out string name, out Image icon)
12+
{
13+
name = "Double";
14+
icon = Properties.Resources.B16x16_Button_Double;
15+
}
16+
1117
public override Size Draw(ViewInfo view, int x, int y)
1218
{
1319
return DrawNumeric(view, x, y, Icons.Double, "Double", ReadValueFromMemory(view.Memory).ToString("0.000"), null);

0 commit comments

Comments
 (0)