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

Commit 412ff10

Browse files
Renaming the concept of selection to checking
1 parent 2936899 commit 412ff10

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

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

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public abstract class Tree
2323
[SerializeField] public string PathIgnoreRoot;
2424
[SerializeField] public string PathSeparator = "/";
2525
[SerializeField] public bool DisplayRootNode = true;
26-
[SerializeField] public bool Selectable = false;
26+
[SerializeField] public bool Checkable = false;
2727
[SerializeField] public GUIStyle FolderStyle;
2828
[SerializeField] public GUIStyle TreeNodeStyle;
2929
[SerializeField] public GUIStyle ActiveTreeNodeStyle;
@@ -70,7 +70,7 @@ public void Load(IEnumerable<ITreeData> data, string title)
7070
Label = title,
7171
Level = -1 + displayRootLevel,
7272
IsFolder = true,
73-
Selectable = Selectable
73+
Checkable = Checkable
7474
};
7575
SetNodeIcon(titleNode);
7676
nodes.Add(titleNode);
@@ -107,7 +107,7 @@ public void Load(IEnumerable<ITreeData> data, string title)
107107
Label = label,
108108
Level = i + displayRootLevel,
109109
IsFolder = isFolder,
110-
Selectable = Selectable
110+
Checkable = Checkable
111111
};
112112

113113
if (node.IsActive)
@@ -166,9 +166,9 @@ public Rect Render(Rect rect, Vector2 scroll, Action<TreeNode> singleClick = nul
166166
{
167167
ToggleNodeVisibility(0, titleNode);
168168
}
169-
else if (renderResult == TreeNodeRenderResult.SelectionChange)
169+
else if (renderResult == TreeNodeRenderResult.CheckChange)
170170
{
171-
ToggleNodeSelection(0, titleNode);
171+
ToggleNodeCheck(0, titleNode);
172172
}
173173

174174
RequiresRepaint = HandleInput(rect, titleNode, 0);
@@ -192,9 +192,9 @@ public Rect Render(Rect rect, Vector2 scroll, Action<TreeNode> singleClick = nul
192192
{
193193
ToggleNodeVisibility(i, node);
194194
}
195-
else if (renderResult == TreeNodeRenderResult.SelectionChange)
195+
else if (renderResult == TreeNodeRenderResult.CheckChange)
196196
{
197-
ToggleNodeSelection(i, node);
197+
ToggleNodeCheck(i, node);
198198
}
199199

200200
if (node.Level < level)
@@ -248,24 +248,26 @@ public void Blur()
248248
RequiresRepaint = true;
249249
}
250250

251-
private void ToggleNodeSelection(int idx, TreeNode node)
251+
private void ToggleNodeCheck(int idx, TreeNode node)
252252
{
253253
if (node.IsFolder)
254254
{
255255

256256
}
257257
else
258258
{
259-
switch (node.SelectionState)
259+
switch (node.CheckState)
260260
{
261-
case SelectionState.Unselected:
262-
node.SelectionState = SelectionState.Selected;
261+
case CheckState.Empty:
262+
node.CheckState = CheckState.Checked;
263263
break;
264264

265-
case SelectionState.Selected:
266-
node.SelectionState = SelectionState.Unselected;
265+
case CheckState.Checked:
266+
node.CheckState = CheckState.Empty;
267267
break;
268268
}
269+
270+
Debug.LogFormat("Ripple CheckState index:{0} level:{1}", idx, node.Level);
269271
}
270272
}
271273

@@ -444,8 +446,8 @@ public class TreeNode
444446
public bool IsHidden;
445447
public bool IsActive;
446448
public GUIContent content;
447-
public bool Selectable;
448-
public SelectionState SelectionState;
449+
public bool Checkable;
450+
public CheckState CheckState;
449451

450452
[NonSerialized] public Texture2D Icon;
451453

@@ -462,9 +464,9 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
462464
return renderResult;
463465

464466
var fillRect = rect;
465-
var nodeStartX = Level * indentation * (Selectable ? 2 : 1);
467+
var nodeStartX = Level * indentation * (Checkable ? 2 : 1);
466468

467-
if (Selectable && Level > 0)
469+
if (Checkable && Level > 0)
468470
{
469471
nodeStartX += 2 * Level;
470472
}
@@ -504,7 +506,7 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
504506
}
505507
}
506508

507-
if (Selectable)
509+
if (Checkable)
508510
{
509511
data += string.Format("SelectStart: {0} ", nodeStartX);
510512

@@ -515,11 +517,11 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
515517
var selectionStyle = GUI.skin.toggle;
516518
var selectionValue = false;
517519

518-
if (SelectionState == SelectionState.Selected)
520+
if (CheckState == CheckState.Checked)
519521
{
520522
selectionValue = true;
521523
}
522-
else if (SelectionState == SelectionState.Mixed)
524+
else if (CheckState == CheckState.Mixed)
523525
{
524526
selectionStyle = Styles.ToggleMixedStyle;
525527
}
@@ -530,7 +532,7 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
530532
}
531533
if (EditorGUI.EndChangeCheck())
532534
{
533-
renderResult = TreeNodeRenderResult.SelectionChange;
535+
renderResult = TreeNodeRenderResult.CheckChange;
534536
}
535537
}
536538

@@ -605,13 +607,13 @@ public enum TreeNodeRenderResult
605607
{
606608
None,
607609
VisibilityChange,
608-
SelectionChange
610+
CheckChange
609611
}
610612

611-
public enum SelectionState
613+
public enum CheckState
612614
{
613-
Unselected,
614-
Selected,
615+
Empty,
616+
Checked,
615617
Mixed
616618
}
617619
}

0 commit comments

Comments
 (0)