Exemple #1
0
 private void ReprecateMenuToTree(TreeNodeCollection collection, CustomToolStripMenuItem menu)
 {
     if (menu.IsFolder)
     {
         var treeNode = new CustomTreeNode(menu.CustomToolTipText, menu.Text);
         this.AddFolder(collection, treeNode);
         foreach (CustomToolStripMenuItem childMenu in menu.DropDownItems)
         {
             ReprecateMenuToTree(treeNode.Nodes, childMenu);
         }
     }
     else
     {
         var treeNode = new CustomTreeNode(menu.Dumper, menu.Text);
         this.AddFlow(collection, treeNode);
         if (menu.DropDownItems.Count > 0)
         {
             foreach (CustomToolStripMenuItem childMenu in menu.DropDownItems)
             {
                 var childNode = new CustomTreeNode(childMenu.Dumper, childMenu.Text);
                 this.AddFlow(treeNode.Nodes, childNode);
             }
         }
     }
 }
Exemple #2
0
 Source areaControl_GetSource(string arg)
 {
     if (toolStripDictionary.ContainsKey(arg))
     {
         CustomToolStripMenuItem ctsmi = toolStripDictionary[arg];
         PreProcessDumper(ctsmi.Dumper);
         var source = new Source(ctsmi.Dumper.AssemblyAndType)
         {
             Name     = ctsmi.Dumper.SourceName,
             FullName = ctsmi.Dumper.FullName,
             ToolTip  = $"({ctsmi.Dumper.SourceName})\n{ctsmi.Dumper.FlowToolTipText}",
             Warning  = ctsmi.Dumper.Warning
         };
         foreach (Item item in ctsmi.Dumper.InEvents.Concat(ctsmi.Dumper.OutEvents.Concat(ctsmi.Dumper.InProperties.Concat(ctsmi.Dumper.OutProperties))))
         {
             source.AddItem(item.Clone());
         }
         foreach (KeyValuePair <string, AssemblyAndTypeAndSource[]> asms in sourceCache.Where(p => p.Key == ctsmi.Dumper.SourceName))
         {
             foreach (AssemblyAndTypeAndSource asm in asms.Value)
             {
                 source.AddSameNameSource(asm.AssemblyAndType);
             }
         }
         return(source);
     }
     return(null);
 }
Exemple #3
0
        private bool IsFilteredMenu(CustomToolStripMenuItem node, NodeFilterInfoBase filter)
        {
            if (node.Dumper == null)
            {
                return(true);
            }

            return(!filter.IsHide(node.Dumper));
        }
Exemple #4
0
 internal void ReprecateMenuToTree(CustomToolStripMenuItem menu)
 {
     ReprecateMenuToTree(treeView1.Nodes, menu);
 }
Exemple #5
0
        private void CreateToolStripMenuItem(AssemblyAndTypeAndSource source)
        {
#if DEBUG
            if (!initialized)
            {
                source.Source.AutoTest();
            }
#endif
            toolTipTexts.Add(source.Dumper);
            source.Dumper.UpdateLanguage(null);
            if (languageProvider != null)
            {
                source.Dumper.UpdateLanguage(languageProvider);
            }
            var nameSplits = source.Source.Name.Split('.');
            ToolStripMenuItem addTarget = addNodeToolStripMenuItem;
            for (int i = 0; i < nameSplits.Length - 1; i++)
            {
                var tsmi = FindMenu(addTarget, nameSplits[i]);
                if (tsmi == null)
                {
                    var folder = new FlowSourceFolder(String.Join(".", nameSplits, 0, i + 1));
                    toolTipTexts.Add(folder);
                    if (languageProvider != null)
                    {
                        folder.UpdateLanguage(languageProvider);
                    }
                    tsmi = new CustomToolStripMenuItem(folder, this, tooltip, nameSplits[i])
                    {
                        Name = nameSplits[i]
                    };
                    addTarget.DropDownItems.Add(tsmi);
                }
                addTarget = tsmi;
            }
            var existingMenuItem = FindMenu(addTarget, nameSplits[nameSplits.Length - 1]);
            CustomToolStripMenuItem newMenu;
            if (existingMenuItem == null)
            {
                newMenu = new CustomToolStripMenuItem(source.Dumper, this, tooltip, nameSplits[nameSplits.Length - 1]);
                addTarget.DropDownItems.Add(newMenu);
            }
            else
            {
                if (existingMenuItem.DropDownItems.Count == 0)
                {
                    var text      = CreateTextFromDumper(existingMenuItem.Dumper);
                    var cloneMenu = new CustomToolStripMenuItem(existingMenuItem.Dumper, this, tooltip, text)
                    {
                        Name = nameSplits[nameSplits.Length - 1]
                    };
                    cloneMenu.Click += newMenu_Click;
                    existingMenuItem.DropDownItems.Add(cloneMenu);
                }
                var newText = CreateTextFromDumper(source.Dumper);
                newMenu = new CustomToolStripMenuItem(source.Dumper, this, tooltip, newText);
                existingMenuItem.DropDownItems.Add(newMenu);
            }
            toolStripDictionary.Add(source.AssemblyAndType.Type.FullName, newMenu);
            newMenu.Name   = nameSplits[nameSplits.Length - 1];
            newMenu.Click += newMenu_Click;
        }