public FormExplorerOptions(IMapDocument document) { InitializeComponent(); _document = document; PlugInManager compMan = new PlugInManager(); foreach (XmlNode pageNode in compMan.GetPluginNodes(Plugins.Type.IExplorerOptionPage)) { IExplorerOptionPage page = compMan.CreateInstance(pageNode) as IExplorerOptionPage; if (page == null) { continue; } Panel pagePanel = page.OptionPage(); if (pagePanel == null) { continue; } TabPage tabPage = new TabPage(page.Title); tabPage.Controls.Add(pagePanel); if (page.Image != null) { imageList1.Images.Add(page.Image); tabPage.ImageIndex = imageList1.Images.Count - 1; } tabControl.TabPages.Add(tabPage); _optionPages.Add(page); } }
public OptionsButton(IExplorerOptionPage page) { this.ExplorerOptionPage = page; base.Header = page.Title; base.Icon = base.LargeIcon = ImageFactory.FromBitmap( page.Image == null ? global::gView.Desktop.Wpf.DataExplorer.Properties.Resources.options : page.Image as System.Drawing.Image ); }
void OptoinButton_Click(object sender, RoutedEventArgs e) { OptionsButton button = (OptionsButton)sender; IExplorerOptionPage page = button.ExplorerOptionPage; if (page != null) { FormOptions dlg = new FormOptions(page); dlg.ShowDialog(); } }
public FormOptions(IExplorerOptionPage page) { _page = page; InitializeComponent(); Panel panel = _page.OptionPage(); if (panel != null) { this.Width = panel.Width + 10; this.Height = panel.Height + 100; panelContainer.Controls.Add(panel); this.Text += ": " + page.Title; } }
public void MakeRibbon() { PlugInManager pm = new PlugInManager(); foreach (IExplorerRibbonTab exRibbonTab in OrderedPluginList<IExplorerRibbonTab>.Sort(pm.GetPluginNodes(Plugins.Type.IExplorerRibbonTab))) { Fluent.RibbonTabItem tabItem = new Fluent.RibbonTabItem(); tabItem.Header = exRibbonTab.Header; ribbon.Tabs.Add(tabItem); tabItem.DataContext = exRibbonTab; foreach (RibbonGroupBox exGroupBox in exRibbonTab.Groups) { Fluent.RibbonGroupBox groupBox = new Fluent.RibbonGroupBox(); groupBox.Header = exGroupBox.Header; tabItem.Groups.Add(groupBox); foreach (RibbonItem cartoRibbonItem in exGroupBox.Items) { Guid toolGUID = cartoRibbonItem.Guid; if (toolGUID == new Guid("00000000-0000-0000-0000-000000000000")) { groupBox.Items.Add(new Separator()); continue; } object tool = pm.CreateInstance(toolGUID); if (tool == null) continue; #region IToolItem if (tool is IToolItem) { if (((IToolItem)tool).ToolItem != null) { if (((IToolItem)tool).ToolItem is System.Windows.Forms.ToolStripItem) { StackPanel panel = new StackPanel(); panel.Margin = new Thickness(0, 32, 0, 0); System.Windows.Forms.ToolStripItem stripItem = (System.Windows.Forms.ToolStripItem)((IToolItem)tool).ToolItem; System.Windows.Forms.MenuStrip bar = new System.Windows.Forms.MenuStrip(); bar.BackColor = System.Drawing.Color.Transparent; //.FromArgb(223, 234, 246); bar.Items.Add(stripItem); WindowsFormsHost host = new WindowsFormsHost(); host.Background = new SolidColorBrush(Color.FromRgb(223, 234, 246)); host.Child = bar; if (tool is IToolItemLabel) { IToolItemLabel label = (IToolItemLabel)tool; panel.Orientation = label.LabelPosition == ToolItemLabelPosition.top || label.LabelPosition == ToolItemLabelPosition.bottom ? Orientation.Vertical : Orientation.Horizontal; if (panel.Orientation == Orientation.Vertical) panel.Margin = new Thickness(0, 13, 0, 0); TextBlock text = new TextBlock(); text.Text = label.Label; text.Padding = new Thickness(3); if (label.LabelPosition == ToolItemLabelPosition.top || label.LabelPosition == ToolItemLabelPosition.left) panel.Children.Insert(0, text); else panel.Children.Add(text); } panel.Children.Add(host); groupBox.Items.Add(panel); } } } #endregion #region IToolMenu else if (tool is IExToolMenu) { DropDownToolButton button = new DropDownToolButton(tool as IExToolMenu); button.Click += new RoutedEventHandler(ToolButton_Click); groupBox.Items.Add(button); } #endregion #region ITool else if (tool is IExTool) { ((IExTool)tool).OnCreate(_application); ToolButton button = new ToolButton(tool as IExTool); button.SizeDefinition = cartoRibbonItem.SizeDefinition; groupBox.Items.Add(button); button.Click += new RoutedEventHandler(ToolButton_Click); } #endregion } } if (ribbon.Tabs.Count == 1) { #region Favorites Fluent.RibbonGroupBox favBox = new Fluent.RibbonGroupBox(); favBox.Header = String.Empty; _favDropDownButton = new Fluent.DropDownButton(); _favDropDownButton.Header = "Favorites"; _favDropDownButton.Icon = _favDropDownButton.LargeIcon = ImageFactory.FromBitmap(global::gView.Desktop.Wpf.DataExplorer.Properties.Resources.folder_heart); Fluent.MenuItem add2fav = new Fluent.MenuItem(); add2fav.Header = "Add to favorites..."; add2fav.Icon = ImageFactory.FromBitmap(global::gView.Desktop.Wpf.DataExplorer.Properties.Resources.folder_heart); add2fav.Click += new RoutedEventHandler(Add2Favorites_Click); _favDropDownButton.Items.Add(add2fav); bool first = true; foreach (MyFavorites.Favorite fav in (new MyFavorites().Favorites)) { if (fav == null) continue; WpfFavoriteMenuItem fItem = new WpfFavoriteMenuItem(fav); fItem.Click += new RoutedEventHandler(MenuItem_Favorite_Click); if (first) { first = false; _favDropDownButton.Items.Add(new Separator()); } _favDropDownButton.Items.Add(fItem); } favBox.Items.Add(_favDropDownButton); ribbon.Tabs[0].Groups.Add(favBox); #endregion _createNewRibbonGroupBox = new Fluent.RibbonGroupBox(); _createNewRibbonGroupBox.Header = "Create New"; _createNewRibbonGroupBox.Visibility = Visibility.Visible; _createNewRibbonGroupBox.Background = new SolidColorBrush(Colors.GreenYellow); ribbon.Tabs[0].Groups.Add(_createNewRibbonGroupBox); } } #region Options Fluent.RibbonTabItem optionsTab = new Fluent.RibbonTabItem() { Header = "Options" }; Fluent.RibbonGroupBox optionsBox = new Fluent.RibbonGroupBox() { Header = String.Empty }; optionsTab.Groups.Add(optionsBox); foreach (XmlNode pageNode in pm.GetPluginNodes(Plugins.Type.IExplorerOptionPage)) { IExplorerOptionPage page = pm.CreateInstance(pageNode) as IExplorerOptionPage; if (page == null) continue; OptionsButton button = new OptionsButton(page); button.Click += new RoutedEventHandler(OptoinButton_Click); optionsBox.Items.Add(button); } ribbon.Tabs.Add(optionsTab); #endregion }