private static bool SortNodes(this ServerTree tree, TreeNodeCollection nodes, bool recurse) { List <TreeNode> list = new List <TreeNode>(nodes.Count); List <TreeNode> list2 = new List <TreeNode>(nodes.Count); foreach (TreeNode node in nodes) { if (node is ServerBase) { list2.Add(node); } else { list.Add(node); } } bool flag = false; if (recurse) { foreach (GroupBase item in from g in list.OfType <GroupBase>() where g.AllowSort select g) { flag |= tree.SortNodes(item.Nodes, recurse: true); } } flag |= nodes.SortAndRebuildNodeList(list, Program.Preferences.GroupSortOrder); return(flag | nodes.SortAndRebuildNodeList(list2, Program.Preferences.ServerSortOrder)); }
public static void SortRoot(this ServerTree tree) { tree.Operation((OperationBehavior)21, delegate { tree.SortHelper(tree.Nodes, recurse: false); tree.SortBuiltinGroups(); }); }
public static void SortBuiltinGroups(this ServerTree tree) { if (!tree.SuppressSorting) { List <TreeNode> list = tree.Nodes.OfType <IBuiltInVirtualGroup>().Cast <TreeNode>().ToList(); tree.Nodes.SortAndRebuildNodeList(list, SortOrder.ByName); } }
public static bool SortGroup(this ServerTree tree, GroupBase group, bool recurse) { bool result = false; if (group.AllowSort) { result = tree.SortHelper(group.Nodes, recurse); } return(result); }
public static void SortAllNodes(this ServerTree tree) { using (Helpers.Timer("sorting all nodes")) { tree.Operation(OperationBehavior.RestoreSelected, delegate { tree.SortHelper(tree.Nodes, recurse: true); tree.SortBuiltinGroups(); }); } }
private static bool SortHelper(this ServerTree tree, TreeNodeCollection nodes, bool recurse) { if (tree.SuppressSorting) { return(false); } bool anyChanged = false; tree.Operation((OperationBehavior)21, delegate { anyChanged = tree.SortNodes(nodes, recurse); }); return(anyChanged); }
public static bool SortNode(this ServerTree tree, RdcTreeNode node) { GroupBase groupBase = node.Parent as GroupBase; if (groupBase != null) { return(tree.SortGroup(groupBase)); } if (node.Parent == null) { tree.SortRoot(); } return(false); }
public int Compare(TreeNode treeNode1, TreeNode treeNode2) { if (_sortOrder == SortOrder.ByStatus) { ImageConstants imageConstants = ServerTree.TranslateImage((ImageConstants)treeNode1.ImageIndex, toSelected: false); ImageConstants imageConstants2 = ServerTree.TranslateImage((ImageConstants)treeNode2.ImageIndex, toSelected: false); int num = imageConstants2 - imageConstants; if (num != 0) { return(num); } } return(Helpers.NaturalCompare(treeNode1.Text, treeNode2.Text)); }
static ServerTree() { NotFocusedForeColor = Color.FromKnownColor(KnownColor.ControlDark); NotFocusedBackColor = Color.White; FocusedForeColor = Color.Black; FocusedBackColor = Color.White; ImageConstantLookup = new ImageConstants[2, 9]; foreach (ImageConstants item in Helpers.EnumValues <ImageConstants>()) { ImageConstantLookup[0, (int)item] = item; ImageConstantLookup[1, (int)item] = item; } ImageConstantLookup[0, 4] = ImageConstants.ConnectedServer; ImageConstantLookup[0, 2] = ImageConstants.ConnectingServer; ImageConstantLookup[1, 3] = ImageConstants.ConnectedSelectedServer; ImageConstantLookup[1, 1] = ImageConstants.ConnectingSelectedServer; Instance = new ServerTree(); }
public virtual void ChangeImageIndex(ImageConstants index) { base.ImageIndex = (int)index; base.SelectedImageIndex = (int)ServerTree.TranslateImage(index, true); }
public static bool SortGroup(this ServerTree tree, GroupBase group) { return(tree.SortGroup(group, recurse: false)); }