示例#1
0
        public IEnumerable <IMenuItem> GetMenus(ContextLevels menuForLevel)
        {
            var menuItems = new List <IMenuItem>();

            if (menuForLevel == ContextLevels.Solution ||
                menuForLevel == ContextLevels.Project || // context.FileName.EndsWith(SolZipConstants.ProjectExtension))
                menuForLevel == ContextLevels.Item)
            {
                var item = new MMEContracts.MenuItem("Compress with Zip");
                item.Click += MenuClicked;
                menuItems.Add(item);
            }
            return(menuItems);
        }
        /// <summary>
        /// Converts The ContextLevels enum to a string constants recognized by Visual Studio.
        /// </summary>
        /// <param name="level">The level.</param>
        /// <returns>string recognized by visula studio </returns>
        public static string ContextToVSContext(ContextLevels level)
        {
            switch (level)
            {
            case ContextLevels.Solution:
                return(VSContextConstants.Solution);

            case ContextLevels.Project:
                return(VSContextConstants.Project);

            case ContextLevels.SolutionFolder:
                return(VSContextConstants.SolutionFolder);

            case ContextLevels.References:
                return(VSContextConstants.References);

            case ContextLevels.Item:
                return(VSContextConstants.Item);

            case ContextLevels.WebReferences:
                return(VSContextConstants.WebReferences);

            case ContextLevels.Folder:
                return(VSContextConstants.Folder);

            case ContextLevels.MenuBar:
                return(VSContextConstants.MenuBar);

            case ContextLevels.CodeWindow:
                return(VSContextConstants.CodeWindow);

            case ContextLevels.AspxContext:
                return(VSContextConstants.AspxContext);

            case ContextLevels.HtmlContext:
                return(VSContextConstants.HtmlContext);

            case ContextLevels.HtmlSourceEditing:
                return(VSContextConstants.HtmlSourceEditing);

            case ContextLevels.ScriptContext:
                return(VSContextConstants.ScriptContext);

            default:
                return(VSContextConstants.OtherItem);
            }
        }
示例#3
0
        /// <summary>
        /// Gets the Commandbar Index, Typically 1, but tries to place it right after the Tools menu, if the
        /// menu is to be placed in the Top menu (MenuBar).
        /// </summary>
        /// <param name="controls">The command bar controls.</param>
        /// <param name="level">The level.</param>
        /// <returns>Command bar index.</returns>
        private static int GetCommandbarIndex(CommandBarControls controls, ContextLevels level)
        {
            switch (level)
            {
            case ContextLevels.MenuBar:
                for (int i = 1; i <= controls.Count; i++)
                {
                    if (controls[i].accName == "Tools")
                    {
                        return(i + 1);
                    }
                }

                return(controls.Count + 1);

            default:
                return(1);
            }
        }
示例#4
0
        /// <summary>
        /// Adds the visual studio  main menu item.
        /// </summary>
        /// <param name="commandBarName">Name of the command bar.</param>
        /// <param name="menuName">name of the menu.</param>
        /// <param name="level">Context level where menu needs to appear.</param>
        /// <returns>CommandBarPopup Object</returns>
        private CommandBarPopup AddVSMainMenuItem(string commandBarName, string menuName, ContextLevels level)
        {
            var controls   = this.GetVSMainMenu(commandBarName, 1).Controls;
            var vsmainMenu = controls.Add(MsoControlType.msoControlPopup, Missing.Value, Missing.Value, GetCommandbarIndex(controls, level), true) as CommandBarPopup;

            vsmainMenu.Caption     = menuName;
            vsmainMenu.TooltipText = string.Empty;
            vsmainMenu.Tag         = Guid.NewGuid().ToString();
            return(vsmainMenu);
        }
示例#5
0
        /// <summary>
        /// Builds the menu.
        /// </summary>
        /// <param name="level">Context level where menu needs to be dispalyed.</param>
        private void BuildMenu(ContextLevels level)
        {
            // Build Root Menu
            CommandBarPopup menu     = this.AddVSMainMenuItem(VSContextUtility.ContextToVSContext(level), IntuitAnywhereResources.mainmenu, level);
            int             position = 1;

            // Build Sub Items
            CommandBarButton javaScriptLibrary = AddVSMenuItem(menu, IntuitAnywhereResources.menu01, position++, false, IntuitAnywhereResources.JSlibrary);
            CommandBarButton openID            = AddVSMenuItem(menu, IntuitAnywhereResources.menu02, position++, false, IntuitAnywhereResources.openid);

            CommandBarButton connecttoQuickBooks   = AddVSMenuItem(menu, IntuitAnywhereResources.menu03, position++, false, IntuitAnywhereResources.connect_to_qb_16);
            CommandBarButton addBlueDotMenu        = AddVSMenuItem(menu, IntuitAnywhereResources.menu04, position++, false, IntuitAnywhereResources.bluedot);
            CommandBarButton addLogoutMenu         = AddVSMenuItem(menu, IntuitAnywhereResources.menu012, position++, false, IntuitAnywhereResources.logout_1);
            CommandBarButton dataServicesSDK       = AddVSMenuItem(menu, IntuitAnywhereResources.menu05, position++, false, IntuitAnywhereResources.Dataservices);
            CommandBarButton dataServicesSDKV3     = AddVSMenuItem(menu, IntuitAnywhereResources.menu11, position++, false, IntuitAnywhereResources.Dataservices);
            CommandBarButton directConnectToIntuit = AddVSMenuItem(menu, IntuitAnywhereResources.menu07, position++, false, IntuitAnywhereResources.directconnect);
            CommandBarButton disconnet             = AddVSMenuItem(menu, IntuitAnywhereResources.menu08, position++, false, IntuitAnywhereResources.disconnect_from_qb_16);
            CommandBarButton sdkDocHelp            = AddVSMenuItem(menu, IntuitAnywhereResources.menu10, position++, false, IntuitAnywhereResources.Help_icon);
            CommandBarButton help = AddVSMenuItem(menu, IntuitAnywhereResources.menu06, position++, false, IntuitAnywhereResources.Help_icon);

            if (level == ContextLevels.MenuBar)
            {
                CommandBarButton ippDocumentation = AddVSMenuItem(menu, IntuitAnywhereResources.menu09, position++, true, IntuitAnywhereResources.docs);
                CommandBarButton ippSupport       = AddVSMenuItem(menu, IntuitAnywhereResources.menu010, position++, false, IntuitAnywhereResources.Support);
                CommandBarButton ippFrontRunner   = AddVSMenuItem(menu, IntuitAnywhereResources.menu011, position++, true, IntuitAnywhereResources.FrontrunnerLogo);

                // Add Event Handlers
                CommandBarEvents ippDocumentationMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(ippDocumentation);
                ippDocumentationMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.IppDocumentationMenuItemHandler_Click);
                this.menuItemHandlerList.Add(ippDocumentationMenuItemHandler);
                CommandBarEvents ippSupportMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(ippSupport);
                ippSupportMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.IppSupportMenuItemHandler_Click);
                this.menuItemHandlerList.Add(ippSupportMenuItemHandler);
                CommandBarEvents ippFrontRunnerMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(ippFrontRunner);
                ippFrontRunnerMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.IppFrontRunnerMenuItemHandler_Click);
                this.menuItemHandlerList.Add(ippFrontRunnerMenuItemHandler);
            }

            // Add Event Handlers
            CommandBarEvents javaScriptLibraryMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(javaScriptLibrary);

            javaScriptLibraryMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.JavaScriptLibraryMenuItemHandler_Click);
            this.menuItemHandlerList.Add(javaScriptLibraryMenuItemHandler);
            CommandBarEvents connecttoQuickBooksMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(connecttoQuickBooks);

            connecttoQuickBooksMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.ConnecttoQuickBooksMenuItemHandler_Click);
            this.menuItemHandlerList.Add(connecttoQuickBooksMenuItemHandler);
            CommandBarEvents addBlueDotMenuMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(addBlueDotMenu);

            addBlueDotMenuMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.AddBlueDotMenuMenuItemHandler_Click);
            this.menuItemHandlerList.Add(addBlueDotMenuMenuItemHandler);
            CommandBarEvents openIDMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(openID);

            openIDMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.OpenIDMenuItemHandler_Click);
            this.menuItemHandlerList.Add(openIDMenuItemHandler);
            CommandBarEvents dataServicesSDKMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(dataServicesSDK);

            dataServicesSDKMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.DataServicesSDKMenuItemHandler_Click);
            this.menuItemHandlerList.Add(dataServicesSDKMenuItemHandler);
            CommandBarEvents dataServicesSDKV3MenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(dataServicesSDKV3);

            dataServicesSDKV3MenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.DataServicesSDKV3MenuItemHandler_Click);
            this.menuItemHandlerList.Add(dataServicesSDKV3MenuItemHandler);
            CommandBarEvents directConnectToIntuitMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(directConnectToIntuit);

            directConnectToIntuitMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.DirectConnectToIntuitMenuItemHandler_Click);
            this.menuItemHandlerList.Add(directConnectToIntuitMenuItemHandler);
            CommandBarEvents disconnetMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(disconnet);

            disconnetMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.DisconnetMenuItemHandler_Click);
            this.menuItemHandlerList.Add(disconnetMenuItemHandler);
            CommandBarEvents helpMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(help);

            helpMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.HelpMenuItemHandler_Click);
            this.menuItemHandlerList.Add(helpMenuItemHandler);
            CommandBarEvents sdkDocHelpMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(sdkDocHelp);

            sdkDocHelpMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.SdkDocHelpMenuItemHandler_Click);
            this.menuItemHandlerList.Add(sdkDocHelpMenuItemHandler);
            CommandBarEvents logoutMenuItemHandler = (EnvDTE.CommandBarEvents) this.visualStudio.DTE.Events.get_CommandBarEvents(addLogoutMenu);

            logoutMenuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(this.AddLogoutMenuItemHandler_Click);
            this.menuItemHandlerList.Add(logoutMenuItemHandler);
        }