Esempio n. 1
0
        public IEnumerable <CommandSite> CommandSites()
        {
            CommandSite site = new CommandSite("autodesk.thunderdome.site", "Thunderdome")
            {
                DeployAsPulldownMenu = true,
                Location             = CommandSiteLocation.ToolsMenu
            };

            CommandItem backupCmd = new CommandItem("autodesk.thunderdome.command.backup", "Backup Vault Settings")
            {
                Description       = "Backup your Vault settings",
                Hint              = "Backup your Vault settings",
                Image             = Icons.OnesAndZeros,
                ToolbarPaintStyle = PaintStyle.TextAndGlyph
            };

            backupCmd.Execute += new EventHandler <CommandItemEventArgs>(backupCmd_Execute);
            site.AddCommand(backupCmd);

            CommandItem configCmd = new CommandItem("autodesk.thunderdome.command.config", "Create Deployment")
            {
                Description       = "Decide which components to push to Vault users",
                Hint              = "Create Deployment",
                Image             = Icons.OnesAndZeros,
                ToolbarPaintStyle = PaintStyle.TextAndGlyph
            };

            configCmd.Execute += new EventHandler <CommandItemEventArgs>(command_Execute);
            site.AddCommand(configCmd);

            return(new CommandSite[] { site });
        }
Esempio n. 2
0
        /// <summary>
        /// This function tells Vault Explorer what custom commands this extension provides.
        /// Part of the IExtension interface.
        /// </summary>
        /// <returns>A collection of CommandSites, which are collections of custom commands.</returns>
        public IEnumerable <CommandSite> CommandSites()
        {
            // Create the Hello World command object.
            CommandItem Camlink3_1CmdItem = new CommandItem("Camlink3_1Command", "Export...")
            {
                // this command is active when a File is selected
                NavigationTypes = new SelectionTypeId[] { SelectionTypeId.File, SelectionTypeId.FileVersion },

                // this command is not active if there are multiple entities selected
                MultiSelectEnabled = true
            };

            // The Camlink3_1CommandHandler function is called when the custom command is executed.
            Camlink3_1CmdItem.Execute += Camlink3_1CommandHandler;


            // Create a command site to hook the command to the right-click menu for Files.
            CommandSite fileContextCmdSite = new CommandSite("Camlink3_1Command.FileContextMenu", "Camlink Menu")
            {
                Location             = CommandSiteLocation.FileContextMenu,
                DeployAsPulldownMenu = false
            };

            fileContextCmdSite.AddCommand(Camlink3_1CmdItem);

            // Now the custom command is available in 2 places.

            // Gather the sites in a List.
            List <CommandSite> sites = new List <CommandSite>();

            sites.Add(fileContextCmdSite);

            // Return the list of CommandSites.
            return(sites);
        }
        /// <summary>
        /// This function tells Vault Explorer what custom commands this extension provides.
        /// Part of the IExtension interface.
        /// </summary>
        /// <returns>A collection of CommandSites, which are collections of custom commands.</returns>
        public IEnumerable <CommandSite> CommandSites()
        {
            // Create the DirectView command object.
            CommandItem VaultViewCmdItem = new CommandItem("VaultViewCommand", "D&irect View...")
            {
                // this command is active when a File is selected
                NavigationTypes = new SelectionTypeId[] { SelectionTypeId.File, SelectionTypeId.FileVersion },

                // this command is not active if there are multiple entities selected
                MultiSelectEnabled = false
            };

            // create the selectViewerApp command
            CommandItem SelectViewerAppCmdItem = new CommandItem("SelectViewerAppCommand", "Select DirectView Viewer App...")
            {
                // not sure what options should go in here...
            };


            // The VaultViewCommandHandler function is called when the custom command is executed.
            VaultViewCmdItem.Execute       += HelloWorldCommandHandler;
            SelectViewerAppCmdItem.Execute += SelectViewerAppCommandHandler;


            // Create a command site to hook the DirectView command to the right-click menu for Files.
            CommandSite fileContextCmdSite = new CommandSite("VaultViewCommand.FileContextMenu", "Vault View Menu")
            {
                Location             = CommandSiteLocation.FileContextMenu,
                DeployAsPulldownMenu = false
            };

            fileContextCmdSite.AddCommand(VaultViewCmdItem);

            CommandSite toolsCommandMenuSite = new CommandSite("SelectViewerAppCommand", "Select DirectView Viewer App...")
            {
                Location             = CommandSiteLocation.ToolsMenu,
                DeployAsPulldownMenu = false
            };

            toolsCommandMenuSite.AddCommand(SelectViewerAppCmdItem);


            // Gather the sites in a List.
            List <CommandSite> sites = new List <CommandSite>();

            sites.Add(fileContextCmdSite);
            sites.Add(toolsCommandMenuSite);

            // Return the list of CommandSites.
            return(sites);
        }
Esempio n. 4
0
        public IEnumerable <CommandSite> CommandSites()
        {
            CommandSite site = new CommandSite("Autodesk.AAFind.Site", "Advanced Advanced Find")
            {
                DeployAsPulldownMenu = false,
                Location             = CommandSiteLocation.ToolsMenu
            };

            CommandItem cmd = new CommandItem("Autodesk.AAFind.Cmd", "Advanced Advanced Find...")
            {
                Image             = Icons.OnesAndZeros,
                Description       = "A search that supports OR conditions",
                Hint              = "A search that supports OR conditions",
                ToolbarPaintStyle = PaintStyle.TextAndGlyph
            };

            cmd.Execute += new EventHandler <CommandItemEventArgs>(cmd_Execute);

            site.AddCommand(cmd);
            return(new CommandSite[] { site });
        }
Esempio n. 5
0
        public IEnumerable <CommandSite> CommandSites()
        {
            var cmdItem = new CommandItem("CreateOrder.Command", "Create new Order...")
            {
                NavigationTypes    = new[] { SelectionTypeId.FileVersion },
                MultiSelectEnabled = false
            };

            cmdItem.Execute += CreateOrderCommand;

            var cmdSite = new CommandSite("CreateOrder.FileContextMenu", "Order")
            {
                Location             = CommandSiteLocation.FileContextMenu,
                DeployAsPulldownMenu = false
            };

            cmdSite.AddCommand(cmdItem);

            return(new List <CommandSite> {
                cmdSite
            });
        }
Esempio n. 6
0
        public IEnumerable <CommandSite> CommandSites()
        {
            CommandSite folderContextMenu = new CommandSite(s_FolderContextMenuCommandSiteId, "FindOrphaned")
            {
                DeployAsPulldownMenu = false,
                Location             = CommandSiteLocation.FolderContextMenu,
            };
            CommandItem findOrphanedFilesCmd = new CommandItem(s_FindOrphanedFilesCommandId, "Find Orphaned Files ...")
            {
                Description        = "Finds orphaned files in selected folder",
                Hint               = "Find orphaded files in folder",
                MultiSelectEnabled = true,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Folder },
                ToolbarPaintStyle  = PaintStyle.TextAndGlyph,
                Image              = Resources.Resource.OnesAndZeros
            };

            findOrphanedFilesCmd.Execute += new EventHandler <CommandItemEventArgs>(Handle_FindOrphanedFilesCmd_Execute);

            folderContextMenu.AddCommand(findOrphanedFilesCmd);
            return(new CommandSite[] { folderContextMenu });
        }
Esempio n. 7
0
        public IEnumerable <CommandSite> CommandSites()
        {
            CommandItem ThinClientUrlCmd = new CommandItem(
                "Autodesk.ADN.PermaLink", "View in Thin Client...")
            {
                NavigationTypes = new SelectionTypeId[] {
                    SelectionTypeId.File,
                    SelectionTypeId.FileVersion,
                    SelectionTypeId.Folder
                },
                MultiSelectEnabled = false
            };

            ThinClientUrlCmd.Execute += ThinClientUrlCmd_Execute;
            CommandSite permaLinkFileContextSite = new CommandSite(
                "Autodesk.ADN.PermaLinkFileContext", "PermaLinkFileContext")
            {
                DeployAsPulldownMenu = false,
                Location             = CommandSiteLocation.FileContextMenu
            };

            permaLinkFileContextSite.AddCommand(ThinClientUrlCmd);

            CommandSite permaLinkFolderContextSite = new CommandSite(
                "Autodesk.ADN.PermaLinkFolderContext", "PermaLinkFolderContext")
            {
                DeployAsPulldownMenu = false,
                Location             = CommandSiteLocation.FolderContextMenu
            };

            permaLinkFolderContextSite.AddCommand(ThinClientUrlCmd);

            List <CommandSite> sites = new List <CommandSite>();

            sites.Add(permaLinkFileContextSite);
            sites.Add(permaLinkFolderContextSite);

            return(sites);
        }
        public IEnumerable <CommandSite> CommandSites()
        {
            List <CommandSite> sites = new List <CommandSite>();

            // Describe user history command item
            //
            CommandItem printPDFJobCmdItem = new CommandItem("Command.PrintPDFJob", "Print PDF Job");

            printPDFJobCmdItem.NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.File };
            printPDFJobCmdItem.MultiSelectEnabled = false;
            printPDFJobCmdItem.Execute           += QueuePrintPDFCommandHandler;

            // deploy user history command on file context menu
            //
            CommandSite printPDFContextMenu = new CommandSite("Menu.FileContextMenu", "Print PDF Job");

            printPDFContextMenu.Location             = CommandSiteLocation.FileContextMenu;
            printPDFContextMenu.DeployAsPulldownMenu = false;
            printPDFContextMenu.AddCommand(printPDFJobCmdItem);
            sites.Add(printPDFContextMenu);


            CommandItem printPDFFolderCmdItem = new CommandItem("Command.PrintPDFFolder", "Print PDF Folder");

            printPDFFolderCmdItem.NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Folder };
            printPDFFolderCmdItem.MultiSelectEnabled = false;
            printPDFFolderCmdItem.Execute           += QueuePrintPDFFolderCommandHandler;


            CommandSite printPDFFolderContextMenu = new CommandSite("Menu.FileContextMenu", "Print PDF Folder");

            printPDFFolderContextMenu.Location             = CommandSiteLocation.FolderContextMenu;
            printPDFFolderContextMenu.DeployAsPulldownMenu = false;
            printPDFFolderContextMenu.AddCommand(printPDFFolderCmdItem);
            sites.Add(printPDFFolderContextMenu);

            return(sites);
        }
        public IEnumerable <CommandSite> CommandSites()
        {
            List <CommandSite> sites = new List <CommandSite>();

            // Describe user history command item
            //
            CommandItem FileUpdateJobCmdItem = new CommandItem("Command.FileUpdateJob", "File Update");

            FileUpdateJobCmdItem.NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.File };
            FileUpdateJobCmdItem.MultiSelectEnabled = false;
            FileUpdateJobCmdItem.Execute           += QueueFileUpdateCommandHandler;

            // deploy user history command on file context menu
            //
            CommandSite FileUpdateContextMenu = new CommandSite("Menu.FileContextMenu", "File Update");

            FileUpdateContextMenu.Location             = CommandSiteLocation.FileContextMenu;
            FileUpdateContextMenu.DeployAsPulldownMenu = false;
            FileUpdateContextMenu.AddCommand(FileUpdateJobCmdItem);
            sites.Add(FileUpdateContextMenu);

            return(sites);
        }
Esempio n. 10
0
        public IEnumerable <CommandSite> CommandSites()
        {
            CommandSite itemContextMenu = new CommandSite(s_ItemContextMenuCommandSiteId, "AddStepFile")
            {
                DeployAsPulldownMenu = false,
                Location             = CommandSiteLocation.ItemContextMenu,
            };

            CommandItem AddStepFileCmd = new CommandItem(s_AddStepFileCommandId, "Add Step File ...")
            {
                Description        = "Adds STEP file to an item",
                Hint               = "Add STEP file to an item",
                MultiSelectEnabled = true,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Item },
                ToolbarPaintStyle  = PaintStyle.TextAndGlyph,
                Image              = Resources.Resource.OnesAndZeros
            };

            AddStepFileCmd.Execute += new EventHandler <CommandItemEventArgs>(Handle_AddStepFileCmd_Execute);

            itemContextMenu.AddCommand(AddStepFileCmd);
            return(new CommandSite[] { itemContextMenu });
        }
Esempio n. 11
0
        public IEnumerable <CommandSite> CommandSites()
        {
            var sites = new List <CommandSite>();

            var gotoItem = new CommandItem("Command.powerFLC.GoToFlcItem", "Go To Fusion 360 Manage Item...")
            {
                NavigationTypes    = new SelectionTypeId[] { },
                MultiSelectEnabled = false,
                Image = Properties.Resources.favicon_fusion.ToBitmap()
            };

            gotoItem.Execute += GoToFlcItem;

            var queueItem = new CommandItem("Command.powerFLC.QueueItemJob", "Publish Fusion 360 Manage Item")
            {
                NavigationTypes    = new SelectionTypeId[] { },
                MultiSelectEnabled = true,
                Image = Properties.Resources.favicon_fusion.ToBitmap()
            };

            queueItem.Execute += QueueItemJob;

            var itemSite = new CommandSite("Menu.powerFLC.Item.Context", "powerFLC.Item.Context")
            {
                Location             = CommandSiteLocation.ItemContextMenu,
                DeployAsPulldownMenu = false
            };

            itemSite.AddCommand(gotoItem);
            itemSite.AddCommand(queueItem);

            var bomSite = new CommandSite("Menu.powerFLC.BOM.Context", "powerFLC.BOM.Context")
            {
                Location             = CommandSiteLocation.ItemBomToolbar,
                DeployAsPulldownMenu = false
            };

            bomSite.AddCommand(queueItem);

            var ecoSite = new CommandSite("Menu.powerFLC.ECO.Context", "powerFLC.ECO.Context")
            {
                Location             = CommandSiteLocation.ChangeOrderContextMenu,
                DeployAsPulldownMenu = false
            };

            ecoSite.AddCommand(gotoItem);
            //ecoSite.AddCommand(queueItem);

            var fileSite = new CommandSite("Menu.powerFLC.File.Context", "powerFLC.File.Context")
            {
                Location             = CommandSiteLocation.FileContextMenu,
                DeployAsPulldownMenu = false
            };
            //fileSite.AddCommand(gotoItem);
            //fileSite.AddCommand(queueItem);

            var folderSite = new CommandSite("Menu.powerFLC.Folder.Context", "powerFLC.Folder.Context")
            {
                Location             = CommandSiteLocation.FolderContextMenu,
                DeployAsPulldownMenu = false
            };

            //folderSite.AddCommand(gotoItem);
            //folderSite.AddCommand(queueItem);


            sites.Add(itemSite);
            sites.Add(bomSite);
            sites.Add(ecoSite);
            sites.Add(fileSite);
            sites.Add(folderSite);

            return(sites);
        }
        // Returns information on commands added in this extension
        //
        public IEnumerable<CommandSite> CommandSites()
        {
            // Create command item for Hello World command
            //
            List<CommandItem> menuitems = new List<CommandItem>();

            string extensionfolder = Application.ExecutablePath;
            extensionfolder = System.IO.Path.GetDirectoryName(extensionfolder);
            extensionfolder += "\\Extensions\\VaultCreateFromTemplate";
            string[] filePaths = Directory.GetFiles(extensionfolder,"*.xml");
            int numXmlfiles = 0;
            foreach (string filepath in filePaths)
            {
                //if (filepath.EndsWith(".xml")) 
                //{
                    CommandItem CmdItem = new CommandItem(System.IO.Path.GetFileName(filepath), System.IO.Path.GetFileNameWithoutExtension(filepath)) { NavigationTypes = new SelectionTypeId[] { SelectionTypeId.Folder }, MultiSelectEnabled = false };
                    CmdItem.Execute += VaultCreateFromTemplateCommandHandler;
                    menuitems.Add(CmdItem);
                    numXmlfiles++;
                //}
            }

            CommandItem VaultCreateFromTemplateCmdItem;
            CommandSite folderContextCmdSite;
            List<CommandSite> sites = new List<CommandSite>();
            if (numXmlfiles == 1)
            {
                folderContextCmdSite = new CommandSite("VaultCreateFromTemplateCommand.FolderContextMenu", "Create Folders...") { Location = CommandSiteLocation.FolderContextMenu, DeployAsPulldownMenu = false };
                //VaultCreateFromTemplateCmdItem = new CommandItem("", "Create From Template") { NavigationTypes = new SelectionTypeId[] { SelectionTypeId.Folder }, MultiSelectEnabled = false };
                //VaultCreateFromTemplateCmdItem.Execute += VaultCreateFromTemplateCommandHandler;
                //folderContextCmdSite.AddCommand(VaultCreateFromTemplateCmdItem);
                foreach (CommandItem CmdItem in menuitems)
                {
                    CommandItem NewCmdItem = new CommandItem(CmdItem.Id, "Create Folders...") { NavigationTypes = new SelectionTypeId[] { SelectionTypeId.Folder }, MultiSelectEnabled = false };
                    NewCmdItem.Execute += VaultCreateFromTemplateCommandHandler;
                    folderContextCmdSite.AddCommand(NewCmdItem);
                }
            }
            else
            {
                folderContextCmdSite = new CommandSite("VaultCreateFromTemplateCommand.FolderContextMenu", "Create Folders...") { Location = CommandSiteLocation.FolderContextMenu, DeployAsPulldownMenu = true };
                int count = 0;
                foreach (CommandItem CmdItem in menuitems)
                {
                    if (count < 10)
                    {
                        folderContextCmdSite.AddCommand(CmdItem);
                    }
                    count++;
                }
                if (menuitems.Count >= 10)
                {
                    VaultCreateFromTemplateCmdItem = new CommandItem("\\More...\\", "More ...") { NavigationTypes = new SelectionTypeId[] { SelectionTypeId.Folder }, MultiSelectEnabled = false };
                    VaultCreateFromTemplateCmdItem.Execute += VaultCreateFromTemplateCommandHandler;
                    folderContextCmdSite.AddCommand(VaultCreateFromTemplateCmdItem);
                }
            }
            sites.Add(folderContextCmdSite);
            return sites;
        }
Esempio n. 13
0
        /// <summary>
        /// This function tells Vault Explorer what custom commands this extension provides.
        /// Part of the IExtension interface.
        /// </summary>
        /// <returns>A collection of CommandSites, which are collections of custom commands.</returns>
        public IEnumerable <CommandSite> CommandSites()
        {
            // Create the Hello World command object.
            CommandItem ItemExportCmdItem = new CommandItem("VaultViewCommand", "E&xport Item...")
            {
                // this command is active when a File is selected
                NavigationTypes = new SelectionTypeId[] { SelectionTypeId.Item },

                // this command is not active if there are multiple entities selected
                MultiSelectEnabled = false
            };

            CommandItem BomExportCmdItem = new CommandItem("BomItemExportCommand", "Export Item &Direct")
            {
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Bom },
                MultiSelectEnabled = false
            };

            CommandItem BomExportPreviewCmdItem = new CommandItem("BomItemExportPreviewCommand", "Export Item &Preview")
            {
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Bom },
                MultiSelectEnabled = false
            };

            CommandItem BomExportOdooCmdItem = new CommandItem("BomItemExportOdooCommand", "Export Item &Odoo")
            {
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Bom },
                MultiSelectEnabled = false
            };

            // The VaultViewCommandHandler function is called when the custom command is executed.
            ItemExportCmdItem.Execute       += ItemExportCommandHandler;
            BomExportCmdItem.Execute        += BomItemExportCommandHandler;
            BomExportPreviewCmdItem.Execute += BomItemExportPreviewCommandHandler;
            BomExportOdooCmdItem.Execute    += BomItemExportOdooCommandHandler;


            // Create a command site to hook the command to the right-click menu for Files.
            CommandSite itemContextCmdSite = new CommandSite("ItemExportCommand.ItemContextMenu", "Item Export Menu")
            {
                Location             = CommandSiteLocation.ItemContextMenu,
                DeployAsPulldownMenu = false
            };

            itemContextCmdSite.AddCommand(ItemExportCmdItem);

            CommandSite bomExportCmdSite = new CommandSite("BomItemExportCommand", "Export Item Direct")
            {
                Location             = CommandSiteLocation.ItemBomToolbar,
                DeployAsPulldownMenu = false
            };

            bomExportCmdSite.AddCommand(BomExportCmdItem);

            CommandSite bomExportPreviewCmdSite = new CommandSite("BomItemExportPreviewCommand", "Export Item Preview")
            {
                Location             = CommandSiteLocation.ItemBomToolbar,
                DeployAsPulldownMenu = false
            };

            bomExportCmdSite.AddCommand(BomExportPreviewCmdItem);

            CommandSite bomExportOdooCmdSite = new CommandSite("BomItemExportOdooCommand", "Export Item Odoo")
            {
                Location             = CommandSiteLocation.ItemBomToolbar,
                DeployAsPulldownMenu = false
            };

            bomExportCmdSite.AddCommand(BomExportOdooCmdItem);

            // Now the custom command is available in 2 places.

            // Gather the sites in a List.
            List <CommandSite> sites = new List <CommandSite>();

            sites.Add(itemContextCmdSite);
            sites.Add(bomExportCmdSite);

            // Return the list of CommandSites.
            return(sites);
        }
Esempio n. 14
0
        public IEnumerable <CommandSite> CommandSites()
        {
            string folderMenuRoot    = "Vault Eagle [MCAD]";
            string description       = "(Vault Eagle updates subscribed files from Vault)";
            string folderSubscribe   = "Subscribe to contained files and folders";
            string folderExclude     = "Exclude, if subscribed to parent";
            string showSubscriptions = "Show Subscriptions...";

            string fileMenuRoot = "Vault Eagle [MCAD]";
            //     description       = "(Vault Eagle updates subscribed files from Vault)";
            string fileSubscribe = "Subscribe to this file";
            string fileExclude   = "Exclude, if subscribed to parent";
            //     showSubscriptions = "Show Subscriptions...";

            string toolShowSubsc = "Show Subscriptions... [MCAD]";

            CommandItem descriptionCommand = new CommandItem("MSAB_DescriptionCommand", description)
            {
                MultiSelectEnabled = false,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Other },
            };

            descriptionCommand.Execute += ShowSubscription;

            CommandItem subscribeToFolderCommand = new CommandItem("MSAB_SubscribeToFolderCommand", folderSubscribe)
            {
                MultiSelectEnabled = true,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Folder, SelectionTypeId.File }
            };

            subscribeToFolderCommand.Execute += HandleSubscribe;

            CommandItem excludeFolderCommand = new CommandItem("MSAB_UnSubscribeFromFolderCommand", folderExclude)
            {
                MultiSelectEnabled = true,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Folder, SelectionTypeId.File },
            };

            excludeFolderCommand.Execute += HandleUnsubscribe;

            CommandItem showSubscriptionsCommand = new CommandItem("MSAB_ShowSubscriptionsCommand", showSubscriptions)
            {
                MultiSelectEnabled = true,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.Folder, SelectionTypeId.File },
            };

            showSubscriptionsCommand.Execute += ShowSubscription;

            CommandItem subscribeToFileCommand = new CommandItem("MSAB_SubscribeToFileCommand", fileSubscribe)
            {
                MultiSelectEnabled = true,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.File, SelectionTypeId.Folder }
            };

            subscribeToFileCommand.Execute += HandleSubscribe;

            CommandItem excludeFileCommand = new CommandItem("MSAB_UnSubscribeFromFileCommand", fileExclude)
            {
                MultiSelectEnabled = true,
                NavigationTypes    = new SelectionTypeId[] { SelectionTypeId.File, SelectionTypeId.Folder }
            };

            excludeFileCommand.Execute += HandleUnsubscribe;

            CommandItem showSubscriptionCommand = new CommandItem(STR_MSAB_ShowSubscriptionCommand, toolShowSubsc);

            showSubscriptionCommand.Execute += ShowSubscription;

            CommandSite mcadToolMenuSite = new CommandSite("MSAB_ToolMenu", "VaultEagleToolMenu")
            {
                Location             = CommandSiteLocation.ToolsMenu,
                DeployAsPulldownMenu = false
            };

#if DEBUG
            CommandItem runTestsCommand = new CommandItem(STR_MSAB_RunTests, "Run all tests... [MCAD]");
            runTestsCommand.Image    = Properties.Resources.accept_sharp_edge.ToBitmap();
            runTestsCommand.Execute += RunTests;
            mcadToolMenuSite.AddCommand(runTestsCommand);
#endif
            mcadToolMenuSite.AddCommand(showSubscriptionCommand);

            CommandSite mcadFolderContextMenuSite = new CommandSite("MSAB_FolderContextMenu", folderMenuRoot)
            {
                DeployAsPulldownMenu = true,
                Location             = CommandSiteLocation.FolderContextMenu
            };

            mcadFolderContextMenuSite.AddCommand(descriptionCommand);
            mcadFolderContextMenuSite.AddCommand(subscribeToFolderCommand);
            mcadFolderContextMenuSite.AddCommand(excludeFolderCommand);
            mcadFolderContextMenuSite.AddCommand(showSubscriptionsCommand);

            CommandSite mcadFileContextMenuSite = new CommandSite("MSAB_FileContextMenu", fileMenuRoot)
            {
                DeployAsPulldownMenu = true,
                Location             = CommandSiteLocation.FileContextMenu
            };
            mcadFileContextMenuSite.AddCommand(descriptionCommand);
            mcadFileContextMenuSite.AddCommand(subscribeToFileCommand);
            mcadFileContextMenuSite.AddCommand(excludeFileCommand);
            mcadFileContextMenuSite.AddCommand(showSubscriptionsCommand);

            List <CommandSite> sites = new List <CommandSite>();
            sites.Add(mcadFolderContextMenuSite);
            sites.Add(mcadFileContextMenuSite);
            sites.Add(mcadToolMenuSite);
            return(sites);
        }