Пример #1
0
        public CommandBar AddCommandBar(string name, MsoBarPosition position)
        {
            CommandBars cmdBars = (Microsoft.VisualStudio.CommandBars.CommandBars)m_application.CommandBars;
            CommandBar bar = null;

            try
            {
                // Try to find an existing CommandBar
                bar = cmdBars[name];
            }
            catch(Exception)
            {
            }

            try
            {

                if (bar == null)

                    // Create the new CommandBar
                    bar = cmdBars.Add(name, position, System.Type.Missing, false);
            }
            catch
            {
            }

            bar.Visible = true;
            bar.Position = MsoBarPosition.msoBarTop;

            return bar;
        }
Пример #2
0
        public CommandBar AddCommandBar(string name, MsoBarPosition position)
        {
            CommandBars cmdBars = (Microsoft.VisualStudio.CommandBars.CommandBars)m_application.CommandBars;
            CommandBar  bar     = null;

            try
            {
                try
                {
                    // Create the new CommandBar
                    bar         = cmdBars.Add(name, position, false, false);
                    bar.Visible = true;
                }
                catch (ArgumentException)
                {
                    // Try to find an existing CommandBar
                    bar = cmdBars[name];
                }
            }
            catch
            {
            }

            return(bar);
        }
Пример #3
0
        public CommandBar AddCommandBar(string name, MsoBarPosition position)
        {
            var        cmdBars = (CommandBars)m_application.CommandBars;
            CommandBar bar     = null;

            try
            {
                // Try to find an existing CommandBar
                bar = cmdBars[name];
            }
            catch (Exception)
            {
            }

            try
            {
                if (bar == null)
                {
                    // Create the new CommandBar
                    bar = cmdBars.Add(name, position, Type.Missing, false);
                }
            }
            catch
            {
            }

            bar.Visible  = true;
            bar.Position = MsoBarPosition.msoBarTop;


            return(bar);
        }
Пример #4
0
        public CommandBar AddCommandBar(string name, MsoBarPosition position)
        {
            CommandBars cmdBars = (Microsoft.VisualStudio.CommandBars.CommandBars)m_application.CommandBars;
            CommandBar bar = null;

            try
            {
                try
                {
                    // Create the new CommandBar
                    bar = cmdBars.Add(name, position, false, false);
                    bar.Visible = true;
                }
                catch (ArgumentException)
                {
                    // Try to find an existing CommandBar
                    bar = cmdBars[name];
                }
            }
            catch
            {
            }

            return bar;
        }
Пример #5
0
        private static void AddCommandBarControls(Application excelApp, XmlNodeList xmlNodes, GetImageDelegate getImage)
        {
            foreach (XmlNode childNode in xmlNodes)
            {
                if (childNode.Name == "commandBar")
                {
                    string     barName;
                    CommandBar bar = GetCommandBarFromIdOrName(excelApp, childNode.Attributes, out barName);
                    if (bar != null)
                    {
                        AddControls(bar.Controls, childNode.ChildNodes, getImage);
                    }
                    else
                    {
                        MsoBarPosition barPosition  = MsoBarPosition.msoBarLeft;
                        XmlAttribute   posAttribute = childNode.Attributes["position"];
                        if (posAttribute == null)
                        {
                            // Compatible with original patch
                            posAttribute = childNode.Attributes["MsoBarPosition"];
                        }
                        if (posAttribute != null)
                        {
                            if (Enum.IsDefined(typeof(MsoBarPosition), posAttribute.Value))
                            {
                                barPosition = (MsoBarPosition)Enum.Parse(typeof(MsoBarPosition), posAttribute.Value, false);
                            }
                        }

                        bar = excelApp.CommandBars.Add(barName, barPosition);
                        AddControls(bar.Controls, childNode.ChildNodes, getImage);
                    }
                }
            }
        }
Пример #6
0
 /// <summary>
 ///		Creates the new toolbar.
 /// </summary>
 /// <param name="bars">The parent container.</param>
 /// <param name="name">The name for the toolbar.</param>
 internal Toolbar(Toolbars bars, string name) : base(null)
 {
     this.toolbars = bars;
     base.Caption  = name;
     this.position = MsoBarPosition.msoBarFloating;
     InternalTag   = "UIManager_" + TOOLBAR_TAG;
     TOOLBAR_TAG++;
 }
Пример #7
0
        public CommandBar Add(string name, MsoBarPosition barPosition)
        {
            object     commandBar = _type.InvokeMember("Add", BindingFlags.InvokeMethod, null, _object, new object[] { name, barPosition, Type.Missing, true });
            CommandBar cb         = new CommandBar(commandBar);

            cb.Visible = true;
            return(new CommandBar(commandBar));
        }
Пример #8
0
        public CommandBar AddCommandBar(string name, MsoBarPosition position)
        {
            CommandBar commandBar = FindCommandBar(name);

            if (null == commandBar)
            {
                var commandBars = (CommandBars)Application.CommandBars;
                commandBar         = commandBars.Add(name, position);
                commandBar.Visible = true;
            }
            return(commandBar);
        }
Пример #9
0
        public CommandBar AddCommandBar(string name, MsoBarPosition position)
        {
            CommandBars cmdBars        = (Microsoft.VisualStudio.CommandBars.CommandBars)m_application.CommandBars;
            CommandBar  existingCmdBar = null;

            try {
                existingCmdBar = cmdBars[name];
            } catch (Exception) {
            }

            if (existingCmdBar != null)
            {
                return(existingCmdBar);
            }
            else
            {
                object CmdBarObj;
                int    result = ProfferCommands.AddCommandBar(name, (uint)vsCommandBarType.vsCommandBarTypeToolbar, null, 0, out CmdBarObj);
                if (result != Microsoft.VisualStudio.VSConstants.S_OK)
                {
                    System.Diagnostics.Debug.WriteLine("Unable to add Nifty command bar - already exists, perhaps?");
                }
                return(CmdBarObj as CommandBar);
            }

/*
 *                      CommandBars cmdBars = (Microsoft.VisualStudio.CommandBars.CommandBars)m_application.CommandBars;
 *                      CommandBar bar = null;
 *
 *                      try
 *                      {
 *                              try
 *                              {
 *                                      // Create the new CommandBar
 *                                      bar = cmdBars.Add(name, position, false, false);
 *                                      bar.Visible = true;
 *                              }
 *                              catch(ArgumentException)
 *                              {
 *                                      // Try to find an existing CommandBar
 *                                      bar = cmdBars[name];
 *                              }
 *                      }
 *                      catch
 *                      {
 *                      }
 *
 *                      return bar;*/
        }
Пример #10
0
        public CommandBar AddGitExtCommandBar(MsoBarPosition position)
        {
            CommandBar bar =
                CommandBars.Cast <CommandBar>()
                .FirstOrDefault(c => c.Name == GitCommandBarName);

            if (bar == null)
            {
                bar          = (CommandBar)_application.Commands.AddCommandBar(GitCommandBarName, vsCommandBarType.vsCommandBarTypeToolbar);
                bar.Position = position;
                bar.RowIndex = -1;
            }

            return(bar);
        }
Пример #11
0
        // This method creates the a new visual studio command bar object.
        CommandBar CreateCommandBar(string name, MsoBarPosition position)
        {
            CommandBars cbars = (CommandBars)App().CommandBars;

            try
            {
                //this adds the toolbar.
                CommandBar toolbar = cbars.Add("opCppToolbar", MsoBarPosition.msoBarTop, System.Type.Missing, false);
                return(toolbar);
            }
            catch (System.Exception)
            {
                //find existing one?
                CommandBar toolbar = cbars["opCppToolbar"];
                return(toolbar);
            }
        }
Пример #12
0
        public CommandBar AddGitCommandBar(MsoBarPosition position)
        {
            var        name = GitCommandBarName;
            CommandBar bar  = null;

            try
            {
                bar          = (CommandBar)_application.Commands.AddCommandBar(name, vsCommandBarType.vsCommandBarTypeToolbar);
                bar.Position = position;
                bar.RowIndex = -1;
            }
            catch (Exception)
            {
            }

            return(bar);
        }
Пример #13
0
        public XlCommandBar Add(string name, MsoBarPosition position, object menuBar, object temporary)
        {
            object[] paramArray = new object[4];
            paramArray[0] = name;
            paramArray[1] = position;
            paramArray[2] = menuBar;
            paramArray[3] = temporary;
            object returnValue = InstanceType.InvokeMember("Add", BindingFlags.InvokeMethod, null, ComReference, paramArray, XlLateBindingApiSettings.XlThreadCulture);

            if (null == returnValue)
            {
                return(null);
            }
            XlCommandBar newClass = new XlCommandBar(this, returnValue);

            ListChildReferences.Add(newClass);
            return(newClass);
        }
Пример #14
0
 public CommandBar Add(string name, MsoBarPosition barPosition)
 {
     object commandBar = _type.InvokeMember("Add", BindingFlags.InvokeMethod, null, _object, new object[] { name, barPosition, Type.Missing, true });
     CommandBar cb = new CommandBar(commandBar);
     cb.Visible = true;
     return new CommandBar(commandBar);
 }
Пример #15
0
        public CommandBar AddGitCommandBar(MsoBarPosition position)
        {
            var name = GitCommandBarName;
            var cmdBars = (CommandBars)m_application.CommandBars;
            CommandBar bar = null;

            try
            {
                // Try to find an existing CommandBar
                bar = cmdBars[name];
            }
            catch (Exception)
            {
            }

            try
            {
                if (bar == null)
                {
                    // Create the new CommandBar
                    bar = cmdBars.Add(name, position, Type.Missing, false);
                    bar.Visible = true;
                    bar.Position = MsoBarPosition.msoBarTop;
                }
            }
            catch
            {
            }

            return bar;
        }
Пример #16
0
 public override CommandBar Add(string toolbarName, MsoBarPosition msoBarTop, object missing, bool v)
 {
     return(new CommandBarImpl());
 }
Пример #17
0
 public abstract CommandBar Add(string toolbarName, MsoBarPosition msoBarTop, object missing, bool v);
Пример #18
0
        public CommandBar AddCommandBar(string name, MsoBarPosition position)
        {
            CommandBars cmdBars = (Microsoft.VisualStudio.CommandBars.CommandBars)m_application.CommandBars;
            CommandBar existingCmdBar = null;
            try {
                existingCmdBar = cmdBars[name];
            } catch (Exception) {
            }

            if (existingCmdBar != null)
            {
                return existingCmdBar;
            }
            else
            {
                object CmdBarObj;
                int result = ProfferCommands.AddCommandBar(name, (uint)vsCommandBarType.vsCommandBarTypeToolbar, null, 0, out CmdBarObj);
                if (result != Microsoft.VisualStudio.VSConstants.S_OK)
                    System.Diagnostics.Debug.WriteLine("Unable to add Nifty command bar - already exists, perhaps?");
                return CmdBarObj as CommandBar;
            }
            /*
            CommandBars cmdBars = (Microsoft.VisualStudio.CommandBars.CommandBars)m_application.CommandBars;
            CommandBar bar = null;

            try
            {
                try
                {
                    // Create the new CommandBar
                    bar = cmdBars.Add(name, position, false, false);
                    bar.Visible = true;
                }
                catch(ArgumentException)
                {
                    // Try to find an existing CommandBar
                    bar = cmdBars[name];
                }
            }
            catch
            {
            }

            return bar;*/
        }
Пример #19
0
        public CommandBar AddGitCommandBar(MsoBarPosition position)
        {
            var name = GitCommandBarName;
            CommandBar bar = null;

            try
            {
                bar = (CommandBar)m_application.Commands.AddCommandBar(name, vsCommandBarType.vsCommandBarTypeToolbar);
                bar.Position = position;
                bar.RowIndex = -1;
            }
            catch
            {
            }

            return bar;
        }
Пример #20
0
        public CommandBar AddGitExtCommandBar(MsoBarPosition position)
        {
            CommandBar bar =
                CommandBars.Cast<CommandBar>()
                    .FirstOrDefault(c => c.accName == GitCommandBarName);
            if (bar == null)
            {
                bar = (CommandBar)_application.Commands.AddCommandBar(GitCommandBarName, vsCommandBarType.vsCommandBarTypeToolbar);
                bar.Position = position;
                bar.RowIndex = -1;
            }

            return bar;
        }
        private void ShowToolBar()
        {
            Contract.Ensures(settingsDirectory == Contract.OldValue(settingsDirectory));

            var dispatcher = Dispatcher.CurrentDispatcher;

            var afterInitialization = initialized;

            // During testing, assigning toolbar.Visible sometimes had no effect unless it's done asynchronously.
            dispatcher.InvokeAsync(() =>
            {
                var toolbar = ToolBar;

                if (toolbar != null)
                {
                    if (toolbar.Visible)
                    {
                        toolbarPosition = toolbar.Position;
                        toolbarRowIndex = toolbar.RowIndex;

                        Debug.WriteLine("Settings switcher toolbar visible at {0}, index {1}.  After init: {2}", toolbarPosition, toolbarRowIndex, afterInitialization);
                    }
                    else
                    {
                        toolbar.Visible = true;

                        Debug.WriteLine("Settings switcher toolbar currently reports visibility at {0}, index {1}.", toolbar.Position, toolbar.RowIndex);

                        // During testing in VS 2012, setting toolbar.Visible to true after initialization sometimes caused the toolbar to reappear in a different location.
                        if (afterInitialization)
                        {
                            Debug.WriteLine("Attempting to show settings switcher toolbar at {0}, index {1}.", toolbarPosition, toolbarRowIndex);

                            if (toolbar.Position != toolbarPosition || toolbar.RowIndex != toolbarRowIndex)
                            {
                                // Another async invocation was required while testing in VS 2012, on a fairly slow computer.
                                dispatcher.InvokeAsync(() =>
                                {
                                    // Must recreate the toolbar reference; otherwise, setting the following properties has no effect.
                                    var t = ToolBar;

                                    Debug.WriteLine("Settings switcher toolbar currently reports visibility (before update) at {0}, index {1}.", t.Position, t.RowIndex);

                                    t.Position = toolbarPosition;
                                    t.RowIndex = toolbarRowIndex;

                                    Debug.WriteLine("Settings switcher toolbar visibility set to {0}, index {1}; Result: {2}, index {3}.", toolbarPosition, toolbarRowIndex, t.Position, t.RowIndex);
                                },
                                                       DispatcherPriority.Background);
                            }
                        }
                        else
                        {
                            Debug.WriteLine("Saving settings switcher toolbar state.");

                            toolbarPosition = toolbar.Position;
                            toolbarRowIndex = toolbar.RowIndex;
                        }
                    }
                }
            },
                                   DispatcherPriority.Background);
        }