Exemple #1
0
        // Create "Debugger" menu
        MenuItem CreateDebuggerMenu(AccelGroup agr)
        {
            MenuItem dbg     = new MenuItem("_Debugger");
            Menu     dbgMenu = new Menu();

            dbg.Submenu = dbgMenu;

            debuggerStart            = new MenuItem("_Start debugger");
            debuggerStart.Activated += OnDebuggerStart;
            debuggerStart.AddAccelerator("activate", agr,
                                         new AccelKey(Gdk.Key.F5, Gdk.ModifierType.None,
                                                      AccelFlags.Visible));
            dbgMenu.Append(debuggerStart);

            debuggerStop            = new MenuItem("_Stop debugger");
            debuggerStop.Activated += OnDebuggerStop;
            debuggerStop.AddAccelerator("activate", agr,
                                        new AccelKey(Gdk.Key.F6, Gdk.ModifierType.None,
                                                     AccelFlags.Visible));
            dbgMenu.Append(debuggerStop);

            debuggerInterrupt = new ImageMenuItem(Stock.Cancel, agr);
            ((Label)debuggerInterrupt.Children[0]).Text = "Interrupt execution";
            debuggerInterrupt.AddAccelerator("activate", agr,
                                             new AccelKey(Gdk.Key.F9, Gdk.ModifierType.None,
                                                          AccelFlags.Visible));
            debuggerInterrupt.Activated += OnDebuggerInterrupt;
            dbgMenu.Append(debuggerInterrupt);

            dbgMenu.Append(CreateCommandsMenu(agr));

            return(dbg);
        }
            public PGNFileLoader()
                : base("file-loader",
						      Catalog.
						      GetString
						      ("PGN File Loader"),
						      Catalog.
						      GetString
						      ("Loads games from a PGN file"))
            {
                accel = new AccelGroup ();
                ImageMenuItem item =
                    new ImageMenuItem (Catalog.
                               GetString
                               ("_Open File"));
                  item.Image =
                    new Image (Stock.Open, IconSize.Menu);
                  menuItem = item;
                  menuItem.Activated += on_open_file_activate;
                  menuItem.Show ();
                  menuItem.AddAccelerator ("activate", accel,
                               new AccelKey (Gdk.
                                     Key.
                                     o,
                                     Gdk.
                                     ModifierType.
                                     ControlMask,
                                     AccelFlags.
                                     Visible));
            }
Exemple #3
0
        public static MenuItem CreateMenuItem(this Command command, string menuLabel = null, AccelGroup group = null,
                                              string key = null, object commandParam = null)
        {
            string label = "";

            if (!string.IsNullOrEmpty(menuLabel))
            {
                label = menuLabel;
            }
            else if (!string.IsNullOrEmpty(command.Text))
            {
                label = command.Text;
            }
            else if (!string.IsNullOrEmpty(command.ToolTipText))
            {
                label = command.ToolTipText;
            }

            MenuItem item = new MenuItem(label);

            if (!string.IsNullOrEmpty(key))
            {
                HotKey   keyconfig = App.Current.HotkeysService.GetByName(key).Key;
                AccelKey accelkey  = new AccelKey((Gdk.Key)keyconfig.Key, (Gdk.ModifierType)keyconfig.Modifier, AccelFlags.Visible);
                item.AddAccelerator("activate", group, accelkey);
            }

            item.Activated            += (sender, e) => command.Execute(commandParam);
            item.Sensitive             = command.CanExecute();
            command.CanExecuteChanged += (sender, e) => item.Sensitive = command.CanExecute();
            item.Show();
            return(item);
        }
Exemple #4
0
        private void AddAccelerator(uint key, ModifierType modifiers, AccelFlags accelFlags, EventHandler handler)
        {
            MenuItem menuItem = new MenuItem();

            menuItem.AddAccelerator("activate", this.accelGroup, key, modifiers, accelFlags);
            menuItem.Activated += handler;
            menuItem.Show();

            this.hiddenMenu.Append(menuItem);
        }
Exemple #5
0
        private MenuBar CreateShortcutsBar()
        {
            // Adds a hidden menubar that contains to enable keyboard
            // shortcuts to close the log
            MenuBar = new MenuBar();

            MenuItem file_item = new MenuItem("File");

            Menu file_menu = new Menu();

            MenuItem close_1 = new MenuItem("Close1");
            MenuItem close_2 = new MenuItem("Close2");

            // adds specific Ctrl+W and Esc key accelerators to Log Window
            AccelGroup accel_group = new AccelGroup();

            AddAccelGroup(accel_group);

            // Close on Esc
            close_1.AddAccelerator("activate", accel_group, new AccelKey(Gdk.Key.W, Gdk.ModifierType.ControlMask,
                                                                         AccelFlags.Visible));

            close_1.Activated += delegate { HideAll(); };

            // Close on Ctrl+W
            close_2.AddAccelerator("activate", accel_group, new AccelKey(Gdk.Key.Escape, Gdk.ModifierType.None,
                                                                         AccelFlags.Visible));
            close_2.Activated += delegate { HideAll(); };

            file_menu.Append(close_1);
            file_menu.Append(close_2);

            file_item.Submenu = file_menu;

            MenuBar.Append(file_item);

            // Hacky way to hide the menubar, but the accellerators
            // will simply be disabled when using Hide ()
            MenuBar.HeightRequest = 1;
            MenuBar.ModifyBg(StateType.Normal, Style.Background(StateType.Normal));

            return(MenuBar);
        }
Exemple #6
0
        private void OnPopulatePopupMenu(object o, PopulatePopupArgs args)
        {
            try
            {
                MenuItem option = new MenuItem("Find Text");
                option.AddAccelerator("activate", accelerators, (uint)Gdk.Key.F, ModifierType.ControlMask, AccelFlags.Visible);
                option.ShowAll();
                option.Activated += OnFindText;

                if (args.Popup is Menu menu)
                {
                    menu.Append(option);
                }
            }
            catch (Exception err)
            {
                ShowError(err);
            }
        }
Exemple #7
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public SceneToolbar(MainWindow mainWindow, SceneWindow sceneWindow)
        {
            m_sceneWindow = sceneWindow;

            HeightRequest = 30;

            MenuBar    menuBar    = new MenuBar();
            AccelGroup accelGroup = new AccelGroup();

            mainWindow.AddAccelGroup(accelGroup);

            // view menu
            MenuItem view_item = new MenuItem("_View");
            Menu     view_menu = new Menu();

            view_item.Submenu = view_menu;
            menuBar.Append(view_item);

            MenuItem view_focus = new MenuItem("_Focus Selection");

            view_focus.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.F, Gdk.ModifierType.None, AccelFlags.Visible));
            view_focus.Activated += ((o, e) => sceneWindow.Meshes.FocusSelected());
            view_menu.Append(view_focus);

            view_menu.Append(new SeparatorMenuItem());

            MenuItem view_front = new MenuItem("_Front");

            view_front.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.KP_1, Gdk.ModifierType.None, AccelFlags.Visible));
            view_front.Activated += ((o, e) => sceneWindow.Camera.EaseCamera(SceneCamera.FRONT_VIEW));
            view_menu.Append(view_front);

            MenuItem view_back = new MenuItem("_Back");

            view_back.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.KP_1, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            view_back.Activated += ((o, e) => sceneWindow.Camera.EaseCamera(SceneCamera.BACK_VIEW));
            view_menu.Append(view_back);

            MenuItem view_right = new MenuItem("_Right");

            view_right.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.KP_3, Gdk.ModifierType.None, AccelFlags.Visible));
            view_right.Activated += ((o, e) => sceneWindow.Camera.EaseCamera(SceneCamera.RIGHT_VIEW));
            view_menu.Append(view_right);

            MenuItem view_left = new MenuItem("_Left");

            view_left.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.KP_3, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            view_left.Activated += ((o, e) => sceneWindow.Camera.EaseCamera(SceneCamera.LEFT_VIEW));
            view_menu.Append(view_left);

            MenuItem view_top = new MenuItem("_Top");

            view_top.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.KP_7, Gdk.ModifierType.None, AccelFlags.Visible));
            view_top.Activated += ((o, e) => sceneWindow.Camera.EaseCamera(SceneCamera.TOP_VIEW));
            view_menu.Append(view_top);

            MenuItem view_bottom = new MenuItem("B_ottom");

            view_bottom.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.KP_7, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            view_bottom.Activated += ((o, e) => sceneWindow.Camera.EaseCamera(SceneCamera.BOTTOM_VIEW));
            view_menu.Append(view_bottom);

            // render settings
            Label frontShadingLabel = new Label("Front Face Mode:");

            m_frontShading             = new ComboBox(Enum.GetNames(typeof(SceneMeshes.RenderMode)));
            m_frontShading.TooltipText = "The render style for front faces.";
            m_frontShading.Active      = (int)m_sceneWindow.Meshes.FrontFaceMode;
            m_frontShading.CanFocus    = false;
            m_frontShading.Changed    += OnFrontShadingChanged;

            Label backShadingLabel = new Label("Back Face Mode:");

            m_backShading             = new ComboBox(Enum.GetNames(typeof(SceneMeshes.RenderMode)));
            m_backShading.TooltipText = "The render style for back faces.";
            m_backShading.Active      = (int)m_sceneWindow.Meshes.BackFaceMode;
            m_backShading.CanFocus    = false;
            m_backShading.Changed    += OnBackShadingChanged;

            // pack elements
            HBox hBox = new HBox();

            hBox.PackStart(menuBar, false, false, 2);
            hBox.PackStart(new VSeparator(), false, false, 6);
            hBox.PackStart(frontShadingLabel, false, false, 2);
            hBox.PackStart(m_frontShading, false, false, 2);
            hBox.PackStart(new VSeparator(), false, false, 6);
            hBox.PackStart(backShadingLabel, false, false, 2);
            hBox.PackStart(m_backShading, false, false, 2);
            Add(hBox);
        }
Exemple #8
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public MainMenuBar(MainWindow mainWindow)
        {
            m_mainWindow = mainWindow;

            AccelGroup accelGroup = new AccelGroup();

            m_mainWindow.AddAccelGroup(accelGroup);

            // file menu
            MenuItem file_item = new MenuItem("_File");
            Menu     file_menu = new Menu();

            file_item.Submenu = file_menu;
            Append(file_item);

            ImageMenuItem file_openTr3 = new ImageMenuItem("Open _Tr3");

            file_openTr3.Image = new Image(Stock.Open, IconSize.Menu);
            file_openTr3.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.O, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            file_openTr3.Activated += OnOpenTr3;
            file_menu.Append(file_openTr3);

            ImageMenuItem file_openVrml = new ImageMenuItem("Open _Meshes");

            file_openVrml.Image = new Image(Stock.Open, IconSize.Menu);
            file_openVrml.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.M, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            file_openVrml.Activated += OnOpenVRML;
            file_menu.Append(file_openVrml);

            file_menu.Append(new SeparatorMenuItem());

            ImageMenuItem file_quit = new ImageMenuItem("_Quit");

            file_quit.Image = new Image(Stock.Quit, IconSize.Menu);
            file_quit.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.Q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            file_quit.Activated += OnQuit;
            file_menu.Append(file_quit);

            // edit menu
            MenuItem edit_item = new MenuItem("_Edit");
            Menu     edit_menu = new Menu();

            edit_item.Submenu = edit_menu;
            Append(edit_item);

            MenuItem edit_undo = new MenuItem("_Undo");

            edit_undo.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.Z, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            edit_undo.Activated += ((o, e) => UndoStack.Instance.Undo());
            edit_menu.Append(edit_undo);

            MenuItem edit_redo = new MenuItem("_Redo");

            edit_redo.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.Y, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            edit_redo.Activated += ((o, e) => UndoStack.Instance.Redo());
            edit_menu.Append(edit_redo);

            // mesh menu
            MenuItem mesh_item = new MenuItem("_Mesh");
            Menu     mesh_menu = new Menu();

            mesh_item.Submenu = mesh_menu;
            Append(mesh_item);

            MenuItem mesh_selectAll = new MenuItem("Select _All/None");

            mesh_selectAll.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.A, Gdk.ModifierType.None, AccelFlags.Visible));
            mesh_selectAll.Activated += ((o, e) => MeshManager.Instance.ToggleSelected());
            mesh_menu.Append(mesh_selectAll);

            MenuItem mesh_hide = new MenuItem("_Hide Selected");

            mesh_hide.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.h, Gdk.ModifierType.None, AccelFlags.Visible));
            mesh_hide.Activated += ((o, e) => MeshManager.Instance.HideSelected());
            mesh_menu.Append(mesh_hide);

            MenuItem mesh_unhide = new MenuItem("_Unhide All");

            mesh_unhide.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.H, Gdk.ModifierType.ShiftMask, AccelFlags.Visible));
            mesh_unhide.Activated += ((o, e) => MeshManager.Instance.ShowAll());
            mesh_menu.Append(mesh_unhide);

            MenuItem mesh_delete = new MenuItem("_Remove Selected");

            mesh_delete.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.Delete, Gdk.ModifierType.None, AccelFlags.Visible));
            mesh_delete.Activated += ((o, e) => MeshManager.Instance.DeleteSelected());
            mesh_menu.Append(mesh_delete);

            mesh_menu.Append(new SeparatorMenuItem());

            MenuItem mesh_smooth = new MenuItem("_Smooth Selected");

            mesh_smooth.AddAccelerator("activate", accelGroup, new AccelKey(Gdk.Key.S, Gdk.ModifierType.None, AccelFlags.Visible));
            mesh_smooth.Activated += ((o, e) => SmoothingManager.Instance.SmoothSelected());
            mesh_menu.Append(mesh_smooth);
        }
Exemple #9
0
        private void InitActions()
        {
            // show about
            AboutAction.Activated += (sender, e) =>
                                     new AboutWindow(this, About.Authors, About.Lines, About.Size).Show();

            // show supported extensions
            SupportedFormatsAction.Activated += (sender, e) =>
                                                new SupportedFormatsWindow(this).Show();

            // create new pack
            MenuItem newMenuItem = this.UIManager.GetWidget(@"/mainMenuBar/FileAction/NewAction") as MenuItem;
            Menu     newSubMenu  = new Menu();

            newMenuItem.Submenu = newSubMenu;

            Packer.SupportedExtensions.ToList().ForEach(ext =>
            {
                Gtk.Action action = new Gtk.Action(String.Format("New{0}Action", ext), ext);
                action.Activated += (sender, e) =>
                {
                    if (fileSystem != null)
                    {
                        fileSystem.Close();
                    }
                    fileSystem = null;

                    if (Packer.Create(ext, out fileSystem))
                    {
                        fileSystem.New();
                        ChangePackActionSensitive(true);
                    }
                };
                MenuItem menuItem = action.CreateMenuItem() as MenuItem;
                menuItem.AddAccelerator(
                    "activate",
                    this.UIManager.AccelGroup,
                    new AccelKey((Gdk.Key)Gdk.Key.Parse(typeof(Gdk.Key), ext[0].ToString().ToLower()),
                                 Gdk.ModifierType.ControlMask, AccelFlags.Visible));

                newSubMenu.Append(menuItem);
            });

            // open pack action
            OpenAction.Activated += (sender, e) => HandleOpenAction();

            // save current pack
            SaveAction.Activated += (sender, e) => HandleSaveAction();

            // close pack and exit
            CloseAction.Activated += (sender, e) =>
            {
                if (fileSystem != null)
                {
                    fileSystem.Close();
                }
                fileSystem = null;
                ChangePackActionSensitive(false);
                currentFolder = TreeIter.Zero;
                folderStore.Clear();
                packStore.Clear();
            };

            // exit app
            ExitAction.Activated += (sender, e) => Program.Stop();

            // add files to current pack
            AddFilesAction.Activated += (sender, e) => HandleAddFilesAction();

            // add folder to current pack
            AddFolderAction.Activated += (sender, e) => HandleAddFolderAction();

            // remove items from current pack
            RemoveAction.Activated += (sender, e) => HandleRemoveAction();

            // extract items from current pack
            ExtractAction.Activated += (sender, e) => HandleExtractAction();

            // extract all items from current pack
            ExtractAllAction.Activated += (sender, e) => HandleExtractAllAction();
        }
Exemple #10
0
    private MenuBar _ApplicationMenu()
    {
        MenuItem tmpMenuItem, tmpMenuHeader;

        SeparatorMenuItem tmpSeparator;

        MenuBar tmpMainMenu = new MenuBar();

        //The "File" menu
        Menu tmpFileMenu = new Menu();

        tmpMenuItem = new ImageMenuItem(Stock.Open, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.Save, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.SaveAs, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.New, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpFileMenu.Append(tmpSeparator);

        tmpMenuItem = new MenuItem("_Export Image (unimplimented)");
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpFileMenu.Append(tmpSeparator);

        tmpMenuItem            = new ImageMenuItem(Stock.Quit, _AcceleratorGroup);
        tmpMenuItem.Activated += new EventHandler(Menu_Exit);
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("_File");
        tmpMenuHeader.Submenu = tmpFileMenu;

        tmpMainMenu.Append(tmpMenuHeader);



        Menu tmpEditMenu = new Menu();

        tmpMenuItem            = new ImageMenuItem(Stock.Copy, _AcceleratorGroup);
        tmpMenuItem.Activated += new EventHandler(Menu_Copy_Parameters);
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuItem = new MenuItem("Copy _Image");
        //tmp_Menu_Item.Activated += new EventHandler (  );
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.Paste, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpEditMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpEditMenu.Append(tmpSeparator);

        tmpMenuItem            = new MenuItem("_Show Selection");
        tmpMenuItem.Activated += new EventHandler(MenuSelectionShow);
        tmpMenuItem.AddAccelerator("activate", _AcceleratorGroup, new AccelKey(Gdk.Key.F11, Gdk.ModifierType.None, AccelFlags.Visible));
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuItem            = new MenuItem("_Hide Selection");
        tmpMenuItem.Activated += new EventHandler(MenuSelectionHide);
        tmpMenuItem.AddAccelerator("activate", _AcceleratorGroup, new AccelKey(Gdk.Key.F12, Gdk.ModifierType.None, AccelFlags.Visible));
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("_Edit");
        tmpMenuHeader.Submenu = tmpEditMenu;
        tmpMainMenu.Append(tmpMenuHeader);


        Menu tmpEnginesMenu = new Menu();

        tmpMenuItem            = new MenuItem("_Mandelbrot");
        tmpMenuItem.Activated += new EventHandler(MenuSwitchEngineMandelbrot);
        tmpEnginesMenu.Append(tmpMenuItem);

        tmpMenuItem            = new MenuItem("_Julia");
        tmpMenuItem.Activated += new EventHandler(MenuSwitchEngineJulia);
        tmpEnginesMenu.Append(tmpMenuItem);

        tmpMenuItem            = new MenuItem("Debug Grid");
        tmpMenuItem.Activated += new EventHandler(MenuSwitchEngineGrid);
        tmpEnginesMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("E_ngines");
        tmpMenuHeader.Submenu = tmpEnginesMenu;
        tmpMainMenu.Append(tmpMenuHeader);


        Menu tmpRenderMenu = new Menu();

        tmpMenuItem = new MenuItem("_Render Image");
        tmpMenuItem.AddAccelerator("activate", _AcceleratorGroup, new AccelKey(Gdk.Key.R, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        tmpMenuItem.Activated += new EventHandler(Menu_Render);
        tmpRenderMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpRenderMenu.Append(tmpSeparator);
        //...

        //Quality Submenu
        Menu tmpRenderQualityMenu = new Menu();

        this._MenuQuality = new CheckMenuItem[8];

        this._MenuQuality[0]            = new CheckMenuItem("_0 - Low");
        this._MenuQuality[0].Activated += new EventHandler(MenuQualityChange0);
        tmpRenderQualityMenu.Append(this._MenuQuality[0]);

        this._MenuQuality[1] = new CheckMenuItem("_1 - Standard");
        ((CheckMenuItem)this._MenuQuality[1]).Active = true;
        this._MenuQuality[1].Activated += new EventHandler(MenuQualityChange1);
        tmpRenderQualityMenu.Append(this._MenuQuality[1]);

        this._MenuQuality[2]            = new CheckMenuItem("_2 - High");
        this._MenuQuality[2].Activated += new EventHandler(MenuQualityChange2);
        tmpRenderQualityMenu.Append(this._MenuQuality[2]);

        this._MenuQuality[3]            = new CheckMenuItem("_3 - Very High (Slow)");
        this._MenuQuality[3].Activated += new EventHandler(MenuQualityChange3);
        tmpRenderQualityMenu.Append(this._MenuQuality[3]);

        this._MenuQuality[4]            = new CheckMenuItem("_4 - Super High (Very Slow)");
        this._MenuQuality[4].Activated += new EventHandler(MenuQualityChange4);
        tmpRenderQualityMenu.Append(this._MenuQuality[4]);

        this._MenuQuality[5]            = new CheckMenuItem("_5 - Ultra Super High (Very Very Slow)");
        this._MenuQuality[5].Activated += new EventHandler(MenuQualityChange5);
        tmpRenderQualityMenu.Append(this._MenuQuality[5]);

        this._MenuQuality[6]            = new CheckMenuItem("_6 - Ultra Super High (Very Slow Squared)");
        this._MenuQuality[6].Activated += new EventHandler(MenuQualityChange6);
        tmpRenderQualityMenu.Append(this._MenuQuality[6]);

        this._MenuQuality[7]            = new CheckMenuItem("_7 - Gimongous");
        this._MenuQuality[7].Activated += new EventHandler(MenuQualityChange7);
        tmpRenderQualityMenu.Append(this._MenuQuality[7]);

        tmpMenuItem         = new MenuItem("Render _Quality");
        tmpMenuItem.Submenu = tmpRenderQualityMenu;
        tmpRenderMenu.Append(tmpMenuItem);
        //End Quality Submenu

        tmpSeparator = new SeparatorMenuItem();
        tmpRenderMenu.Append(tmpSeparator);

        tmpMenuItem = new CheckMenuItem("Visual");
        ((CheckMenuItem)tmpMenuItem).Active = true;
        tmpMenuItem.Activated += new EventHandler(MenuQualityToggleVisual);
        tmpRenderMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("_Render");
        tmpMenuHeader.Submenu = tmpRenderMenu;
        tmpMainMenu.Append(tmpMenuHeader);

        return(tmpMainMenu);
    }
Exemple #11
0
        public MainForm() : base("漢字七")
        {
            _background = Resources.ResourceManager.GetObject("background") as Bitmap;
            SetSizeRequest(900, 700);

            var version = Assembly.GetExecutingAssembly().GetName().Version.ToString().Split('.');

            _version = $"{version[0]}.{version[1]}";

            var vbox = new VBox {
                Spacing = 10
            };

            if (PixbufUtil.TryFrom(Resources.ResourceManager.GetObject("logo"), out Pixbuf pixbuf))
            {
                _logo.Pixbuf = pixbuf;
            }

            AddAccelGroup(_accelGroup);

            //ファイル
            var fileMenu = new Menu();
            var file     = new MenuItem("ファイル(_F)")
            {
                Submenu = fileMenu 
            };

            var game = new MenuItem("新しいゲーム…");

            game.Activated += OpenFlashCardGame;
            game.AddAccelerator("activate", _accelGroup, new AccelKey(Key.n, ModifierType.ControlMask, AccelFlags.Visible));
            fileMenu.Add(game);

            var settings = new MenuItem("設定…");

            settings.Activated += OpenConfiguration;
            settings.AddAccelerator("activate", _accelGroup, new AccelKey(Key.s, ModifierType.ControlMask | ModifierType.Mod1Mask, AccelFlags.Visible));
            fileMenu.Add(settings);

            fileMenu.Add(new SeparatorMenuItem());

            var exit = new MenuItem("終了");

            exit.Activated += Exit;
            exit.AddAccelerator("activate", _accelGroup, new AccelKey(Key.q, ModifierType.ControlMask, AccelFlags.Visible));
            fileMenu.Add(exit);

            _menuBar.Append(file);

            //単語
            var tangoMenu = new Menu();
            var tango     = new MenuItem("単語(_T)")
            {
                Submenu = tangoMenu 
            };

            var registration = new MenuItem("登録…");

            registration.Activated += OpenTangoEditor;
            registration.AddAccelerator("activate", _accelGroup, new AccelKey(Key.r, ModifierType.ControlMask, AccelFlags.Visible));
            tangoMenu.Add(registration);

            _menuBar.Append(tango);

            //ヘルプ
            var helpMenu = new Menu();
            var help     = new MenuItem("ヘルプ(_H)")
            {
                 Submenu = helpMenu 
            };

            var info = new MenuItem("バージョン情報…");

            info.Activated += About;
            info.AddAccelerator("activate", _accelGroup, new AccelKey(Key.F1, ModifierType.None, AccelFlags.Visible));
            helpMenu.Add(info);

            _menuBar.Append(help);
            _mainVerticalBox.PackStart(_menuBar, false, false, 0);

            var play = new ToolButton(Stock.MediaPlay);

            play.Clicked += OpenFlashCardGame;
            _toolbar.Insert(play, 0);

            var edit = new ToolButton(Stock.Edit);

            edit.Clicked += OpenTangoEditor;
            _toolbar.Insert(edit, 1);

            var preferences = new ToolButton(Stock.Preferences);

            preferences.Clicked += OpenConfiguration;
            _toolbar.Insert(preferences, 2);

            _toolbar.Insert(new SeparatorToolItem(), 3);

            var quit = new ToolButton(Stock.Quit);

            quit.Clicked += Exit;
            _toolbar.Insert(quit, 4);

            _mainVerticalBox.PackStart(_toolbar, false, true, 0);

            vbox.PackStart(new Label(), true, false, 0);
            vbox.PackStart(_logo, false, true, 0);
            vbox.PackStart(new Label("漢字七").SetFontSize(40).SetForegroundColor(0, 0, 0), false, false, 0);
            vbox.PackStart(new Label($"バージョン: {_version}").SetForegroundColor(255, 50, 50), false, false, 0);
            vbox.PackStart(new Label(), true, false, 0);

            _mainVerticalBox.PackStart(vbox, true, true, 0);
            _mainVerticalBox.PackStart(_statusbar, false, true, 0);
            Add(_mainVerticalBox);

            ExposeEvent += OnExposeEvent;

            ShowAll();
            GrabFocus();
        }