Skip to content

Commit 6c0bcec

Browse files
committed
Use BeginUpdate for mass changes.
1 parent 1bb2fcb commit 6c0bcec

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

ReClass.NET/UI/ClassNodeView.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public ClassNode SelectedClass
130130
selectedClass = value;
131131
if (selectedClass != null)
132132
{
133-
classesTreeView.SelectedNode = FindMainClassTreeNode(value);
133+
classesTreeView.SelectedNode = FindMainClassTreeNode(selectedClass);
134134
}
135135

136136
SelectionChanged?.Invoke(this, selectedClass);
@@ -335,6 +335,8 @@ private void AddClassInternal(ClassNode node)
335335
/// <param name="node">The class to remove.</param>
336336
public void RemoveClass(ClassNode node)
337337
{
338+
Contract.Requires(node != null);
339+
338340
foreach (var tn in FindClassTreeNodes(node))
339341
{
340342
tn.Remove();
@@ -358,6 +360,8 @@ public void RemoveClass(ClassNode node)
358360
/// <returns>The found class tree node.</returns>
359361
private ClassTreeNode FindMainClassTreeNode(ClassNode node)
360362
{
363+
Contract.Requires(node != null);
364+
361365
return root.Nodes
362366
.Cast<ClassTreeNode>()
363367
.FirstOrDefault(t => t.ClassNode == node);
@@ -368,6 +372,8 @@ private ClassTreeNode FindMainClassTreeNode(ClassNode node)
368372
/// <returns>The found class tree node.</returns>
369373
private IEnumerable<ClassTreeNode> FindClassTreeNodes(ClassNode node)
370374
{
375+
Contract.Requires(node != null);
376+
371377
return root.Nodes
372378
.Cast<ClassTreeNode>()
373379
.Traverse(t => t.Nodes.Cast<ClassTreeNode>())
@@ -376,10 +382,18 @@ private IEnumerable<ClassTreeNode> FindClassTreeNodes(ClassNode node)
376382

377383
public void UpdateClassNode(ClassNode node)
378384
{
385+
Contract.Requires(node != null);
386+
387+
classesTreeView.BeginUpdate();
388+
379389
foreach (var tn in FindClassTreeNodes(node))
380390
{
381391
tn.Update();
382392
}
393+
394+
classesTreeView.Sort();
395+
396+
classesTreeView.EndUpdate();
383397
}
384398
}
385399
}

0 commit comments

Comments
 (0)