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; } } } } } }
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); }
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(); }
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"; }
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; } }
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; //} }
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 }); } } } }