public void PopulateMenu(ProjectItemBase item) { if (item == null) { return; } MenuItems.Clear(); MenuItemBase parentMenuItem = null; foreach (var command in item.OptionCommands) { MenuItemBase newMenuItem = null; // fake command definition if (command.CommandDefinition is FakeCommandDefinition) { // reset parent if (string.IsNullOrEmpty(command.CommandDefinition.Name)) { parentMenuItem = null; } // fake to add separator else if (command.CommandDefinition.Name == "|") { newMenuItem = new MenuItemSeparator(); } // fake to set parent else if (command.CommandDefinition.Name.Contains('|')) { // extract ancestors var parentNames = command.CommandDefinition.Name.Trim().Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries); // reset parent if (parentNames.Length == 0) { parentMenuItem = null; } // find parent else { parentMenuItem = MenuItems.OfType <StandardMenuItem>().FirstOrDefault(p => p.Text == parentNames[0]); if (parentMenuItem == null) { parentMenuItem = new DisplayMenuItem(parentNames[0]); MenuItems.Add(parentMenuItem); } for (var i = 1; i < parentNames.Length; i++) { var nextMenuItem = parentMenuItem.Children.OfType <StandardMenuItem>().FirstOrDefault(p => p.Text == parentNames[i]); if (nextMenuItem == null) { nextMenuItem = new DisplayMenuItem(parentNames[i]); parentMenuItem.Children.Add(nextMenuItem); } parentMenuItem = nextMenuItem; } } } } else { newMenuItem = new Idealde.Modules.MainMenu.Models.CommandMenuItem(command); command.Tag = item; } if (newMenuItem == null) { continue; } if (parentMenuItem != null) { parentMenuItem.Children.Add(newMenuItem); } else { MenuItems.Add(newMenuItem); } } }
public void Init(uint width, uint height) { ReSize(width, height); DefaultTheme theme = new DefaultTheme(width, height); theme.Setup("aw.png", "./Resources/"); //selectionManager.setup(width,height); UI.Instance.CurrentTheme = theme; MenuBar.Instance.Init(width); menuFile = new Menu("FlightData"); menuItemFileOpen = new MenuItemButton("Open"); menuItemFileSave = new MenuItemButton("Save"); menuItemFileSaveAs = new MenuItemButton("Save As"); menuItemFileSeparator = new MenuItemSeparator(); menuItemFileExit = new MenuItemButton("Exit"); menuItemFileExport = new MenuItemSubMenu("Export"); menuItemFilePNG = new MenuItemSubMenu("PNG Image"); menuItemFilePNGNone = new MenuItemButton("None"); menuItemFilePNGInterlaced = new MenuItemButton("Interlaced"); menuItemFilePNG.AddItem(menuItemFilePNGNone); menuItemFilePNG.AddItem(menuItemFilePNGInterlaced); menuItemFileJPEG = new MenuItemButton("JPEG Image"); menuItemFileExport.AddItem(menuItemFilePNG); menuItemFileExport.AddItem(menuItemFileJPEG); menuItemFileImport = new MenuItemSubMenu("Import"); menuItemFile3DS = new MenuItemButton("3DS Model"); menuItemFileOBJ = new MenuItemButton("OBJ Model"); menuItemFileSIA = new MenuItemButton("SIA Model"); menuItemFileImport.AddItem(menuItemFile3DS); menuItemFileImport.AddItem(menuItemFileOBJ); menuItemFileImport.AddItem(menuItemFileSIA); menuFile.AddItem(menuItemFileOpen); menuFile.AddItem(menuItemFileSave); menuFile.AddItem(menuItemFileSaveAs); menuFile.AddItem(menuItemFileExport); menuFile.AddItem(menuItemFileImport); menuFile.AddItem(menuItemFileSeparator); menuFile.AddItem(menuItemFileExit); menuHelp = new Menu("Help"); menuItemHelpAbout = new MenuItemButton("About"); menuItemHelpHelp = new MenuItemButton("Help"); menuHelp.AddItem(menuItemHelpAbout); menuHelp.AddItem(menuItemHelpHelp); menuAssortedWidgetsTest = new Menu("Assorted Widgets Test"); dialogTestDialog = new DialogTestDialog(); menuItemDialogTest = new MenuItemButton("Modal Dialog Test"); menuAssortedWidgetsTest.AddItem(menuItemDialogTest); checkNRadioTestDialog = new CheckNRadioTestDialog(); menuItemCheckNRadioTest = new MenuItemButton("Check & Radio Test"); menuAssortedWidgetsTest.AddItem(menuItemCheckNRadioTest); progressNSliderTestDialog = new ProgressNSliderTestDialog(); menuItemProgressNSliderTest = new MenuItemButton("Progress & Slider Test"); menuAssortedWidgetsTest.AddItem(menuItemProgressNSliderTest); multipleLayoutTestDialog = new MultipleLayoutTestDialog(); menuItemMultipleTest = new MenuItemButton("MultipleLayout Test"); menuAssortedWidgetsTest.AddItem(menuItemMultipleTest); scrollPanelTestDialog = new ScrollPanelTestDialog(); menuItemScrollPanelTest = new MenuItemButton("Scroll Panel Test"); menuAssortedWidgetsTest.AddItem(menuItemScrollPanelTest); textNDropTestDialog = new TextNDropTestDialog(); menuItemTextNDropTest = new MenuItemButton("DropList Test"); menuAssortedWidgetsTest.AddItem(menuItemTextNDropTest); MenuBar.Instance.AddMenu(menuFile); MenuBar.Instance.AddMenu(menuHelp); MenuBar.Instance.AddMenu(menuAssortedWidgetsTest); //menuItemDialogTest.MousePressedEvent += new MousePressedHandler(menuItemDialogTest_MousePressedEvent); //menuItemCheckNRadioTest.MousePressedEvent += new MousePressedHandler(menuItemCheckNRadioTest_MousePressedEvent); //menuItemProgressNSliderTest.MousePressedEvent += new MousePressedHandler(menuItemProgressNSliderTest_MousePressedEvent); //menuItemMultipleTest.MousePressedEvent += new MousePressedHandler(menuItemMultipleTest_MousePressedEvent); //menuItemScrollPanelTest.MousePressedEvent += new MousePressedHandler(menuItemScrollPanelTest_MousePressedEvent); //menuItemTextNDropTest.MousePressedEvent += new MousePressedHandler(menuItemTextNDropTest_MousePressedEvent); }
public abstract Size GetMenuItemSeparatorPreferedSize(MenuItemSeparator component);
public abstract void PaintMenuItemSeparator(MenuItemSeparator component);
public MetadataEditor(string fileName) { var filename = Path.GetFullPath(fileName); this._FileName = filename; // Make our current directory be the one that contains the metadata file. We // do this because that file might contain relative paths to the image files // we are supposed to be loading. Environment.CurrentDirectory = Path.GetDirectoryName(filename) ?? Path.GetPathRoot(filename); this._Metadata = Dlib.ImageDatasetMetadata.LoadImageDatasetMetadata(filename); var files = this._Metadata.Images.Select(image => image.FileName).ToArray(); this._ListBoxImages = new ListBox(this); this._ListBoxImages.Load(files); this._ListBoxImages.MultipleSelectEnabled = true; this._ListBoxImagesClickedMediator = new SelectIndexedActionMediator(this.OnListBoxImagesClicked); this._ListBoxImages.SetClickHandler(this._ListBoxImagesClickedMediator); this._OverlayLabelName = new Label(this); this._OverlayLabelName.SetText("Next Label: "); this._OverlayLabel = new TextField(this); this._OverlayLabel.SetWidth(200); this._ClickActionMediator = new ClickActionMediator(this.OnImageClicked); this._OverlayLabelChangedMediator = new VoidActionMediator(this.OnOverlayLabelChanged); this._OverlayRectsChanged = new VoidActionMediator(this.OnOverlayRectsChanged); this._OverlayRectSelected = new ImageDisplayOverlayRectActionMediator(this.OnOverlayRectSelected); this._Display = new ImageDisplay(this); this._Display.SetImageClickedHandler(this._ClickActionMediator); this._Display.SetOverlayRectsChangedHandler(this._OverlayRectsChanged); this._Display.SetOverlayRectSelectedHandler(this._OverlayRectSelected); this._OverlayLabel.SetTextModifiedHandler(this._OverlayLabelChangedMediator); this._MenuBar = new MenuBar(this); this._MenuBar.SetNumberOfMenus(2); this._MenuBar.SetMenuName(0, "File", 'F'); this._MenuBar.SetMenuName(1, "Help", 'H'); this._FileSaveMediator = new VoidActionMediator(this.FileSave); this._ItemText1 = new MenuItemText("Save", this._FileSaveMediator, 'S'); this._MenuBar.Menu(0).AddMenuItem(this._ItemText1); this._FileSaveAsMediator = new VoidActionMediator(this.FileSaveAs); this._ItemText2 = new MenuItemText("Save As", this._FileSaveAsMediator, 'A'); this._MenuBar.Menu(0).AddMenuItem(this._ItemText2); this._ItemSeparator1 = new MenuItemSeparator(); this._MenuBar.Menu(0).AddMenuItem(this._ItemSeparator1); this._RemoveSelectedImagesMediator = new VoidActionMediator(this.RemoveSelectedImages); this._ItemText3 = new MenuItemText("Remove Selected Images", this._RemoveSelectedImagesMediator, 'R'); this._MenuBar.Menu(0).AddMenuItem(this._ItemText3); this._ItemSeparator2 = new MenuItemSeparator(); this._MenuBar.Menu(0).AddMenuItem(this._ItemSeparator2); this._CloseWindowMediator = new VoidActionMediator(this.CloseWindow); this._ItemText4 = new MenuItemText("Exit", this._CloseWindowMediator, 'x'); this._MenuBar.Menu(0).AddMenuItem(this._ItemText4); this._DisplayAboutMediator = new VoidActionMediator(this.DisplayAbout); this._ItemText5 = new MenuItemText("About", this._DisplayAboutMediator, 'x'); this._MenuBar.Menu(1).AddMenuItem(this._ItemText5); // set the size of this window. this.OnWindowResized(); this.LoadImageAndSetSize(0); this.OnWindowResized(); if (this._ImagePos < this._ListBoxImages.Size) { this._ListBoxImages.Select(this._ImagePos); } // make sure the window is centered on the screen. this.GetSize(out var width, out var height); this.GetDisplaySize(out var screenWidth, out var screenHeight); this.SetPos((int)((screenWidth - width) / 2), (int)((screenHeight - height) / 2)); this.Show(); this._SaveMetadataToFileMediator = new StringActionMediator(SaveMetadataToFile); }