/// <summary> /// Hears button clicks for any custom CommandBarComboBox. /// <seealso cref="Microsoft.Office._CommandBarComboBoxEvents_ChangeEventHandler"/> /// </summary> /// <param name="Ctrl">The combo box that was changed.</param> private void combo_Change(CommandBarComboBox Ctrl) { ToolbarComboBox control = (ToolbarComboBox)controlControlMap[Ctrl.Tag]; OfficeWindow window = (OfficeWindow)controlWindowMap[Ctrl.Tag]; control.OnChange(window); }
/// <summary> /// Applies combo box specific settings to the control. /// </summary> /// <param name="window">The window holding the control.</param> /// <param name="control">The control proxy.</param> private void InternalApply(OfficeWindow window, CommandBarComboBox control) { control.Style = style; control.DropDownLines = dropDownLines; control.DropDownWidth = dropDownWidth; control.ListHeaderCount = headerCount; control.Clear(); foreach (string item in items) { control.AddItem(item, System.Reflection.Missing.Value); } }
/// <summary> /// Binds to a control to hear events. /// </summary> /// <param name="control">The control to bind to.</param> private void BindControl(CommandBarControl control) { if (control is CommandBarButton) { CommandBarButton button = control as CommandBarButton; button.Click += buttonClick; } else if (control is CommandBarPopup) { CommandBarPopup popup = control as CommandBarPopup; } else if (control is CommandBarComboBox) { CommandBarComboBox combo = control as CommandBarComboBox; combo.Change += comboBoxChange; } }
public CodeMetricWindow(IServiceProvider serviceProvider) { this.Visible = false; this.TabStop = false; this.Dock = DockStyle.Fill; this.serviceProvider = serviceProvider; this.codeMetricManager = new CodeMetricManager(); this.codeMetricManager.Register(new TypeCodeMetric()); this.codeMetricManager.Register(new MethodCodeMetric()); this.codeMetricManager.Register(new ModuleCodeMetric()); this.codeMetricManager.BeginRun += new EventHandler(this.CodeMetricManager_BeginRun); this.codeMetricManager.BeginRunMetric += new CodeMetricEventHandler(this.CodeMetricManager_BeginRunMetric); this.codeMetricManager.EndRun += new EventHandler(this.CodeMetricManager_EndRun); this.codeMetricManager.EndRunMetric += new CodeMetricEventHandler(this.CodeMetricManager_EndRunMetric); this.contentHost = new Control(); this.contentHost.TabStop = false; this.contentHost.Dock = DockStyle.Fill; this.Controls.Add(this.contentHost); this.commandBarManager = new CommandBarManager(); this.commandBar = new CommandBar(this.commandBarManager, CommandBarStyle.ToolBar); this.startButton = this.commandBar.Items.AddButton(CommandBarImages.Refresh, "Start Analysis", new EventHandler(this.StartButton_Click), Keys.Control | Keys.E); this.commandBar.Items.AddSeparator(); this.saveButton = this.commandBar.Items.AddButton(CommandBarImages.Save, "Save", new EventHandler(this.SaveButton_Click), Keys.Control | Keys.S); this.copyButton = this.commandBar.Items.AddButton(CommandBarImages.Copy, "Copy", new EventHandler(this.CopyButton_Click), Keys.Control | Keys.C); this.codeMetricComboBox = this.commandBar.Items.AddComboBox("Code Metric Selector", new ComboBox()); this.codeMetricComboBox.ComboBox.DropDownStyle = ComboBoxStyle.DropDownList; this.codeMetricComboBox.ComboBox.SelectedIndexChanged += new EventHandler(this.CodeMetricComboBox_SelectedIndexChanged); this.commandBarManager.CommandBars.Add(this.commandBar); this.Controls.Add(this.commandBarManager); this.assemblySelector = new AssemblySelectorControl(serviceProvider, this.codeMetricManager); this.NewAnalysis(); }
private CommandState GetCommandState(string commandName, CommandBarControl control) { foreach (CommandState commandState in this.states) { if (commandName == commandState.CommandName) { return(commandState); } } CommandBarButton button = control as CommandBarButton; if (button != null) { CommandButtonState commandState = new CommandButtonState(commandName); this.states.Add(commandState); return(commandState); } CommandBarCheckBox checkBox = control as CommandBarCheckBox; if (checkBox != null) { CommandCheckBoxState commandState = new CommandCheckBoxState(commandName); this.states.Add(commandState); return(commandState); } CommandBarComboBox comboBox = control as CommandBarComboBox; if (comboBox != null) { CommandComboBoxState commandState = new CommandComboBoxState(commandName); this.states.Add(commandState); return(commandState); } throw new NotSupportedException(); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Saves the toolbar settings. /// </summary> /// ------------------------------------------------------------------------------------ protected void SaveToolbarSettings() { Settings settings = Settings.Default; settings.ToolbarPos = new System.Drawing.Point(m_cmdBar.Left, m_cmdBar.Top); settings.ToolbarVisible = m_cmdBar.Visible; settings.ToolbarState = (int)m_cmdBar.Position; settings.ToolbarRowIndex = m_cmdBar.RowIndex; settings.AddinEnabled = m_nantCommands.EnableAddin; if (m_nantCommands.m_cmbBuild != null) { CommandBarComboBox cbox = m_nantCommands.m_cmbBuild; StringCollection commands = new StringCollection(); for (int i = cbox.ListCount; i > 0; i--) { commands.Add(cbox.get_List(i)); } settings.BuildCommands = commands; } settings.Save(); }
/// <summary>Implements the OnConnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being loaded.</summary> /// <param term='application'>Root object of the host application.</param> /// <param term='connectMode'>Describes how the Add-in is being loaded.</param> /// <param term='addInInst'>Object representing this Add-in.</param> /// <seealso class='IDTExtensibility2' /> public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { try { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; var container = new Container(); _exceptionManager = container.GetIExceptionManager(); _controller = container.GetAddinController(_applicationObject); _debugHook = container.GetDebugHook(_applicationObject); _debugHook.Hook(); _settingsManager = container.GetIDsmSettingsManager(); if ((connectMode == ext_ConnectMode.ext_cm_Startup) || (connectMode == ext_ConnectMode.ext_cm_AfterStartup)) { //_settings = Settings.Default; //_settings.Reload(); CommandBars commandBars = (CommandBars)_applicationObject.CommandBars; // Create a toolbar for this app string managerToolbarName = "Document Session Manager"; managerToolbar = null; //try //{ // managerToolbar = ((Microsoft.VisualStudio.CommandBars.CommandBars)this._applicationObject.CommandBars)[managerToolbarName]; //} //catch (ArgumentException) //{ //} if (managerToolbar == null) { managerToolbar = (CommandBar)commandBars.Add(managerToolbarName, MsoBarPosition.msoBarTop, System.Type.Missing, true); _settingsManager.LoadSettings(); managerToolbar.Position = (MsoBarPosition)Enum.Parse(typeof(MsoBarPosition), _settingsManager.DsmSettings.ToolBarPosition ?? MsoBarPosition.msoBarTop.ToString()); managerToolbar.RowIndex = _settingsManager.DsmSettings.ToolBarRowIndex; managerToolbar.Visible = _settingsManager.DsmSettings.ToolBarVisible; if (_settingsManager.DsmSettings.ToolBarTop != -1) { managerToolbar.Top = _settingsManager.DsmSettings.ToolBarTop; } if (_settingsManager.DsmSettings.ToolBarLeft != -1) { managerToolbar.Left = _settingsManager.DsmSettings.ToolBarLeft; } //if (_settingsManager.DsmSettings.ToolBarWidth != -1) // managerToolbar.Width = _settingsManager.DsmSettings.ToolBarWidth; //if (_settingsManager.DsmSettings.ToolBarHeight != -1) // managerToolbar.Height = _settingsManager.DsmSettings.ToolBarHeight; } object controlCreated; _controlsCreated.Clear(); //PictureManager.CommandButtons.Clear(); AddCommand(managerToolbar, "DsmSessionList", "DsmSessionList", "Sessions", vsCommandControlType.vsCommandControlTypeDropDownCombo, 1, vsCommandStyle.vsCommandStyleComboCaseSensitive, 0, out controlCreated); CommandBarComboBox combo = controlCreated as CommandBarComboBox; if (combo != null) { combo.Width = 200; } AddCommand(managerToolbar, "DsmLoadSession", "DsmLoadSession", "Load session", vsCommandControlType.vsCommandControlTypeButton, 1, vsCommandStyle.vsCommandStylePict, 2, out controlCreated); AddCommand(managerToolbar, "DsmSaveSessionAs", "DsmSaveSessionAs", "Save session as", vsCommandControlType.vsCommandControlTypeButton, 2, vsCommandStyle.vsCommandStylePict, 6, out controlCreated); AddCommand(managerToolbar, "DsmSaveSession", "DsmSaveSession", "Save session", vsCommandControlType.vsCommandControlTypeButton, 3, vsCommandStyle.vsCommandStylePict, 5, out controlCreated); AddCommand(managerToolbar, "DsmDeleteSessions", "DsmDeleteSessions", "Delete sessions", vsCommandControlType.vsCommandControlTypeButton, 4, vsCommandStyle.vsCommandStylePict, 1, out controlCreated); AddCommand(managerToolbar, "DsmReloadSession", "DsmReloadSession", "Reload session", vsCommandControlType.vsCommandControlTypeButton, 5, vsCommandStyle.vsCommandStylePict, 4, out controlCreated); AddCommand(managerToolbar, "DsmRecentlyClosed", "DsmRecentlyClosed", "Recently closed documents", vsCommandControlType.vsCommandControlTypeButton, 6, vsCommandStyle.vsCommandStylePict, 3, out controlCreated); } } catch (Exception ex) { _exceptionManager.HandleException(ex); } }
public CommandBarComboBox AddComboBox(string text, ComboBox comboBox) { CommandBarComboBox item = new CommandBarComboBox(text, comboBox); this.Add(item); return item; }
public CommandBarComboBoxNodeFactory(CommandBarComboBox comboBox) : base(comboBox, false) { _comboBox = comboBox; }
/// <summary> /// Implements the OnConnection method of the IDTExtensibility2 interface. /// Receives notification that the Add-in is being loaded. /// </summary> /// <param term='application'> /// Root object of the host application. /// </param> /// <param term='connectMode'> /// Describes how the Add-in is being loaded. /// </param> /// <param term='addInInst'> /// Object representing this Add-in. /// </param> /// <seealso class='IDTExtensibility2' /> public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) { Mfconsulting.Vsprj2make.RegistryHelper regHlpr = new RegistryHelper(); string [] monoVersions = null; try { monoVersions = regHlpr.GetMonoVersions(); } catch (Exception exc) { // Mono may not be installed MessageBox.Show(exc.Message, "Prj2make Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; // Pull the cord and discontinue loading the add-in } applicationObject = (_DTE)application; addInInstance = (AddIn)addInInst; int selectedIndexForComboBox = 1; EnvDTE.Events events = applicationObject.Events; OutputWindow outputWindow = (OutputWindow)applicationObject.Windows.Item(Constants.vsWindowKindOutput).Object; outputWindowPane = outputWindow.OutputWindowPanes.Add("Prj2Make Messages"); object [] contextGUIDS = new object[] { }; Commands commands = applicationObject.Commands; _CommandBars commandBars = applicationObject.CommandBars; CommandBar cmdBarMonoBarra; CommandBar commandBar = (CommandBar)commandBars["Tools"]; CommandBarPopup popMenu; // Prj2Make popupmenu CommandBarPopup popMenu2; // Explorer Current Project // Creates a more legible representation of the // command bar control collection contained in // the Tools command bar CommandBarControls commandBarControls; commandBarControls = commandBar.Controls; // Create Makefile Command command1 = null; // Generate MonoDevelop files Command command2 = null; // Import MonoDevelop Solutions Command command3 = null; // Run on Mono Command command5 = null; // vsprj2make Options Command command6 = null; // Generate a distribution unit Command command7 = null; // Explore current solution Command command8 = null; // Explore current Project Command command9 = null; // ------------- Add Pop-up menu ---------------- popMenu2 = (CommandBarPopup)commandBarControls.Add( MsoControlType.msoControlPopup, System.Reflection.Missing.Value, // Object ID System.Reflection.Missing.Value, // Object parameters 1, // Object before true); popMenu2.Caption = "&Windows Explore"; // ------------- Add Pop-up menu ---------------- popMenu = (CommandBarPopup)commandBarControls.Add( MsoControlType.msoControlPopup, System.Reflection.Missing.Value, // Object ID System.Reflection.Missing.Value, // Object parameters 1, // Object before true); popMenu.Caption = "Prj&2Make"; // Add the create makefile command -- command1 command1 = CreateNamedCommand( addInInstance, commands, "CreateMake", "Create &Makefile", "Generate Makefile", ref contextGUIDS ); if (command1 == null) { command1 = GetExistingNamedCommand(commands, "vsprj2make.Connect.CreateMake"); } try { command1.AddControl(popMenu.CommandBar, 1); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Add the generate a dist unit command -- command7 command7 = CreateNamedCommand( addInInstance, commands, "GenDistUnit", "Generate Distribution &Unit", "Generates a distribution unit (zip file)", ref contextGUIDS ); if (command7 == null) { command7 = GetExistingNamedCommand(commands, "vsprj2make.Connect.GenDistUnit"); } try { command7.AddControl(popMenu.CommandBar, 2); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Add the GenMDFiles command -- command2 command2 = CreateNamedCommand( addInInstance, commands, "GenMDFiles", "Create Mono&Develop Solution", "Generate MonoDevelop Solution", ref contextGUIDS ); if (command2 == null) { command2 = GetExistingNamedCommand(commands, "vsprj2make.Connect.GenMDFiles"); } try { command2.AddControl(popMenu.CommandBar, 3); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Add the PrjxToCsproj command -- command3 command3 = CreateNamedCommand( addInInstance, commands, "PrjxToCsproj", "&Import MonoDevelop Solution...", "Imports a MonoDevelop Solution", ref contextGUIDS ); if (command3 == null) { command3 = GetExistingNamedCommand(commands, "vsprj2make.Connect.PrjxToCsproj"); } try { command3.AddControl(popMenu.CommandBar, 4); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Add the Ron on Mono command -- command5 command5 = CreateNamedCommand( addInInstance, commands, "RunOnMono", "&Run on Mono", "Run solution on mono", ref contextGUIDS ); if (command5 == null) { command5 = GetExistingNamedCommand(commands, "vsprj2make.Connect.RunOnMono"); } try { command5.AddControl(popMenu.CommandBar, 5); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Add the Options command -- command6 command6 = CreateNamedCommand( addInInstance, commands, "Options", "&Options...", "Options for prj2make Add-in", ref contextGUIDS ); if (command6 == null) { command6 = GetExistingNamedCommand(commands, "vsprj2make.Connect.Options"); } try { command6.AddControl(popMenu.CommandBar, 6); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Add the ExploreCurrSln command -- command8 command8 = CreateNamedCommand( addInInstance, commands, "ExploreCurrSln", "Current &Solution", "Explore the current solution", ref contextGUIDS ); if (command8 == null) { command8 = GetExistingNamedCommand(commands, "vsprj2make.Connect.ExploreCurrSln"); } try { command8.AddControl(popMenu2.CommandBar, 1); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Add the ExploreCurrDoc command -- command9 command9 = CreateNamedCommand( addInInstance, commands, "ExploreCurrDoc", "Current &Document", "Explore the current Document", ref contextGUIDS ); if (command9 == null) { command9 = GetExistingNamedCommand(commands, "vsprj2make.Connect.ExploreCurrDoc"); } try { command9.AddControl(popMenu2.CommandBar, 2); } catch (System.Exception exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Mono Toolbar CommandBar cmdBarBuild = (CommandBar)commandBars["Build"]; try { cmdBarMonoBarra = (CommandBar)commandBars["MonoBarra"]; } catch (Exception) { commands.AddCommandBar("MonoBarra", vsCommandBarType.vsCommandBarTypeToolbar, cmdBarBuild, 1 ); cmdBarMonoBarra = (CommandBar)commandBars["MonoBarra"]; cmdBarMonoBarra.Visible = true; } if (testInMonoCommandBarButton == null) { // Create the Ron on Mono Button testInMonoCommandBarButton = (CommandBarButton)cmdBarMonoBarra.Controls.Add( Microsoft.Office.Core.MsoControlType.msoControlButton, System.Reflection.Missing.Value, System.Reflection.Missing.Value, 1, false ); testInMonoCommandBarButton.Caption = "Run on &Mono"; testInMonoCommandBarButton.DescriptionText = "Run solution with the mono runtime"; testInMonoCommandBarButton.TooltipText = "Run on mono"; testInMonoCommandBarButton.ShortcutText = "Run on &Mono"; testInMonoCommandBarButton.Style = MsoButtonStyle.msoButtonCaption; testInMonoCommandBarButton.Click += new _CommandBarButtonEvents_ClickEventHandler(testInMonoCommandBarButton_Click); } if (versionComboBox == null) { // Create the combobox versionComboBox = (CommandBarComboBox)cmdBarMonoBarra.Controls.Add( Microsoft.Office.Core.MsoControlType.msoControlDropdown, System.Reflection.Missing.Value, System.Reflection.Missing.Value, 2, false ); for (int i = 0; i < monoVersions.Length; i++) { versionComboBox.AddItem(monoVersions[i], i + 1); if (monoVersions[i].CompareTo(regHlpr.GetDefaultClr()) == 0) { selectedIndexForComboBox = i + 1; } } versionComboBox.Change += new _CommandBarComboBoxEvents_ChangeEventHandler(versionComboBox_Change); // Select the active index based on // the current mono version versionComboBox.ListIndex = selectedIndexForComboBox; } }
/// <summary>Implements the OnConnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being loaded.</summary> /// <param term='application'>Root object of the host application.</param> /// <param term='connectMode'>Describes how the Add-in is being loaded.</param> /// <param term='addInInst'>Object representing this Add-in.</param> /// <seealso class='IDTExtensibility2' /> public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { Mfconsulting.Vsprj2make.RegistryHelper regHlpr = new RegistryHelper(); string[] monoVersions = regHlpr.GetMonoVersions(); _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; int selectedIndexForComboBox = 1; OutputWindow outputWindow = (OutputWindow)_applicationObject.Windows.Item(Constants.vsWindowKindOutput).Object; outputWindowPane = outputWindow.OutputWindowPanes.Add("Monoaddin Messages"); if (connectMode == ext_ConnectMode.ext_cm_AfterStartup) { object [] contextGUIDS = new object[] { }; Commands2 commands = (Commands2)_applicationObject.Commands; string toolsMenuName; _CommandBars commandBars = (Microsoft.VisualStudio.CommandBars._CommandBars)_applicationObject.CommandBars; CommandBar cmdBarMonoBarra; CommandBarPopup popMenu; // Prj2Make popupmenu CommandBarPopup popMenu2; // Explorer Current Project try { //If you would like to move the command to a different menu, change the word "Tools" to the // English version of the menu. This code will take the culture, append on the name of the menu // then add the command to that menu. You can find a list of all the top-level menus in the file // CommandBar.resx. ResourceManager resourceManager = new ResourceManager("monoaddin.CommandBar", Assembly.GetExecutingAssembly()); CultureInfo cultureInfo = new System.Globalization.CultureInfo(_applicationObject.LocaleID); string resourceName = String.Concat(cultureInfo.TwoLetterISOLanguageName, "Tools"); toolsMenuName = resourceManager.GetString(resourceName); } catch { //We tried to find a localized version of the word Tools, but one was not found. // Default to the en-US word, which may work for the current culture. toolsMenuName = "Tools"; } //Place the command on the tools menu. //Find the MenuBar command bar, which is the top-level command bar holding all the main menu items: Microsoft.VisualStudio.CommandBars.CommandBar menuBarCommandBar = ( (Microsoft.VisualStudio.CommandBars.CommandBars)_applicationObject.CommandBars)["MenuBar"]; //Find the Tools command bar on the MenuBar command bar: CommandBarControl toolsControl = menuBarCommandBar.Controls[toolsMenuName]; CommandBarControls commandBarControls; commandBarControls = ((CommandBarPopup)toolsControl).Controls; // Create Makefile Command command1 = null; // Generate MonoDevelop files Command command2 = null; // Generate a distribution unit Command command3 = null; // Import MonoDevelop Solutions Command command4 = null; // Run on Mono Command command5 = null; // vsprj2make Options Command command6 = null; // Explore current solution Command command7 = null; // Explore current Project Command command8 = null; // ------------- Add Pop-up menu ---------------- popMenu2 = (CommandBarPopup)commandBarControls.Add( MsoControlType.msoControlPopup, System.Reflection.Missing.Value, // Object ID System.Reflection.Missing.Value, // Object parameters 1, // Object before true ); popMenu2.Caption = "&Windows Explore"; // ------------- Add Pop-up menu ---------------- popMenu = (CommandBarPopup)commandBarControls.Add( MsoControlType.msoControlPopup, System.Reflection.Missing.Value, // Object ID System.Reflection.Missing.Value, // Object parameters 1, // Object before true ); popMenu.Caption = "Prj&2Make"; //This try/catch block can be duplicated if you wish to add multiple commands to be handled by your Add-in, // just make sure you also update the QueryStatus/Exec method to include the new command names. try { // Add the create makefile command -- command1 //command1 = commands.AddNamedCommand2( // _addInInstance, "CreateMake", "Create &Makefile", // "Generate Makefile", true, 59, ref contextGUIDS, // (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, // (int)vsCommandStyle.vsCommandStylePictAndText, // vsCommandControlType.vsCommandControlTypeButton //); // Add the create makefile command -- command1 command1 = CreateNamedCommand( _addInInstance, commands, "CreateMake", "Create &Makefile", "Generate Makefile", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command1 == null) && (popMenu != null)) { command1 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.CreateMake"); command1.AddControl(popMenu.CommandBar, 1); } } catch (System.ArgumentException exc) { //If we are here, then the exception is probably because a command with that name // already exists. If so there is no need to recreate the command and we can // safely ignore the exception. Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } try { // Add the GenMDFiles command -- command2 command2 = CreateNamedCommand( _addInInstance, commands, "GenMDFiles", "Create Mono&Develop Solution", "Generate MonoDevelop Solution", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command2 == null) && (popMenu != null)) { command2 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.GenMDFiles"); command2.AddControl(popMenu.CommandBar, 2); } } catch (System.ArgumentException exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } try { // Add the generate a dist unit command -- command3 command3 = CreateNamedCommand( _addInInstance, commands, "GenDistUnit", "Generate Distribution &Unit", "Generates a distribution unit (zip file)", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command3 == null) && (popMenu != null)) { command3 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.GenDistUnit"); command3.AddControl(popMenu.CommandBar, 3); } } catch (System.ArgumentException exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } try { // Add the ImportMD Solution command -- command4 command4 = CreateNamedCommand( _addInInstance, commands, "PrjxToCsproj", "&Import MonoDevelop Solution...", "Imports a MonoDevelop Solution", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command4 == null) && (popMenu != null)) { command4 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.PrjxToCsproj"); command4.AddControl(popMenu.CommandBar, 4); } } catch (System.ArgumentException exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } try { // Add the Run on Mono command -- command5 command5 = CreateNamedCommand( _addInInstance, commands, "RunOnMono", "&Run on Mono", "Run solution on mono", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command5 == null) && (popMenu != null)) { command5 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.RunOnMono"); command5.AddControl(popMenu.CommandBar, 5); } } catch (System.ArgumentException exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } try { // Add the Options command -- command6 command6 = CreateNamedCommand( _addInInstance, commands, "Options", "&Options...", "Options for prj2make Add-in", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command6 == null) && (popMenu != null)) { command6 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.Options"); command6.AddControl(popMenu.CommandBar, 6); } } catch (System.ArgumentException exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } try { // Add the ExploreCurrSln command -- command7 command7 = CreateNamedCommand( _addInInstance, commands, "ExploreCurrSln", "Current &Solution", "Explore the current solution", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command7 == null) && (popMenu != null)) { command7 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.ExploreCurrSln"); command7.AddControl(popMenu2.CommandBar, 1); } } catch (System.ArgumentException exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } try { // Add the ExploreCurrDoc command -- command8 command8 = CreateNamedCommand( _addInInstance, commands, "ExploreCurrDoc", "Current &Document", "Explore the current Document", ref contextGUIDS ); //Add a control for the command to the tools menu: if ((command8 == null) && (popMenu != null)) { command8 = GetExistingNamedCommand(commands, "Mfconsulting.Vsprj2make.Connect.ExploreCurrDoc"); command8.AddControl(popMenu2.CommandBar, 2); } } catch (System.ArgumentException exc) { Trace.WriteLine(String.Format("Error during OnConnect of Add-in:\n {0}", exc.Message)); } // Mono Toolbar CommandBar cmdBarBuild = (CommandBar)commandBars["Build"]; try { cmdBarMonoBarra = (CommandBar)commandBars["MonoBarra"]; } catch (Exception) { commands.AddCommandBar("MonoBarra", vsCommandBarType.vsCommandBarTypeToolbar, cmdBarBuild, 1 ); cmdBarMonoBarra = (CommandBar)commandBars["MonoBarra"]; cmdBarMonoBarra.Visible = true; } if (testInMonoCommandBarButton == null) { // Create the Run on Mono Button testInMonoCommandBarButton = (CommandBarButton)cmdBarMonoBarra.Controls.Add( Microsoft.VisualStudio.CommandBars.MsoControlType.msoControlButton, System.Reflection.Missing.Value, System.Reflection.Missing.Value, 1, false ); testInMonoCommandBarButton.Caption = "Run on &Mono"; testInMonoCommandBarButton.DescriptionText = "Run solution with the mono runtime"; testInMonoCommandBarButton.TooltipText = "Run on mono"; testInMonoCommandBarButton.ShortcutText = "Run on &Mono"; testInMonoCommandBarButton.Style = MsoButtonStyle.msoButtonCaption; testInMonoCommandBarButton.Click += new _CommandBarButtonEvents_ClickEventHandler(testInMonoCommandBarButton_Click); } if (versionComboBox == null) { // Create the combobox versionComboBox = (CommandBarComboBox)cmdBarMonoBarra.Controls.Add( Microsoft.VisualStudio.CommandBars.MsoControlType.msoControlDropdown, System.Reflection.Missing.Value, System.Reflection.Missing.Value, 2, false ); for (int i = 0; i < monoVersions.Length; i++) { versionComboBox.AddItem(monoVersions[i], i + 1); if (monoVersions[i].CompareTo(regHlpr.GetDefaultClr()) == 0) { selectedIndexForComboBox = i + 1; } } versionComboBox.Change += new _CommandBarComboBoxEvents_ChangeEventHandler(versionComboBox_Change); // Select the active index based on // the current mono version versionComboBox.ListIndex = selectedIndexForComboBox; } } }
private void _commandBarEvents_Dropdown_Change(CommandBarComboBox comboBox) { FireCommandBarEvent(comboBox); }
public CommandBarComboBox AddComboBox(string text, ComboBox comboBox) { CommandBarComboBox item = new CommandBarComboBox(text, comboBox); this.Add(item); //// clear hashes keyItems.Clear(); return item; }
internal ShellCommandBarComboBox(CommandBarComboBox combo) { _combo = combo; }
private void versionComboBox_Change(CommandBarComboBox Ctrl) { Mfconsulting.Vsprj2make.RegistryHelper regHlpr = new RegistryHelper(); regHlpr.SetDefaultClr(versionComboBox.Text); }
private void UpdateComboBoxLocation(CommandBarComboBox comboBox, int index) { NativeMethods.RECT rect = new NativeMethods.RECT(); NativeMethods.SendMessage(this.Handle, NativeMethods.TB_GETITEMRECT, index, ref rect); int height = rect.bottom - rect.top; if (height > comboBox.ComboBox.Height) { rect.top = rect.top + ((height - comboBox.ComboBox.Height) / 2); } comboBox.ComboBox.Location = new Point(rect.left + 2, rect.top); }