BrawlCrate v0.41
Wii File Editor
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Properties | Events | List of all members
BrawlCrate.UI.ResourceTree Class Reference
Inheritance diagram for BrawlCrate.UI.ResourceTree:
BrawlCrate.UI.TreeViewMS

Public Member Functions

 ResourceTree ()
 
BaseWrapper FindResource (ResourceNode node)
 
ContextMenuStrip GetMultiSelectMenuStrip ()
 
void Clear ()
 
- Public Member Functions inherited from BrawlCrate.UI.TreeViewMS
 TreeViewMS ()
 

Protected Member Functions

override void WndProc (ref Message m)
 
override void OnAfterSelect (TreeViewEventArgs e)
 
override void OnBeforeExpand (TreeViewCancelEventArgs e)
 
override void OnMouseDoubleClick (MouseEventArgs e)
 
override void Dispose (bool disposing)
 
- Protected Member Functions inherited from BrawlCrate.UI.TreeViewMS
override void OnPaint (PaintEventArgs pe)
 
override void OnBeforeSelect (TreeViewCancelEventArgs e)
 
override void OnAfterSelect (TreeViewEventArgs e)
 
bool isParent (TreeNode parentNode, TreeNode childNode)
 
void paintSelectedNodes ()
 
void removePaintFromNodes ()
 

Properties

bool AllowContextMenus [get, set]
 
bool ShowIcons [get, set]
 
new TreeNode SelectedNode [get, set]
 
new List< TreeNode > SelectedNodes [get, set]
 
- Properties inherited from BrawlCrate.UI.TreeViewMS
List< TreeNode > SelectedNodes [get, set]
 
Type SelectedType [get]
 

Events

EventHandler SelectionChanged
 

Additional Inherited Members

- Protected Attributes inherited from BrawlCrate.UI.TreeViewMS
List< TreeNode > m_coll
 
TreeNode m_lastNode
 
TreeNode m_firstNode
 

Constructor & Destructor Documentation

◆ ResourceTree()

BrawlCrate.UI.ResourceTree.ResourceTree ( )
inline
68 {
69 SetStyle(ControlStyles.UserMouse, true);
70
71 _timer.Interval = 200;
72 _timer.Tick += new EventHandler(timer_Tick);
73
74 AllowDrop = true;
75
76 ItemDrag += new ItemDragEventHandler(treeView_ItemDrag);
77 DragOver += new DragEventHandler(treeView1_DragOver);
78 DragDrop += new DragEventHandler(treeView1_DragDrop);
79 DragEnter += new DragEventHandler(treeView1_DragEnter);
80 DragLeave += new EventHandler(treeView1_DragLeave);
81 GiveFeedback += new GiveFeedbackEventHandler(treeView1_GiveFeedback);
82
83 m_DelegateOpenFile = new DelegateOpenFile(ImportFile);
84 }

Member Function Documentation

◆ Clear()

void BrawlCrate.UI.ResourceTree.Clear ( )
inline
171 {
172 BeginUpdate();
173 foreach (BaseWrapper n in Nodes)
174 {
175 n.Unlink();
176 }
177
178 Nodes.Clear();
179 EndUpdate();
180 }
Definition: BaseWrapper.cs:71
void Unlink()
Definition: BaseWrapper.cs:188

◆ Dispose()

override void BrawlCrate.UI.ResourceTree.Dispose ( bool  disposing)
inlineprotected
213 {
214 Clear();
215 base.Dispose(disposing);
216 }
void Clear()
Definition: ResourceTree.cs:170

◆ FindResource()

BaseWrapper BrawlCrate.UI.ResourceTree.FindResource ( ResourceNode  node)
inline
87 {
88 BaseWrapper w = null;
89 foreach (BaseWrapper n in Nodes)
90 {
91 if ((w = n.FindResource(node, true)) != null)
92 {
93 break;
94 }
95 }
96
97 return w;
98 }

◆ GetMultiSelectMenuStrip()

ContextMenuStrip BrawlCrate.UI.ResourceTree.GetMultiSelectMenuStrip ( )
inline
148 {
149 List<TreeNode> nodes = SelectedNodes;
151 if (singleNode == null)
152 {
153 return null;
154 }
155
156 foreach (TreeNode node in nodes)
157 {
158 Type type = node.GetType();
159 if (!type.IsInstanceOfType(singleNode))
160 {
161 // More than one type of node is selected
162 // Return the generic multi-select menu
164 }
165 }
166
167 return singleNode.MultiSelectMenuStrip;
168 }
Definition: GenericWrapper.cs:17
virtual ContextMenuStrip MultiSelectMenuStrip
Definition: GenericWrapper.cs:181
new List< TreeNode > SelectedNodes
Definition: ResourceTree.cs:58
new TreeNode SelectedNode
Definition: ResourceTree.cs:43
Definition: MultiSelectableWrapper.cs:7
ContextMenuStrip MultiSelectMenuStrip
Definition: MultiSelectableWrapper.cs:8

◆ OnAfterSelect()

override void BrawlCrate.UI.ResourceTree.OnAfterSelect ( TreeViewEventArgs  e)
inlineprotected
183 {
184 bool refresh = _selected == e.Node;
185 base.SelectedNode = e.Node;
186 base.OnAfterSelect(e);
187 SelectedNode = e.Node;
188 if (refresh)
189 {
190 SelectionChanged?.Invoke(this, null);
191 }
192 }
EventHandler SelectionChanged
Definition: ResourceTree.cs:16

◆ OnBeforeExpand()

override void BrawlCrate.UI.ResourceTree.OnBeforeExpand ( TreeViewCancelEventArgs  e)
inlineprotected
195 {
196 base.OnBeforeExpand(e);
197 (e.Node as BaseWrapper)?.OnExpand();
198 }

◆ OnMouseDoubleClick()

override void BrawlCrate.UI.ResourceTree.OnMouseDoubleClick ( MouseEventArgs  e)
inlineprotected
201 {
202 if (e.Button == MouseButtons.Left && SelectedNode is BaseWrapper)
203 {
204 ((BaseWrapper) SelectedNode).OnDoubleClick();
205 }
206 else
207 {
208 base.OnMouseDoubleClick(e);
209 }
210 }

◆ WndProc()

override void BrawlCrate.UI.ResourceTree.WndProc ( ref Message  m)
inlineprotected
101 {
102 if (m.Msg == 0x204)
103 {
104 int x = (int) m.LParam & 0xFFFF, y = (int) m.LParam >> 16;
105
106 TreeNode n = GetNodeAt(x, y);
107 if (n != null)
108 {
109 Rectangle r = n.Bounds;
110 r.X -= 25;
111 r.Width += 25;
112 if (r.Contains(x, y))
113 {
114 SelectedNode = n;
115 }
116 }
117
118 m.Result = IntPtr.Zero;
119 return;
120 }
121
122 if (m.Msg == 0x205)
123 {
124 int x = (int) m.LParam & 0xFFFF, y = (int) m.LParam >> 16;
125
126 if (_allowContextMenus && _selected != null)
127 {
128 ContextMenuStrip menuStrip = SelectedNodes.Count > 1
130 : _selected.ContextMenuStrip;
131 if (menuStrip != null)
132 {
133 Rectangle r = _selected.Bounds;
134 r.X -= 25;
135 r.Width += 25;
136 if (r.Contains(x, y))
137 {
138 menuStrip.Show(this, x, y);
139 }
140 }
141 }
142 }
143
144 base.WndProc(ref m);
145 }
ContextMenuStrip GetMultiSelectMenuStrip()
Definition: ResourceTree.cs:147

Property Documentation

◆ AllowContextMenus

bool BrawlCrate.UI.ResourceTree.AllowContextMenus
getset
22 {
23 get => _allowContextMenus;
24 set => _allowContextMenus = value;
25 }

◆ SelectedNode

new TreeNode BrawlCrate.UI.ResourceTree.SelectedNode
getset
43 {
44 get => base.SelectedNode;
45 set
46 {
47 if (_selected == value)
48 {
49 return;
50 }
51
52 _selected = base.SelectedNode = value;
53 SelectionChanged?.Invoke(this, null);
54 }
55 }

◆ SelectedNodes

new List<TreeNode> BrawlCrate.UI.ResourceTree.SelectedNodes
getset
58 {
59 get => base.SelectedNodes;
60 set
61 {
62 base.SelectedNodes = value;
63 SelectionChanged?.Invoke(this, null);
64 }
65 }

◆ ShowIcons

bool BrawlCrate.UI.ResourceTree.ShowIcons
getset
31 {
32 get => _allowIcons;
33 set
34 {
35 _allowIcons = value;
36 ImageList = _allowIcons ? Icons.ImageList : null;
37 }
38 }

Event Documentation

◆ SelectionChanged

EventHandler BrawlCrate.UI.ResourceTree.SelectionChanged

The documentation for this class was generated from the following file: