Sort node selection from treelistview before iterating on copy-paste.

This commit is contained in:
baldurk
2016-11-13 13:50:40 +01:00
parent 936d86d7c3
commit f7e939cda9
8 changed files with 23 additions and 6 deletions
@@ -1100,12 +1100,12 @@ namespace TreelistView
return m_nodesMap.ContainsKey(node);
}
public IList<Node> GetSortedNodes()
public void Sort()
{
SortedList<string, Node> list = new SortedList<string,Node>();
foreach (Node node in m_nodes)
list.Add(node.GetId(), node);
return list.Values;
m_nodes = new List<Node>(list.Values);
}
}
@@ -378,6 +378,11 @@ namespace TreelistView
get { return m_nodesSelection; }
}
public void SortNodesSelection()
{
m_nodesSelection.Sort();
}
[Browsable(false)]
public Node SelectedNode
{
+2
View File
@@ -275,6 +275,8 @@ namespace renderdocui.Windows
if (e.KeyCode == Keys.C && e.Control)
{
apiEvents.SortNodesSelection();
string text = "";
foreach (var n in apiEvents.NodesSelection)
{
@@ -325,6 +325,8 @@ namespace renderdocui.Controls
{
int[] width = new int[] { 0, 0, 0 };
variables.SortNodesSelection();
foreach (var n in variables.NodesSelection)
{
width[0] = Math.Max(width[0], n[0].ToString().Length);
@@ -2134,7 +2134,9 @@ namespace renderdocui.Windows.PipelineState
}
else if (sender is TreelistView.TreeListView)
{
TreelistView.NodesSelection sel = ((TreelistView.TreeListView)sender).NodesSelection;
TreelistView.TreeListView view = (TreelistView.TreeListView)sender;
view.SortNodesSelection();
TreelistView.NodesSelection sel = view.NodesSelection;
if (sel.Count > 0)
{
@@ -1802,7 +1802,9 @@ namespace renderdocui.Windows.PipelineState
}
else if (sender is TreelistView.TreeListView)
{
TreelistView.NodesSelection sel = ((TreelistView.TreeListView)sender).NodesSelection;
TreelistView.TreeListView view = (TreelistView.TreeListView)sender;
view.SortNodesSelection();
TreelistView.NodesSelection sel = view.NodesSelection;
if (sel.Count > 0)
{
@@ -1776,7 +1776,9 @@ namespace renderdocui.Windows.PipelineState
}
else if (sender is TreelistView.TreeListView)
{
TreelistView.NodesSelection sel = ((TreelistView.TreeListView)sender).NodesSelection;
TreelistView.TreeListView view = (TreelistView.TreeListView)sender;
view.SortNodesSelection();
TreelistView.NodesSelection sel = view.NodesSelection;
if (sel.Count > 0)
{
@@ -2011,7 +2011,9 @@ namespace renderdocui.Windows.PipelineState
}
else if (sender is TreelistView.TreeListView)
{
TreelistView.NodesSelection sel = ((TreelistView.TreeListView)sender).NodesSelection;
TreelistView.TreeListView view = (TreelistView.TreeListView)sender;
view.SortNodesSelection();
TreelistView.NodesSelection sel = view.NodesSelection;
if (sel.Count > 0)
{