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);
                }
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public abstract Size GetMenuItemSeparatorPreferedSize(MenuItemSeparator component);
Esempio n. 4
0
 public abstract void PaintMenuItemSeparator(MenuItemSeparator component);
Esempio n. 5
0
        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);
        }