public bool ContainsControl(CommandBarControls ctrls, string name) { foreach (var ctrl in ctrls) if (((CommandBarControl)ctrl).accName.Equals(name)) return true; return false; }
public void EnumerateMenuControls(DTE_Output InOutput) { CommandBarControls controls = mBar.Controls; foreach (CommandBarControl control in controls) { Microsoft.VisualStudio.CommandBars.MsoControlType msoType = control.Type; InOutput.WriteLine( "Control Caption: " + control.Caption + " type: " + msoType.ToString() + " Enabled: " + control.Enabled.ToString()); InOutput.WriteLine(" DescriptionText: " + control.DescriptionText); InOutput.WriteLine(" TooltipText: " + control.TooltipText); InOutput.WriteLine( " Index: " + control.Index.ToString() + " Id: " + control.Id.ToString()); Command cmd = mMain.Commandsx.Item(control.Id, -1); string cmdName = cmd.Name; if (control.Type == MsoControlType.msoControlButton) { CommandBarButton but = (CommandBarButton)control; DTE_Button dbut = new DTE_Button(mMain, control); InOutput.WriteLine(" " + dbut.Command.Name + " guid: " + dbut.CommandGuid + " LocalizedName:" + dbut.Command.command.LocalizedName); DTE_Addin addin = mMain.FindAddinByGuid(dbut.CommandGuid); if (addin != null) { InOutput.WriteLine(" addin progid:" + addin.ProgId); } } } }
public void AddCommandMenu(string commandName, string menuName, string menuText, string description, string shortCut, string helpTopic) { try // Basically suppress problems here..? { CommandBarPopup menu; if (!_foundMenus.TryGetValue(menuName, out menu)) { // We've not seen this menu before // Check if the menu exists CommandBars commandBars = ExcelCommandBarUtil.GetCommandBars(); CommandBar worksheetBar = commandBars[1]; CommandBarControls controls = worksheetBar.Controls; int controlCount = controls.Count(); for (int i = 1; i <= controlCount; i++) { CommandBarControl control = controls[i]; if (control.Caption == menuName && control is CommandBarPopup) { menu = (CommandBarPopup)control; _foundMenus[menuName] = menu; break; } } if (menu == null) { // Make a new menu menu = controls.AddPopup(menuName); menu.Caption = menuName; _addedMenus.Add(menu); _foundMenus[menuName] = menu; } } CommandBarControls menuButtons = menu.Controls; int buttonCount = menu.Controls.Count(); for (int i = 1; i <= buttonCount; i++) { CommandBarControl button = menuButtons[i]; if (button.Caption == menuText && button is CommandBarButton) { button.OnAction = commandName; return; } } // If we're here, need to add a button. CommandBarButton newButton = menuButtons.AddButton(); newButton.Caption = menuText; newButton.OnAction = commandName; _addedButtons.Add(newButton); } catch (Exception e) { Logger.Initialization.Error(e, "MenuManager.AddCommandMenu Error"); } }
private void BindParentMenuItem <TParentMenu>(CommandBarControls parent, int beforeIndex, IEnumerable <IMenuItem> items) { _kernel.Bind <IParentMenuItem>().To(typeof(TParentMenu)) .WhenInjectedInto <IAppMenu>() .InCallScope() .WithConstructorArgument("items", items) .WithConstructorArgument("beforeIndex", beforeIndex) .WithPropertyValue("Parent", parent); }
public void Initialize(CommandBarControls menuControls) { var menu = menuControls.Add(MsoControlType.msoControlPopup, Temporary: true) as CommandBarPopup; menu.Caption = "Te&st"; _windowsTestExplorerButton = AddButton(menu, "&Test Explorer", false, new CommandBarButtonClickEvent(OnTestExplorerButtonClick), Resources.TestManager_8590_32); _runAllTestsButton = AddButton(menu, "&Run All Tests", true, new CommandBarButtonClickEvent(OnRunAllTestsButtonClick), Resources.AllLoadedTests_8644_24); }
public void Initialize(CommandBarControls menuControls) { _codeInspectionsButton = menuControls.Add(MsoControlType.msoControlButton, Temporary: true) as CommandBarButton; Debug.Assert(_codeInspectionsButton != null); _codeInspectionsButton.Caption = "Code &Inspections"; _codeInspectionsButton.Click += OnCodeInspectionsButtonClick; }
public void BuildMenu(CommandBarControls menu, MenuXml rootNode) { var root = addSubMenu(menu, "MoreMenus"); var visitor = new Visitor(this, root); foreach (var item in rootNode.Items) { item.Accept(visitor); } }
private CommandBarControl addItem(CommandBarControls popup, string name) { CommandBarControl ctrl = popup.Add( MsoControlType.msoControlButton, Type.Missing, Type.Missing); ctrl.Caption = name; return(ctrl); }
private CommandBarPopup addSubMenu(CommandBarControls popup, string name) { CommandBarControl ctrl = popup.Add( MsoControlType.msoControlPopup, Type.Missing, Type.Missing); ctrl.Caption = name; return((CommandBarPopup)ctrl); }
public void Initialize(CommandBarControls menuControls) { _codeExplorerButton = menuControls.Add(MsoControlType.msoControlButton, Temporary: true) as CommandBarButton; Debug.Assert(_codeExplorerButton != null); _codeExplorerButton.Caption = "&Code Explorer"; _codeExplorerButton.BeginGroup = true; _codeExplorerButton.FaceId = 3039; _codeExplorerButton.Click += OnCodeExplorerButtonClick; }
public bool ContainsControl(CommandBarControls ctrls, string name) { foreach (var ctrl in ctrls) { if (((CommandBarControl)ctrl).accName.Equals(name)) { return(true); } } return(false); }
public void Initialize(CommandBarControls menuControls) { var menu = menuControls.Add(Type: MsoControlType.msoControlPopup, Temporary: true) as CommandBarPopup; menu.Caption = "&Refactor"; _extractMethodButton = AddButton(menu, "Extract &Method", false, OnExtractMethodButtonClick, Resources.ExtractMethod_6786_32); _renameButton = AddButton(menu, "&Rename", false, OnRenameButtonClick); InitializeRefactorContextMenu(); }
public void Initialize(CommandBarControls menuControls) { var menu = menuControls.Add(Type: MsoControlType.msoControlPopup, Temporary: true) as CommandBarPopup; menu.Caption = "&Refactor"; _parseModuleButton = AddMenuButton(menu); _parseModuleButton.Caption = "&Parse module"; _parseModuleButton.FaceId = 3039; _parseModuleButton.Click += OnParseModuleButtonClick; }
public void Initialize(CommandBarControls menuControls) { _todoItemsButton = menuControls.Add(MsoControlType.msoControlButton, Temporary: true) as CommandBarButton; Debug.Assert(_todoItemsButton != null); _todoItemsButton.Caption = "&ToDo Items"; const int clipboardWithCheck = 837; _todoItemsButton.FaceId = clipboardWithCheck; _todoItemsButton.Click += OnShowTaskListButtonClick; }
CommandBarControl AddButton( CommandBarControls Controls, XTPControlType ControlType, int Id, string Caption, bool BeginGroup, string DescriptionText, XTPButtonStyle ButtonStyle, string Category ) { CommandBarControl Control = Controls.Add( ControlType, Id, Caption, -1, false ); Control.BeginGroup = BeginGroup; Control.DescriptionText = DescriptionText; Control.Category = Category; if ( Control is CommandBarButton ) { ( (CommandBarButton)Control ).Style = ButtonStyle; } return Control; }
private void AddRightClickMenu() { // 添加右键按钮 CommandBarControls controls = textCommandBar.Controls; CommandBarButton addBtn = (CommandBarButton)controls.Add(Office.MsoControlType.msoControlButton, missing, missing, missing, true); addBtn.BeginGroup = true; addBtn.Tag = "BookMarkAddin"; addBtn.Caption = "Add Bookmark"; addBtn.Enabled = true; addBtn.Click += new Office._CommandBarButtonEvents_ClickEventHandler(RightClickMenuHandler); }
/// <summary> /// Finds the index for insertion in a given CommandBarControls collection. /// Returns the last position if the given beforeControl caption is not found. /// </summary> /// <param name="controls">The collection to insert into.</param> /// <param name="beforeId">Caption of the control to insert before.</param> /// <returns></returns> protected int FindMenuInsertionIndex(CommandBarControls controls, int beforeId) { for (var i = 1; i <= controls.Count; i++) { if (controls[i].BuiltIn && controls[i].Id == beforeId) { return(i); } } return(controls.Count); }
private static int FindRubberduckMenuInsertionIndex(CommandBarControls controls, int beforeId) { for (var i = 1; i <= controls.Count; i++) { if (controls[i].BuiltIn && controls[i].Id == beforeId) { return(i); } } return(controls.Count); }
CommandBarControl AddButton(CommandBarControls Controls, XTPControlType ControlType, int Id, string Caption, bool BeginGroup, string DescriptionText, XTPButtonStyle ButtonStyle, string Category) { CommandBarControl Control = Controls.Add(ControlType, Id, Caption, -1, false); Control.BeginGroup = BeginGroup; Control.DescriptionText = DescriptionText; Control.Category = Category; if (Control is CommandBarButton) { ((CommandBarButton)Control).Style = ButtonStyle; } return(Control); }
/// <summary> /// Returns the proxy object in the given window. /// </summary> /// <param name="window">The window to search through.</param> /// <returns>A CommandBarControl that was created from this control on the given window.</returns> public CommandBarControl GetCommandBarControl(OfficeWindow window) { CommandBarControls controls = Parent.FindCommandBarControls(window); foreach (CommandBarControl control in controls) { if (control.Tag.StartsWith(InternalTag + "#")) { return(control); } } return(null); }
private int FindMenuInsertionIndex(CommandBarControls controls) { for (var i = 1; i <= controls.Count; i++) { // insert menu before "Window" built-in menu: if (controls[i].BuiltIn && controls[i].Caption == "&Window") { return(i); } } return(controls.Count); }
private CommandBarPopup GetCommandBarControlOrNull(CommandBarControls controlsCollection, string controlKey) { CommandBarPopup found = null; foreach (CommandBarControl thisControl in controlsCollection) { if (thisControl is CommandBarPopup && ((CommandBarPopup)thisControl).CommandBar.Name == controlKey) { found = (CommandBarPopup)thisControl; } } return(found); }
public void Initialize(CommandBarControls menuControls) { _menuControls = menuControls; _menu = menuControls.Add(MsoControlType.msoControlPopup, Temporary: true) as CommandBarPopup; _menu.Caption = RubberduckUI.RubberduckMenu_UnitTests; _windowsTestExplorerButton = AddButton(_menu, RubberduckUI.TestMenu_TextExplorer, false, OnTestExplorerButtonClick); SetButtonImage(_windowsTestExplorerButton, Resources.TestManager_8590_32, Resources.TestManager_8590_32_Mask); _runAllTestsButton = AddButton(_menu, RubberduckUI.TestMenu_RunAllTests, true, OnRunAllTestsButtonClick); SetButtonImage(_runAllTestsButton, Resources.AllLoadedTests_8644_24, Resources.AllLoadedTests_8644_24_Mask); }
private CommandBarPopup getPopup(CommandBarControls controls, string name) { var enu = controls.GetEnumerator(); while (enu.MoveNext()) { var control = (CommandBarPopup)enu.Current; if (control.accName == name) { return(control); } } return(null); }
/// <summary> /// Delete all CommandBarControl objects that were tagged using this VSAddIn. /// </summary> protected void DeleteControls() { CommandBarControls controls = DTE.CommandBars.FindControls(System.Reflection.Missing.Value, System.Reflection.Missing.Value, addInInstance.ProgID, System.Reflection.Missing.Value); foreach (CommandBarControl control in controls) { control.Delete(false); } foreach (CommandBar commandBar in _commandBars) { DTE.Commands.RemoveCommandBar(commandBar); } }
internal override void Dispose(bool disposing) { if (disposing) { // Free managed if (_controls != null && !_controls.IsDisposed) { _controls.Dispose(); _controls = null; } } base.Dispose(true); }
/// <summary> Create a menu and its submenus and manage their actions</summary> /// <param name="parentControls">Control where the menu must be inserted</param> /// <param name="contextualMenu">Menu to insert</param> private void CreateMenus(CommandBarControls parentControls, IContextualMenu contextualMenu) { if (contextualMenu != null && contextualMenu.Items != null) { foreach (IContextualPart part in contextualMenu.Items) { if (part is IContextualMenu) { IContextualMenu contextualSubMenu = part as IContextualMenu; CommandBarPopup subMenu = (CommandBarPopup)parentControls.Add(MsoControlType.msoControlPopup, Type.Missing, Type.Missing, Type.Missing, true); subMenu.Caption = contextualSubMenu.Caption; subMenu.BeginGroup = contextualSubMenu.BeginGroup; CreateMenus(subMenu.Controls, contextualSubMenu); } else { ContextualMenuItem contextualMenuItem = part as ContextualMenuItem; if (contextualMenuItem != null) { MsoControlType menuItem = MsoControlType.msoControlButton; CommandBarButton commandBarButton = (CommandBarButton)parentControls.Add(menuItem, Type.Missing, Type.Missing, Type.Missing, true); commandBarButton.Style = MsoButtonStyle.msoButtonIconAndCaption; commandBarButton.Caption = contextualMenuItem.Caption; commandBarButton.BeginGroup = contextualMenuItem.BeginGroup; if (contextualMenuItem.FaceId != 0) { commandBarButton.FaceId = contextualMenuItem.FaceId; } commandBarButton.Click += (CommandBarButton ctrl, ref bool cancel1) => { try { if (contextualMenuItem.Action != null) { contextualMenuItem.Action(); } } catch (Exception ex) { string methodName = contextualMenuItem.MethodInfo == null ? string.Empty : contextualMenuItem.MethodInfo.Name; throw new EtkException($"Contextual menu: '{methodName}' invocation failed: {ex.Message}."); } }; } } } } }
private int GetItemIndex(CommandBarControls commandBarControls) { int index = 2; foreach (CommandBarControl item in commandBarControls) { if (item.Caption.Equals("New &Project...")) { break; } index++; } return index; }
/// <summary> /// Determines whether one of the specified command bar controls is associated with the specified command. /// </summary> private bool ContainsCommand(CommandBarControls commandBarControls, Command ideCommand) { foreach (CommandBarControl commandBarControl in commandBarControls) { string commandGuid; int commandId; application.Commands.CommandInfo(commandBarControl, out commandGuid, out commandId); Command controlCommand = application.Commands.Item(commandGuid, commandId); if (ideCommand.Equals(controlCommand)) { return(true); } } return(false); }
public void Initialize(CommandBarControls menuControls) { var menu = menuControls.Add(MsoControlType.msoControlPopup, Temporary: true) as CommandBarPopup; Debug.Assert(menu != null); menu.Caption = "Te&st"; _windowsTestExplorerButton = AddMenuButton(menu, "&Test Explorer", Resources.TestManager_8590_32); _windowsTestExplorerButton.Click += OnTestExplorerButtonClick; _runAllTestsButton = AddMenuButton(menu, "&Run All Tests", Resources.AllLoadedTests_8644_24); _runAllTestsButton.BeginGroup = true; _runAllTestsButton.Click += OnRunAllTestsButtonClick; }
private int GetItemIndex(CommandBarControls commandBarControls) { int index = 2; foreach (CommandBarControl item in commandBarControls) { if (item.Caption.Equals("New &Project...")) { break; } index++; } return(index); }
// Méthode jouée si contextmenu affiché sur une entrée private void addEntrytoContextMenu(CommandBar menu, Outlook.Selection Selection) { if (Selection.Count == 1 && Selection[1] is Outlook.MailItem) { CommandBarControls controls = menu.Controls; this.addActionButton = (CommandBarButton)controls.Add(MsoControlType.msoControlButton, 1, "", 1, true); this.addActionButton.FaceId = 341; this.addActionButton.Style = MsoButtonStyle.msoButtonIconAndCaption; this.addActionButton.Caption = "TaskLeader: ajouter à une action"; this.addActionButton.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(getSelectedItem); this.addActionButton.Visible = true; Marshal.FinalReleaseComObject(controls); } }
public void Initialize(CommandBarControls menuControls) { _menu = menuControls.Add(MsoControlType.msoControlPopup, Temporary: true) as CommandBarPopup; _menu.Caption = RubberduckUI.RubberduckMenu_Refactor; _extractMethodButton = AddButton(_menu, RubberduckUI.RefactorMenu_ExtractMethod, false, OnExtractMethodButtonClick); SetButtonImage(_extractMethodButton, Resources.ExtractMethod_6786_32, Resources.ExtractMethod_6786_32_Mask); _renameButton = AddButton(_menu, RubberduckUI.RefactorMenu_Rename, false, OnRenameButtonClick); _reorderParametersButton = AddButton(_menu, RubberduckUI.RefactorMenu_ReorderParameters, false, OnReorderParametersButtonClick, Resources.ReorderParameters_6780_32); SetButtonImage(_reorderParametersButton, Resources.ReorderParameters_6780_32, Resources.ReorderParameters_6780_32_Mask); _removeParametersButton = AddButton(_menu, RubberduckUI.RefactorMenu_RemoveParameter, false, OnRemoveParameterButtonClick); SetButtonImage(_removeParametersButton, Resources.RemoveParameters_6781_32, Resources.RemoveParameters_6781_32_Mask); InitializeRefactorContextMenu(); }
private static IEnumerable <CommandBarControl> GetLeafControls(CommandBarControls controls) { ISet <CommandBarControl> leafs = new HashSet <CommandBarControl>(); foreach (CommandBarControl commandBarControl in controls) { var popup = commandBarControl as CommandBarPopup; if (popup != null) { leafs.AddRange(GetLeafControls(popup.Controls)); } else { // TODO @Sven: Find parent of "Bug" button in popup and see why its siblings are not captured!!! leafs.Add(commandBarControl); } } return(leafs); }
private CommandBarPopup getPopup(CommandBarControls controls, string name) { var enu = controls.GetEnumerator(); while (enu.MoveNext()) { var control = (CommandBarPopup)enu.Current; if (control.accName == name) return control; } return null; }
static void RecurseCommands(CommandBarControls controls) { foreach (CommandBarControl control in controls) { try { if (control.accChildCount > 0 && control.Type == MsoControlType.msoControlPopup) { CommandBarPopup popup = control as CommandBarPopup; if (popup != null) RecurseCommands(popup.Controls); } } catch { } string caption = null; try { caption = control.Caption; } catch { // Swallow } // Ankh and AnkhSVN (without accelerators) have been installed by all versions prior to 0.6.0 snapshot 33 // Later versions didn't replace this with an item with accelerator, so we still have to check for them when migrating if (caption == "An&kh" || caption == "Ankh" || caption == "An&khSVN" || caption == "AnkhSVN" || caption == "WorkingCopyExplorer" || caption == "ReposExplorer") { control.Delete(false); //Debug.WriteLine(GetPath(control)); } } }
CommandBarControl AddButton( CommandBarControls Controls, XTPControlType ControlType, int Id, string Caption ) { return AddButton( Controls, ControlType, Id, Caption, false, "" ); }
CommandBarControl AddButton( CommandBarControls Controls, XTPControlType ControlType, int Id, string Caption, bool BeginGroup ) { return AddButton( Controls, ControlType, Id, Caption, BeginGroup, "" ); }
CommandBarControl AddButton( CommandBarControls Controls, XTPControlType ControlType, int Id, string Caption, bool BeginGroup, string DescriptionText ) { return AddButton( Controls, ControlType, Id, Caption, BeginGroup, "", XTPButtonStyle.xtpButtonAutomatic, "Controls" ); }
/// <summary> /// Finds the index for insertion in a given CommandBarControls collection. /// Returns the last position if the given beforeControl caption is not found. /// </summary> /// <param name="controls">The collection to insert into.</param> /// <param name="beforeId">Caption of the control to insert before.</param> /// <returns></returns> protected int FindMenuInsertionIndex(CommandBarControls controls, int beforeId) { for (var i = 1; i <= controls.Count; i++) { if (controls[i].BuiltIn && controls[i].Id == beforeId) { return i; } } return controls.Count; }
private CommandBarPopup GetCommandBarControlOrNull(CommandBarControls controlsCollection, string controlKey) { CommandBarPopup found = null; foreach (CommandBarControl thisControl in controlsCollection) if (thisControl is CommandBarPopup && ((CommandBarPopup)thisControl).CommandBar.Name == controlKey) found = (CommandBarPopup)thisControl; return found; }