Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit be6ae91

Browse files
Code cleanup
1 parent 6115784 commit be6ae91

File tree

1 file changed

+11
-24
lines changed

1 file changed

+11
-24
lines changed

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ private set
5454

5555
public TreeNode ActiveNode { get { return activeNode; } }
5656

57-
5857
public void Load(IEnumerable<ITreeData> data, string title)
5958
{
6059
var collapsedFoldersEnumerable = folders.Where(pair => pair.Value.IsCollapsed).Select(pair => pair.Key);
@@ -153,10 +152,6 @@ public void Load(IEnumerable<ITreeData> data, string title)
153152

154153
public Rect Render(Rect rect, Vector2 scroll, Action<TreeNode> singleClick = null, Action<TreeNode> doubleClick = null, Action<TreeNode> rightClick = null)
155154
{
156-
Profiler.BeginSample("TreeControl");
157-
var visible = true;
158-
var availableHeight = rect.y + rect.height;
159-
160155
RequiresRepaint = false;
161156
rect = new Rect(0f, rect.y, rect.width, ItemHeight);
162157

@@ -187,16 +182,12 @@ public Rect Render(Rect rect, Vector2 scroll, Action<TreeNode> singleClick = nul
187182
{
188183
Indent();
189184
}
185+
var changed = node.Render(rect, Styles.TreeIndentation, selectedNode == node, FolderStyle, TreeNodeStyle, ActiveTreeNodeStyle);
190186

191-
if (visible)
187+
if (node.IsFolder && changed)
192188
{
193-
var changed = node.Render(rect, Styles.TreeIndentation, selectedNode == node, FolderStyle, TreeNodeStyle, ActiveTreeNodeStyle);
194-
195-
if (node.IsFolder && changed)
196-
{
197-
// toggle visibility for all the nodes under this one
198-
ToggleNodeVisibility(i, node);
199-
}
189+
// toggle visibility for all the nodes under this one
190+
ToggleNodeVisibility(i, node);
200191
}
201192

202193
if (node.Level < level)
@@ -210,17 +201,13 @@ public Rect Render(Rect rect, Vector2 scroll, Action<TreeNode> singleClick = nul
210201

211202
if (!node.IsHidden)
212203
{
213-
if (visible)
214-
{
215-
RequiresRepaint = HandleInput(rect, node, i, singleClick, doubleClick, rightClick);
216-
}
204+
RequiresRepaint = HandleInput(rect, node, i, singleClick, doubleClick, rightClick);
217205
rect.y += ItemHeight + ItemSpacing;
218206
}
219207
}
220208

221209
Unindent();
222210

223-
Profiler.EndSample();
224211
return rect;
225212
}
226213

@@ -256,13 +243,13 @@ public void Blur()
256243

257244
private int ToggleNodeVisibility(int idx, TreeNode rootNode)
258245
{
259-
var rootNodeLevel = rootNode.Level;
260-
rootNode.IsCollapsed = !rootNode.IsCollapsed;
246+
var nodeLevel = node.Level;
247+
node.IsCollapsed = !node.IsCollapsed;
261248
idx++;
262-
for (; idx < nodes.Count && nodes[idx].Level > rootNodeLevel; idx++)
249+
for (; idx < nodes.Count && nodes[idx].Level > nodeLevel; idx++)
263250
{
264-
nodes[idx].IsHidden = rootNode.IsCollapsed;
265-
if (nodes[idx].IsFolder && !rootNode.IsCollapsed && nodes[idx].IsCollapsed)
251+
nodes[idx].IsHidden = node.IsCollapsed;
252+
if (nodes[idx].IsFolder && !node.IsCollapsed && nodes[idx].IsCollapsed)
266253
{
267254
var level = nodes[idx].Level;
268255
for (idx++; idx < nodes.Count && nodes[idx].Level > level; idx++) { }
@@ -271,7 +258,7 @@ private int ToggleNodeVisibility(int idx, TreeNode rootNode)
271258
}
272259
if (SelectedNode != null && SelectedNode.IsHidden)
273260
{
274-
SelectedNode = rootNode;
261+
SelectedNode = node;
275262
}
276263
return idx;
277264
}

0 commit comments

Comments
 (0)