void IPackage.Load(IServiceProvider serviceProvider) { // Set this early so it is easily referenced myServiceProvider = serviceProvider; IAssemblyBrowser assemblyBrowser = (IAssemblyBrowser)serviceProvider.GetService(typeof(IAssemblyBrowser)); assemblyBrowser.ActiveItemChanged += new EventHandler(OnActiveItemChanged); myLastActiveItem = assemblyBrowser.ActiveItem; myAssemblyBrowser = assemblyBrowser; ILanguageManager languageManager = (ILanguageManager)serviceProvider.GetService(typeof(ILanguageManager)); myLanguageManager = languageManager; myConfiguration = new PLiXConfiguration(this); languageManager.ActiveLanguageChanged += new EventHandler(OnActiveLanguageChanged); ILanguage language = new PLiXLanguage((ITranslatorManager)serviceProvider.GetService(typeof(ITranslatorManager)), myConfiguration); languageManager.RegisterLanguage(language); myLanguage = language; // Add our PLiX menu item, activated when the plix language is active ICommandBarManager commandBarManager = (ICommandBarManager)serviceProvider.GetService(typeof(ICommandBarManager)); ICommandBar menuBar = commandBarManager.CommandBars["MenuBar"]; ICommandBarMenu topMenu = menuBar.Items.InsertMenu(menuBar.Items.Count - 1, "PLiXLanguageOptions", "PLi&X"); topMenu.Visible = false; topMenu.DropDown += new EventHandler(OnOpenTopMenu); ICommandBarItemCollection menuItems = topMenu.Items; myExampleLanguageMenu = menuItems.AddMenu("PLiXExampleLanguage", "&Example Language"); menuItems.AddSeparator(); myExpandCurrentNamespaceDeclarationButton = menuItems.AddButton("E&xpand Current Namespace Declaration", new EventHandler(OnExpandCurrentNamespaceDeclaration)); myExpandCurrentTypeDeclarationButton = menuItems.AddButton("E&xpand Current Type Declaration", new EventHandler(OnExpandCurrentTypeDeclaration)); (myFullyExpandTypeDeclarationsCheckBox = menuItems.AddCheckBox("Ex&pand All Type Declarations")).Click += new EventHandler(OnFullyExpandTypeDeclarationsChanged); menuItems.AddSeparator(); (myDisplayContextDataTypeQualifierCheckBox = menuItems.AddCheckBox("Display Context Type &Qualifier")).Click += new EventHandler(OnDisplayContextDataTypeQualifierChanged); ICommandBarMenu callStaticOptionsMenu = menuItems.AddMenu("PLiXStaticCallOptions", "&Static Call Options"); menuItems = callStaticOptionsMenu.Items; (myExplicitStaticCallCheckBox = menuItems.AddCheckBox("&Explicit")).Click += new EventHandler(OnExplicitStaticCallCheckBoxChanged); (myImplicitCurrentTypeStaticCallCheckBox = menuItems.AddCheckBox("Implicit (&Current Type)")).Click += new EventHandler(OnImplicitCurrentTypeStaticCallCheckBoxChanged); (myImplicitBaseTypesStaticCallCheckBox = menuItems.AddCheckBox("Implicit (&Base Types)")).Click += new EventHandler(OnImplicitBaseTypesStaticCallCheckBoxChanged); myTopMenu = topMenu; ICommandBarControl appRefresh1 = GetCommandbarControl(commandBarManager, "ToolBar", "Application.Refresh"); if (appRefresh1 != null) { appRefresh1.Click += new EventHandler(OnApplicationRefresh); } ICommandBarControl appRefresh2 = GetCommandbarControl(commandBarManager, "View", "Application.Refresh"); if (appRefresh2 != null && appRefresh2 != appRefresh1) { appRefresh2.Click += new EventHandler(OnApplicationRefresh); } //DumpMenus(commandBarManager); }
private static ICommandBarControl GetCommandbarControl(ICommandBarManager manager, string barIdentifier, string controlValue) { ICommandBar toolbar; if (null != (toolbar = manager.CommandBars[barIdentifier])) { foreach (ICommandBarItem item in toolbar.Items) { ICommandBarControl testControl = item as ICommandBarControl; string testControlValue; if (testControl != null && null != (testControlValue = testControl.Value as string) && testControlValue == controlValue) { return(testControl); } } } return(null); }
void IPackage.Unload() { myLanguageManager.ActiveLanguageChanged -= new EventHandler(OnActiveLanguageChanged); myAssemblyBrowser.ActiveItemChanged -= new EventHandler(OnActiveItemChanged); myTopMenu.DropDown -= new EventHandler(OnOpenTopMenu); myLanguageManager.UnregisterLanguage(myLanguage); ICommandBarManager commandBarManager = (ICommandBarManager)myServiceProvider.GetService(typeof(ICommandBarManager)); commandBarManager.CommandBars["MenuBar"].Items.Remove(myTopMenu); ICommandBarControl appRefresh1 = GetCommandbarControl(commandBarManager, "ToolBar", "Application.Refresh"); if (appRefresh1 != null) { appRefresh1.Click -= new EventHandler(OnApplicationRefresh); } ICommandBarControl appRefresh2 = GetCommandbarControl(commandBarManager, "View", "Application.Refresh"); if (appRefresh2 != null && appRefresh2 != appRefresh1) { appRefresh2.Click -= new EventHandler(OnApplicationRefresh); } }
public static ICommandBarButton FromCommandBarControl(ICommandBarControl control) { return(new CommandBarButton((Microsoft.Office.Core.CommandBarButton)control.Target)); }
public bool Equals(ICommandBarControl other) { return(Equals(other as SafeComWrapper <Microsoft.Office.Core.CommandBarControl>)); }
public static ICommandBarPopup FromCommandBarControl(ICommandBarControl control) { return(new CommandBarPopup(control.Target as Microsoft.Office.Core.CommandBarPopup)); }