Exemplo n.º 1
0
 public static ContextMenuStrip CreateContextMenu(object owner, string addInTreePath)
 {
     if (addInTreePath == null)
     {
         return(null);
     }
     try {
         ArrayList        buildItems  = AddInTree.GetTreeNode(addInTreePath).BuildChildItems(owner);
         ContextMenuStrip contextMenu = new ContextMenuStrip();
         contextMenu.Items.Add(new ToolStripMenuItem("dummy"));
         contextMenu.Opening += delegate {
             contextMenu.Items.Clear();
             foreach (object item in buildItems)
             {
                 if (item is ToolStripItem)
                 {
                     contextMenu.Items.Add((ToolStripItem)item);
                 }
                 else
                 {
                     ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
                     contextMenu.Items.AddRange(submenuBuilder.BuildSubmenu(null, owner));
                 }
             }
         };
         contextMenu.Opened += ContextMenuOpened;
         contextMenu.Closed += ContextMenuClosed;
         return(contextMenu);
     } catch (TreePathNotFoundException) {
         MessageService.ShowError("Warning tree path '" + addInTreePath + "' not found.");
         return(null);
     }
 }
Exemplo n.º 2
0
        void CreateDropDownItems()
        {
            ToolStripItem[] itemsToAdd = null;

            DropDownItems.Clear();
            foreach (object item in subItems)
            {
                if (item is ToolStripItem)
                {
                    DropDownItems.Add((ToolStripItem)item);
                    if (item is IStatusUpdate)
                    {
                        ((IStatusUpdate)item).UpdateStatus();
                        ((IStatusUpdate)item).UpdateText();
                    }
                }
                else
                {
                    ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
                    itemsToAdd = submenuBuilder.BuildSubmenu(codon, caller);
                    if (itemsToAdd != null)
                    {
                        DropDownItems.AddRange(itemsToAdd);
                    }
                }
            }
        }
Exemplo n.º 3
0
        public static ToolStripItem[] CreateToolStripItems(object owner, AddInTreeNode treeNode)
        {
            List <ToolStripItem> collection = new List <ToolStripItem>();

            foreach (object item in treeNode.BuildChildItems(owner))
            {
                if (item is ToolStripItem)
                {
                    collection.Add((ToolStripItem)item);
                }
                else
                {
                    ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
                    collection.AddRange(submenuBuilder.BuildSubmenu(null, owner));
                }
            }

            return(collection.ToArray());
        }
Exemplo n.º 4
0
 static void AddItemsToMenu(ToolStripItemCollection collection, List <MenuItemDescriptor> descriptors)
 {
     foreach (MenuItemDescriptor descriptor in descriptors)
     {
         object item = CreateMenuItemFromDescriptor(descriptor);
         if (item is ToolStripItem)
         {
             collection.Add((ToolStripItem)item);
             if (item is IStatusUpdate)
             {
                 ((IStatusUpdate)item).UpdateStatus();
             }
         }
         else
         {
             ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
             collection.AddRange(submenuBuilder.BuildSubmenu(null, descriptor.Caller));
         }
     }
 }
Exemplo n.º 5
0
 void CreateSubItems()
 {
     MenuItems.Clear();
     foreach (object item in subItems)
     {
         if (item is MenuItem)
         {
             MenuItems.Add((MenuItem)item);
             if (item is IStatusUpdate)
             {
                 ((IStatusUpdate)item).UpdateStatus();
                 ((IStatusUpdate)item).UpdateText();
             }
         }
         else
         {
             ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
             MenuItems.AddRange(submenuBuilder.BuildSubmenu(codon, caller));
         }
     }
 }
Exemplo n.º 6
0
        public static void AddItemsToMenu(ToolStripItemCollection collection, object owner, string addInTreePath)
        {
            ArrayList buildItems = AddInTree.GetTreeNode(addInTreePath).BuildChildItems(owner);

            foreach (object item in buildItems)
            {
                if (item is ToolStripItem)
                {
                    collection.Add((ToolStripItem)item);
                    if (item is IStatusUpdate)
                    {
                        ((IStatusUpdate)item).UpdateStatus();
                    }
                }
                else
                {
                    ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
                    collection.AddRange(submenuBuilder.BuildSubmenu(null, owner));
                }
            }
        }
Exemplo n.º 7
0
        void CreateDropDownItems()
        {
            // let's assume that if a menuBuilder exists,
            // as in the Search Results panel or the Class
            // Browser toolbar, it will handle this step.
            if (menuBuilder != null)
            {
                return;
            }

            // also, let's prevent a null exception
            // in the event that there are no subitems
            if (subItems == null || subItems.Count == 0)
            {
                return;
            }

            DropDownItems.Clear();
            foreach (object item in subItems)
            {
                if (item is ToolStripItem)
                {
                    DropDownItems.Add((ToolStripItem)item);
                    if (item is IStatusUpdate)
                    {
                        ((IStatusUpdate)item).UpdateStatus();
                        ((IStatusUpdate)item).UpdateText();
                    }
                }
                else
                {
                    ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
                    DropDownItems.AddRange(submenuBuilder.BuildSubmenu(codon, caller));
                }
            }
        }
Exemplo n.º 8
0
        public static ToolStripItem[] CreateToolStripItems(object owner, AddInTreeNode treeNode)
        {
            if (treeNode == null)
            {
                return(new ToolStripItem[0]);
            }
            List <ToolStripItem> collection = new List <ToolStripItem>();

            foreach (ToolbarItemDescriptor descriptor in treeNode.BuildChildItems <ToolbarItemDescriptor>(owner))
            {
                object item = CreateToolbarItemFromDescriptor(descriptor);
                if (item is ToolStripItem)
                {
                    collection.Add((ToolStripItem)item);
                }
                else
                {
                    ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
                    collection.AddRange(submenuBuilder.BuildSubmenu(null, owner));
                }
            }

            return(collection.ToArray());
        }