Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 public static ICommandBarButton FromCommandBarControl(ICommandBarControl control)
 {
     return(new CommandBarButton((Microsoft.Office.Core.CommandBarButton)control.Target));
 }
Exemplo n.º 5
0
 public bool Equals(ICommandBarControl other)
 {
     return(Equals(other as SafeComWrapper <Microsoft.Office.Core.CommandBarControl>));
 }
Exemplo n.º 6
0
 public static ICommandBarPopup FromCommandBarControl(ICommandBarControl control)
 {
     return(new CommandBarPopup(control.Target as Microsoft.Office.Core.CommandBarPopup));
 }