Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        private bool EqualsInterfaceItems(TreeNode node1, TreeNode node2)
        {
            InterfaceTreeItem item1 = GetInterfaceItem(node1);
            InterfaceTreeItem item2 = GetInterfaceItem(node2);

            return(EqualsInterfaceItems(item1, item2));
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        private void SelectFirstInterfaceAsRoot()
        {
            InterfaceTreeItem selectedRootInterface = SelectedRootInterface;

            if (selectedRootInterface == null)
            {
                List <InterfaceTreeItem> selectedInterfaces = GetSelectedInterfaces();
                if (selectedInterfaces.Count > 0)
                {
                    SelectedRootInterface = selectedInterfaces[0];
                }
            }
        }
Exemplo n.º 5
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;
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
 private void PopulateForm(InterfaceTreeItem sourceInterface)
 {
     this.sourceInterface = sourceInterface;
     PopulateTypes();
     PopulateTree();
 }
Exemplo n.º 9
0
 public static bool DialogShow(string caption, string message, InterfaceTreeItem sourceInterface, out ImplementData resultData)
 {
     return(DialogShow(caption, message, sourceInterface, DEFAULT_WIDTH, out resultData));
 }