Example #1
0
        void GenerateMenu(GenerateActionArgs args)
        {
            var file = args.Menu.GetSubmenu("&File", 100);

            args.Menu.GetSubmenu("&Edit", 200);
            args.Menu.GetSubmenu("&Window", 900);
            var help = args.Menu.GetSubmenu("&Help", 1000);

            if (Generator.IsMac)
            {
                // have a nice OS X style menu

                var main = args.Menu.GetSubmenu(Application.Instance.Name, 0);
                main.Actions.Add(Actions.About.ActionID, 0);
                main.Actions.Add(Actions.Quit.ActionID, 1000);
            }
            else
            {
                // windows/gtk style window
                file.Actions.Add(Actions.Quit.ActionID);

                help.Actions.Add(Actions.About.ActionID);
            }

#if DESKTOP
            this.Menu = args.Menu.GenerateMenuBar();
#endif
        }
Example #2
0
        void GenerateToolBar(GenerateActionArgs args)
        {
            args.ToolBar.Add(Actions.Quit.ActionID);
            args.ToolBar.Add(Actions.About.ActionID);
#if DESKTOP
            // TODO for mobile
            this.ToolBar = args.ToolBar.GenerateToolBar();
#endif
        }
Example #3
0
        private void GenerateMenu(GenerateActionArgs args)
        {
            var main   = args.Menu.FindAddSubMenu(this.Text, 0);
            var file   = args.Menu.FindAddSubMenu("&File", 0);
            var edit   = args.Menu.FindAddSubMenu("&Edit", 0);
            var window = args.Menu.FindAddSubMenu("&Window", 1000);
            var help   = args.Menu.FindAddSubMenu("Help", 1000);

            if (Generator.ID == "mac")
            {
                main.Actions.Add(Actions.About.ActionID);
                main.Actions.AddSeparator();
                main.Actions.Add(Actions.Preferences.ActionID);
                main.Actions.AddSeparator();
                main.Actions.Add("mac_hide");
                main.Actions.Add("mac_hideothers");
                main.Actions.Add("mac_showall");
                main.Actions.AddSeparator();
                main.Actions.Add(Actions.Quit.ActionID);

                edit.Actions.Add("mac_undo");
                edit.Actions.Add("mac_redo");
                edit.Actions.AddSeparator();
                edit.Actions.Add("mac_cut");
                edit.Actions.Add("mac_copy");
                edit.Actions.Add("mac_paste");
                edit.Actions.Add("mac_delete");
                edit.Actions.AddSeparator();
                edit.Actions.Add("mac_selectAll");

                file.Actions.Add(Actions.Save.ActionID);
                file.Actions.Add(Actions.New.ActionID);
                file.Actions.Add(Actions.Delete.ActionID);
                file.Actions.Add(Actions.Rename.ActionID);

                window.Actions.Add("mac_performMiniaturize");
                window.Actions.Add("mac_performZoom");
            }
            else
            {
                file.Actions.Add(Actions.Preferences.ActionID);
                file.Actions.AddSeparator();
                file.Actions.Add(Actions.Save.ActionID);
                file.Actions.Add(Actions.New.ActionID);
                file.Actions.Add(Actions.Delete.ActionID);
                file.Actions.Add(Actions.Rename.ActionID);
                file.Actions.AddSeparator();
                file.Actions.Add(Actions.Quit.ActionID);

                help.Actions.Add(Actions.About.ActionID);
            }

            this.Menu = args.Menu.GenerateMenuBar();
        }
Example #4
0
        private void GenerateToolBar(GenerateActionArgs args)
        {
            args.ToolBar.Add(Actions.New.ActionID);
            args.ToolBar.Add(Actions.Delete.ActionID);
            args.ToolBar.Add(Actions.Rename.ActionID);
            //args.ToolBar.AddFlexibleSpace();
            //args.ToolBar.Add(Actions.Preferences.ActionID);
            //args.ToolBar.Add(Actions.About.ActionID);

            this.ToolBar       = args.ToolBar.GenerateToolBar();
            this.ToolBar.Style = "ToolBar";
        }
Example #5
0
        private void GenerateActions()
        {
            // generate action args
            GenerateActionArgs args = new GenerateActionArgs();

            Application.Instance.GetSystemActions(args);
            args.Actions.Add(new Actions.About());
            args.Actions.Add(new Actions.Quit());
            args.Actions.Add(new Actions.Close());
            args.Actions.Add(new Actions.New());
            args.Actions.Add(new Actions.Save());
            args.Actions.Add(new Actions.Delete());
            args.Actions.Add(new Actions.Preferences());
            args.Actions.Add(new Actions.Rename());

            // generate menu and toolbar
            GenerateMenu(args);
            GenerateToolBar(args);
        }
Example #6
0
        void GenerateMenuToolBarActions()
        {
            // use actions to generate menu & toolbar to share logic
            var args = new GenerateActionArgs();

            // generate actions to use in menus and toolbars
            Application.Instance.GetSystemActions(args, true);

            args.Actions.Add(new Actions.About());
            args.Actions.Add(new Actions.Quit());
            args.Actions.Add(new Actions.Close());


            // generate and set the menu
            GenerateMenu(args);

            // generate and set the toolbar
            GenerateToolBar(args);
        }
Example #7
0
        void GenerateActions()
        {
            var actions = new GenerateActionArgs(this);

            Application.Instance.GetSystemActions(actions, true);

            var quitAction = new ButtonAction {
                Text = "Quit", Accelerator = Application.Instance.CommonModifier | Key.Q
            };

            quitAction.Activated += (sender, e) => Application.Instance.Quit();

            // add action to file sub-menu
            var file = actions.Menu.FindAddSubMenu("&File");

            file.Actions.Add(quitAction);

            // generate menu
            this.Menu = actions.Menu.GenerateMenuBar();
        }
Example #8
0
File: Main.cs Project: pcdummy/Eto
        void GenerateActions()
        {
            var actions = new GenerateActionArgs(this);

            Application.Instance.GetSystemActions(actions, true);

            var myAction = new MyAction();

            // add action to file sub-menu
            var file = actions.Menu.FindAddSubMenu("&File");

            file.Actions.Add(myAction);

            // add action to toolbar
            actions.ToolBar.Add(myAction);

            // generate menu & toolbar
            this.Menu    = actions.Menu.GenerateMenuBar();
            this.ToolBar = actions.ToolBar.GenerateToolBar();
        }
Example #9
0
 public void GetSystemActions(GenerateActionArgs args, bool addStandardItems)
 {
 }
Example #10
0
 public void GetSystemActions(GenerateActionArgs args)
 {
 }
Example #11
0
        public void GetSystemActions(GenerateActionArgs args, bool addStandardItems)
        {
            args.Actions.AddButton("mac_hide", string.Format("Hide {0}|Hide {0}|Hides the main {0} window", Widget.Name), delegate {
                NSApplication.SharedApplication.Hide(NSApplication.SharedApplication);
            }, Key.H | Key.Application);
            args.Actions.AddButton("mac_hideothers", "Hide Others|Hide Others|Hides all other application windows", delegate {
                NSApplication.SharedApplication.HideOtherApplications(NSApplication.SharedApplication);
            }, Key.H | Key.Application | Key.Alt);
            args.Actions.AddButton("mac_showall", "Show All|Show All|Show All Windows", delegate {
                NSApplication.SharedApplication.UnhideAllApplications(NSApplication.SharedApplication);
            });

            args.Actions.Add(new MacButtonAction("mac_performMiniaturize", "Minimize", "performMiniaturize:")
            {
                Accelerator = Key.Application | Key.M
            });
            args.Actions.Add(new MacButtonAction("mac_performZoom", "Zoom", "performZoom:"));
            args.Actions.Add(new MacButtonAction("mac_performClose", "Close", "performClose:")
            {
                Accelerator = Key.Application | Key.W
            });
            args.Actions.Add(new MacButtonAction("mac_arrangeInFront", "Bring All To Front", "arrangeInFront:"));
            args.Actions.Add(new MacButtonAction("mac_cut", "Cut", "cut:")
            {
                Accelerator = Key.Application | Key.X
            });
            args.Actions.Add(new MacButtonAction("mac_copy", "Copy", "copy:")
            {
                Accelerator = Key.Application | Key.C
            });
            args.Actions.Add(new MacButtonAction("mac_paste", "Paste", "paste:")
            {
                Accelerator = Key.Application | Key.V
            });
            args.Actions.Add(new MacButtonAction("mac_pasteAsPlainText", "Paste and Match Style", "pasteAsPlainText:")
            {
                Accelerator = Key.Application | Key.Alt | Key.Shift | Key.V
            });
            args.Actions.Add(new MacButtonAction("mac_delete", "Delete", "delete:"));
            args.Actions.Add(new MacButtonAction("mac_selectAll", "Select All", "selectAll:")
            {
                Accelerator = Key.Application | Key.A
            });
            args.Actions.Add(new MacButtonAction("mac_undo", "Undo", "undo:")
            {
                Accelerator = Key.Application | Key.Z
            });
            args.Actions.Add(new MacButtonAction("mac_redo", "Redo", "redo:")
            {
                Accelerator = Key.Application | Key.Shift | Key.Z
            });
            args.Actions.Add(new MacButtonAction("mac_toggleFullScreen", "Enter Full Screen", "toggleFullScreen:")
            {
                Accelerator = Key.Application | Key.Control | Key.F
            });
            args.Actions.Add(new MacButtonAction("mac_runPageLayout", "Page Setup...", "runPageLayout:")
            {
                Accelerator = Key.Application | Key.Shift | Key.P
            });
            args.Actions.Add(new MacButtonAction("mac_print", "Print...", "print:")
            {
                Accelerator = Key.Application | Key.P
            });

            if (addStandardItems)
            {
                var application = args.Menu.FindAddSubMenu(Widget.Name ?? "Application", 100);
                application.Actions.AddSeparator(800);
                application.Actions.Add("mac_hide", 800);
                application.Actions.Add("mac_hideothers", 800);
                application.Actions.Add("mac_showall", 800);
                application.Actions.AddSeparator(801);

                var file = args.Menu.FindAddSubMenu("&File", 100);
                file.Actions.AddSeparator(900);
                file.Actions.Add("mac_performClose", 900);

                if (AddPrintingMenuItems)
                {
                    file.Actions.AddSeparator(1000);
                    file.Actions.Add("mac_runPageLayout", 1000);
                    file.Actions.Add("mac_print", 1000);
                }

                var edit = args.Menu.FindAddSubMenu("&Edit", 200);
                edit.Actions.AddSeparator(100);
                edit.Actions.Add("mac_undo", 100);
                edit.Actions.Add("mac_redo", 100);
                edit.Actions.AddSeparator(101);

                edit.Actions.AddSeparator(200);
                edit.Actions.Add("mac_cut", 200);
                edit.Actions.Add("mac_copy", 200);
                edit.Actions.Add("mac_paste", 200);
                edit.Actions.Add("mac_delete", 200);
                edit.Actions.Add("mac_selectAll", 200);
                edit.Actions.AddSeparator(201);

                var window = args.Menu.FindAddSubMenu("&Window", 900);
                window.Actions.AddSeparator(100);
                window.Actions.Add("mac_performMiniaturize", 100);
                window.Actions.Add("mac_performZoom", 100);
                window.Actions.AddSeparator(101);

                window.Actions.AddSeparator(200);
                window.Actions.Add("mac_arrangeInFront", 200);
                window.Actions.AddSeparator(201);

                if (AddFullScreenMenuItem)
                {
                    var view = args.Menu.FindAddSubMenu("&View", 300);
                    view.Actions.AddSeparator(900);
                    view.Actions.Add("mac_toggleFullScreen", 900);
                    view.Actions.AddSeparator(901);
                }

                var help = args.Menu.FindAddSubMenu("&Help", 900);

                // add separator so help menu is always shown even when empty
                help.Actions.AddSeparator(0);
            }
        }