コード例 #1
0
 public void ValidateButtons()
 {
     if (!ribbon.Dispatcher.CheckAccess())
     {
         ribbon.Dispatcher.Invoke(
             System.Windows.Threading.DispatcherPriority.Normal,
             new ValidateButtonsCallback(ValidateButtons));
     }
     else
     {
         foreach (Fluent.RibbonTabItem tabItem in ribbon.Tabs)
         {
             foreach (Fluent.RibbonGroupBox groupBox in tabItem.Groups)
             {
                 foreach (object button in groupBox.Items)
                 {
                     if (button is ToolButton && ((ToolButton)button).Tool != null)
                     {
                         IExTool tool = ((ToolButton)button).Tool;
                         ((ToolButton)button).IsEnabled = tool.Enabled;
                     }
                     else if (button is DropDownToolButton && ((DropDownToolButton)button).Tool != null)
                     {
                         IExTool tool = ((DropDownToolButton)button).Tool;
                         ((DropDownToolButton)button).IsEnabled = tool.Enabled;
                     }
                 }
             }
         }
     }
 }
コード例 #2
0
        public ToolButton(IExTool tool)
        {
            this.Tool = tool;

            base.Header = LocalizedResources.GetResString(tool.Name, tool.Name);
            base.Icon   = base.LargeIcon = ImageFactory.FromBitmap(tool.Image as global::System.Drawing.Image);
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: jugstalt/gview5
        private void ToolButton_Click(object sender, EventArgs e)
        {
            IExTool tool = null;

            if (sender is ToolButton)
            {
                tool = ((ToolButton)sender).Tool;
            }
            else if (sender is DropDownToolButton)
            {
                tool = ((DropDownToolButton)sender).Tool;
            }
            else if (sender is WpfToolMenuItem)
            {
                tool = ((WpfToolMenuItem)sender).Tool;
            }
            else if (sender is ToolMenuItem)
            {
                tool = ((ToolMenuItem)sender).Tool;
            }

            if (tool == null)
            {
                return;
            }

            if (tool is IToolWindow)
            {
                _application.AddDockableWindow(((IToolWindow)tool).ToolWindow, "");
                _application.ShowDockableWindow(((IToolWindow)tool).ToolWindow);
            }
            tool.OnEvent(null);

            ValidateButtons();
        }
コード例 #4
0
        public DropDownToolButtonItem(DropDownToolButton parent, IExTool tool)
        {
            _parent = parent;
            _tool   = tool;

            base.Icon           = base.LargeIcon = ImageFactory.FromBitmap(tool.Image as System.Drawing.Image);
            base.Header         = tool.Name;
            base.SizeDefinition = "Middle";
        }
コード例 #5
0
            public ToolMenuItem(IExTool tool)
                : base(tool.Name, (System.Drawing.Image)tool.Image)
            {
                _tool = tool;

                if (_tool is IShortCut)
                {
                    base.ShortcutKeys = ((IShortCut)_tool).ShortcutKeys;
                    base.ShortcutKeyDisplayString = ((IShortCut)_tool).ShortcutKeyDisplayString;
                    base.ShowShortcutKeys = true;
                }
            }
コード例 #6
0
        public WpfToolMenuItem(IExTool tool)
            : base()
        {
            _tool = tool;

            base.Header = tool.Name;
            base.Icon   = ImageFactory.FromBitmap((System.Drawing.Image)tool.Image);

            //if (_tool is IShortCut)
            //{
            //    base.ShortcutKeys = ((IShortCut)_tool).ShortcutKeys;
            //    base.ShortcutKeyDisplayString = ((IShortCut)_tool).ShortcutKeyDisplayString;
            //    base.ShowShortcutKeys = true;
            //}
        }
コード例 #7
0
        private void MakeMainMenuBar(XmlNode node)
        {
            if (node == null) return;

            backstageTabControl.Items.Clear();

            PlugInManager compManager = new PlugInManager();
            foreach (XmlNode menu in node.SelectNodes("Menu[@name]"))
            {
                if (menu.Attributes["name"].Value.ToLower() == "file")
                {
                    foreach (XmlNode menuItem in menu.SelectNodes("MenuItem"))
                    {
                        if (menuItem.Attributes["guid"] == null)
                        {
                            //backstageTabControl.Items.Add(new Separator());
                        }
                        else
                        {
                            IExTool tool = (IExTool)compManager.CreateInstance(new Guid(menuItem.Attributes["guid"].Value));
                            if (tool == null) continue;

                            tool.OnCreate(_application);

                            if (tool is IToolControl)
                            {
                                Fluent.BackstageTabItem backItem = new Fluent.BackstageTabItem();
                                backItem.Header = tool.Name;

                                object control = ((IToolControl)tool).Control;
                                if (control is System.Windows.Forms.Control)
                                {
                                    WindowsFormsHost host = WinHostFactory.ToWindowsHost((System.Windows.Forms.Control)control);
                                    backItem.Content = host;
                                }
                                else if (control is FrameworkElement)
                                {
                                    backItem.Content = control;
                                }

                                backstageTabControl.Items.Add(backItem);
                            }
                            else
                            {
                                Items.ToolButton button = new Items.ToolButton(tool);
                                button.Click += new RoutedEventHandler(ToolButton_Click);

                                backstageTabControl.Items.Add(button);
                            }
                        }
                    }
                }
                
                if (menu.Attributes["name"].Value.ToLower() == "quickaccess")
                {
                    foreach (XmlNode menuItem in menu.SelectNodes("MenuItem"))
                    {
                        IExTool tool = compManager.CreateInstance(new Guid(menuItem.Attributes["guid"].Value)) as IExTool;
                        if (tool == null) continue;
                        tool.OnCreate(_application);

                        ToolButton button = new ToolButton((IExTool)tool);
                        button.Click += new RoutedEventHandler(ToolButton_Click);

                        ribbon.QuickAccessItems.Add(new Fluent.QuickAccessMenuItem() { Target = button });
                    }
                }
            }
        }