private bool RecursiveIterateNodes(TreeNodeCollection nodes, Func <TreeNode, InterfaceTreeItem, bool> predicate) { foreach (TreeNode node in nodes) { InterfaceTreeItem item = (InterfaceTreeItem)node.Tag; bool cancel = predicate(node, item); if (cancel) { // true - cancel iteration return(true); } if (node.Nodes.Count > 0) { cancel = RecursiveIterateNodes(node.Nodes, predicate); if (cancel) { return(true); } } } // false - continue iteration return(false); }
private bool EqualsInterfaceItems(TreeNode node1, TreeNode node2) { InterfaceTreeItem item1 = GetInterfaceItem(node1); InterfaceTreeItem item2 = GetInterfaceItem(node2); return(EqualsInterfaceItems(item1, item2)); }
private void PopulateNode(TreeNodeCollection nodes, InterfaceTreeItem @interface) { TreeNode treeNode = nodes.Add(@interface.Name); treeNode.Tag = @interface; tvTree.SetNodeCheckState(treeNode, CheckState.Unchecked); if (@interface.Childs.Count > 0) { RecursivePopulateTree(treeNode.Nodes, @interface.Childs); } }
private void SelectFirstInterfaceAsRoot() { InterfaceTreeItem selectedRootInterface = SelectedRootInterface; if (selectedRootInterface == null) { List <InterfaceTreeItem> selectedInterfaces = GetSelectedInterfaces(); if (selectedInterfaces.Count > 0) { SelectedRootInterface = selectedInterfaces[0]; } } }
private void PopulateRootInterfaces() { InterfaceTreeItem selectedRootInterface = SelectedRootInterface; cmbRootInterface.Items.Clear(); List <InterfaceTreeItem> selectedInterfaces = GetSelectedInterfaces(); foreach (var @interface in selectedInterfaces) { cmbRootInterface.Items.Add(new IconListEntry(@interface.Name, @interface, Resources.Interface)); } SelectedRootInterface = selectedRootInterface; }
public static bool DialogShow(string caption, string message, InterfaceTreeItem sourceInterface, int width, out ImplementData resultData) { resultData = null; FormImplementInterface form; string entityName = string.Empty; bool result = InternalDialogShow(width, caption, message, obj => obj.PopulateForm(sourceInterface), ref entityName, out form); if (result) { resultData = form.GetResult(entityName); } return(result); }
private bool EqualsInterfaceItems(InterfaceTreeItem item1, InterfaceTreeItem item2) { if (item1.Data is IEqualityComparer || item2.Data is IEqualityComparer) { IEqualityComparer comparer = item1.Data as IEqualityComparer; if (comparer == null) { comparer = item2.Data as IEqualityComparer; } return(comparer.Equals(item1.Data, item2.Data)); } return(item1.Data == item2.Data); }
private void PopulateForm(InterfaceTreeItem sourceInterface) { this.sourceInterface = sourceInterface; PopulateTypes(); PopulateTree(); }
public static bool DialogShow(string caption, string message, InterfaceTreeItem sourceInterface, out ImplementData resultData) { return(DialogShow(caption, message, sourceInterface, DEFAULT_WIDTH, out resultData)); }