Beispiel #1
0
        public void CreateMainMenu(Gtk.Menu menu)
        {
            MenuItem show_pad = (MenuItem)menu.Children[0];

            menu.Remove(show_pad);

            menu.Append(ToolBar.CreateMenuItem());
            menu.Append(PixelGrid.CreateMenuItem());
            menu.Append(Rulers.CreateMenuItem());
            menu.Append(ImageTabs.CreateMenuItem());
            menu.AppendSeparator();

            ImageMenuItem zoomin = ZoomIn.CreateAcceleratedMenuItem(Gdk.Key.plus, Gdk.ModifierType.ControlMask);

            zoomin.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.equal, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            zoomin.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.equal, 0, AccelFlags.Visible));
            zoomin.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.KP_Add, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            zoomin.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.KP_Add, 0, AccelFlags.Visible));
            menu.Append(zoomin);

            ImageMenuItem zoomout = ZoomOut.CreateAcceleratedMenuItem(Gdk.Key.minus, Gdk.ModifierType.ControlMask);

            zoomout.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.minus, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            zoomout.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.minus, 0, AccelFlags.Visible));
            zoomout.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.KP_Subtract, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            zoomout.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.KP_Subtract, 0, AccelFlags.Visible));
            menu.Append(zoomout);

            ImageMenuItem actualsize = ActualSize.CreateAcceleratedMenuItem(Gdk.Key.Key_0, Gdk.ModifierType.ControlMask);

            actualsize.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.A, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask, AccelFlags.Visible));
            menu.Append(actualsize);
            menu.Append(ZoomToWindow.CreateAcceleratedMenuItem(Gdk.Key.B, Gdk.ModifierType.ControlMask));
            //menu.Append (ZoomToSelection.CreateAcceleratedMenuItem (Gdk.Key.B, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask));
            menu.Append(Fullscreen.CreateAcceleratedMenuItem(Gdk.Key.F11, Gdk.ModifierType.None));

            menu.AppendSeparator();

            Gtk.Action unit_action = new Gtk.Action("RulerUnits", Mono.Unix.Catalog.GetString("Ruler Units"), null, null);
            Menu       unit_menu   = (Menu)menu.AppendItem(unit_action.CreateSubMenuItem()).Submenu;

            unit_menu.Append(Pixels.CreateMenuItem());
            unit_menu.Append(Inches.CreateMenuItem());
            unit_menu.Append(Centimeters.CreateMenuItem());

            menu.AppendSeparator();
            menu.Append(show_pad);
        }
Beispiel #2
0
        void OnPopulatePopup(object o, PopulatePopupArgs args)
        {
            Menu     menu = args.Menu;
            MenuItem item;

            item = new SeparatorMenuItem();
            item.Show();
            menu.Prepend(item);

            item = new ImageMenuItem(Stock.Redo, null)
            {
                Sensitive = UndoManager.CanRedo
            };
            item.Activated += delegate { UndoManager.Redo(); };
            item.AddAccelerator("activate", accel_group, (uint)Gdk.Key.z,
                                Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask,
                                AccelFlags.Visible);
            item.Show();
            menu.Prepend(item);

            item = new ImageMenuItem(Stock.Undo, null)
            {
                Sensitive = UndoManager.CanUndo
            };
            item.Activated += delegate { UndoManager.Undo(); };
            item.AddAccelerator("activate", accel_group, (uint)Gdk.Key.z,
                                Gdk.ModifierType.ControlMask, AccelFlags.Visible);
            item.Show();
            menu.Prepend(item);
        }
Beispiel #3
0
        //build menubar
        void BuildMenuBar()
        {
            //create new menu bar
            menuBar = new MenuBar();

            //create 'file' dropdown
            filemenu     = new Gtk.Menu();
            file         = new Gtk.MenuItem("File");
            file.Submenu = filemenu;


            agr = new AccelGroup();
            mainWindowTracker.AddAccelGroup(agr);

            //add new button to file dropdown
            newi = new ImageMenuItem(Stock.New, agr);
            newi.AddAccelerator("activate", agr, new AccelKey(
                                    Gdk.Key.n, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            newi.Activated += NewCrop;
            filemenu.Append(newi);

            //add hr line
            sep = new SeparatorMenuItem();
            filemenu.Append(sep);

            //add close button
            exit = new ImageMenuItem(Stock.Quit, agr);
            exit.AddAccelerator("activate", agr, new AccelKey(
                                    Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));

            //set up exit button
            exit.Activated += OnActivated;
            filemenu.Append(exit);

            //add to menu bar
            menuBar.Append(file);

            //add new vbox
            vbox = new VBox(false, 2);
            vbox.PackStart(menuBar, true, true, 0);

            //add our event box that contains our image
            vbox.PackStart(toCropBox);

            //add our upload button
            hbox                  = new HBox();
            uploadButton          = new Gtk.Button();
            uploadButton.Label    = "Upload Image";
            uploadButton.Clicked += UploadCroppedImage;
            hbox.PackEnd(uploadButton, false, false, 2);
            vbox.PackEnd(hbox, false, false, 5);

            //finally add to main window
            mainWindowTracker.Add(vbox);

            mainWindowTracker.ShowAll();
        }
Beispiel #4
0
        public static Gtk.ImageMenuItem CreateAcceleratedMenuItem(this Gtk.Action action, Gdk.Key key, Gdk.ModifierType mods)
        {
            ImageMenuItem item = (ImageMenuItem)action.CreateMenuItem();

            (item.Child as AccelLabel).AccelWidget = item;
            item.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(key, mods, AccelFlags.Visible));

            return(item);
        }
Beispiel #5
0
 /// <summary>Populate the context menu from the descriptions passed in.</summary>
 /// <param name="menuDescriptions">Menu descriptions for each menu item.</param>
 public void PopulateContextMenu(List <MenuDescriptionArgs> menuDescriptions)
 {
     ClearPopup();
     foreach (MenuDescriptionArgs Description in menuDescriptions)
     {
         ImageMenuItem item = new ImageMenuItem(Description.Name);
         if (!String.IsNullOrEmpty(Description.ResourceNameForImage) && hasResource(Description.ResourceNameForImage))
         {
             item.Image = new Image(null, Description.ResourceNameForImage);
         }
         if (!String.IsNullOrEmpty(Description.ShortcutKey))
         {
             string           keyName  = String.Empty;
             Gdk.ModifierType modifier = Gdk.ModifierType.None;
             string[]         keyNames = Description.ShortcutKey.Split(new Char[] { '+' });
             foreach (string name in keyNames)
             {
                 if (name == "Ctrl")
                 {
                     modifier |= Gdk.ModifierType.ControlMask;
                 }
                 else if (name == "Shift")
                 {
                     modifier |= Gdk.ModifierType.ShiftMask;
                 }
                 else if (name == "Alt")
                 {
                     modifier |= Gdk.ModifierType.Mod1Mask;
                 }
                 else if (name == "Del")
                 {
                     keyName = "Delete";
                 }
                 else
                 {
                     keyName = name;
                 }
             }
             try
             {
                 Gdk.Key accelKey = (Gdk.Key)Enum.Parse(typeof(Gdk.Key), keyName, false);
                 item.AddAccelerator("activate", accel, (uint)accelKey, modifier, AccelFlags.Visible);
             }
             catch
             {
             }
         }
         item.Activated += Description.OnClick;
         Popup.Append(item);
     }
     if (Popup.AttachWidget == null)
     {
         Popup.AttachToWidget(treeview1, null);
     }
     Popup.ShowAll();
 }
Beispiel #6
0
        // Create "View" menu
        MenuItem CreateViewMenu(AccelGroup agr)
        {
            MenuItem view     = new MenuItem("_View");
            Menu     viewMenu = new Menu();

            view.Submenu = viewMenu;

            powerVisible            = new CheckMenuItem("Show power _graph");
            powerVisible.Active     = settings.PowerGraphVisible;
            powerVisible.Activated += OnShowPowerGraph;
            powerVisible.AddAccelerator("activate", agr,
                                        new AccelKey(Gdk.Key.F3, Gdk.ModifierType.None,
                                                     AccelFlags.Visible));
            viewMenu.Append(powerVisible);

            viewMenu.Append(new SeparatorMenuItem());

            MenuItem zoomIn = new ImageMenuItem(Stock.ZoomIn, agr);

            zoomIn.Activated += (obj, evt) =>
                                debugPane.PowerView.ZoomIn();
            zoomIn.AddAccelerator("activate", agr,
                                  new AccelKey(Gdk.Key.plus, Gdk.ModifierType.ControlMask,
                                               AccelFlags.Visible));
            viewMenu.Append(zoomIn);

            MenuItem zoomOut = new ImageMenuItem(Stock.ZoomOut, agr);

            zoomOut.Activated += (obj, evt) =>
                                 debugPane.PowerView.ZoomOut();
            zoomOut.AddAccelerator("activate", agr,
                                   new AccelKey(Gdk.Key.minus, Gdk.ModifierType.ControlMask,
                                                AccelFlags.Visible));
            viewMenu.Append(zoomOut);

            MenuItem zoomFit = new ImageMenuItem(Stock.ZoomFit, agr);

            zoomFit.Activated += (obj, evt) =>
                                 debugPane.PowerView.ZoomFit();
            zoomFit.AddAccelerator("activate", agr,
                                   new AccelKey(Gdk.Key.Key_0, Gdk.ModifierType.ControlMask,
                                                AccelFlags.Visible));
            viewMenu.Append(zoomFit);

            MenuItem zoomFull = new ImageMenuItem(Stock.Zoom100, agr);

            zoomFull.Activated += (obj, evt) =>
                                  debugPane.PowerView.ZoomFull();
            zoomFull.AddAccelerator("activate", agr,
                                    new AccelKey(Gdk.Key.Key_1, Gdk.ModifierType.ControlMask,
                                                 AccelFlags.Visible));
            viewMenu.Append(zoomFull);

            return(view);
        }
Beispiel #7
0
        /// <summary>
        /// Add an action (on context menu) on the text area.
        /// </summary>
        /// <param name="menuItemText">The text of the menu item</param>
        /// <param name="onClick">The event handler to call when menu is selected</param>
        /// <param name="shortcut">The shortcut string</param>
        public MenuItem AddContextActionWithAccel(string menuItemText, System.EventHandler onClick, string shortcut)
        {
            ImageMenuItem item = new ImageMenuItem(menuItemText);

            if (!string.IsNullOrEmpty(shortcut))
            {
                string           keyName  = string.Empty;
                Gdk.ModifierType modifier = Gdk.ModifierType.None;
                string[]         keyNames = shortcut.Split(new char[] { '+' });
                foreach (string name in keyNames)
                {
                    if (name == "Ctrl")
                    {
                        modifier |= Gdk.ModifierType.ControlMask;
                    }
                    else if (name == "Shift")
                    {
                        modifier |= Gdk.ModifierType.ShiftMask;
                    }
                    else if (name == "Alt")
                    {
                        modifier |= Gdk.ModifierType.Mod1Mask;
                    }
                    else if (name == "Del")
                    {
                        keyName = "Delete";
                    }
                    else
                    {
                        keyName = name;
                    }
                }
                try
                {
                    Gdk.Key accelKey = (Gdk.Key)Enum.Parse(typeof(Gdk.Key), keyName, false);
                    item.AddAccelerator("activate", accel, (uint)accelKey, modifier, AccelFlags.Visible);
                }
                catch
                {
                }
            }
            if (onClick != null)
            {
                item.Activated += onClick;
            }
            popupMenu.Append(item);
            popupMenu.ShowAll();
            return(item);
        }
Beispiel #8
0
        void AddMenu()
        {
            var mb = new MenuBar();

            var filemenu = new Menu();
            var file     = new MenuItem("文件")
            {
                Submenu = filemenu
            };

            var agr = new AccelGroup();

            AddAccelGroup(agr);

            var newi = new ImageMenuItem(Stock.New, agr);

            newi.AddAccelerator("activate", agr, new AccelKey(Gdk.Key.n, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            filemenu.Append(newi);

            var open = new ImageMenuItem(Stock.Open, agr);

            open.AddAccelerator("activate", agr, new AccelKey(Gdk.Key.n, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            filemenu.Append(open);

            var sep = new SeparatorMenuItem();

            filemenu.Append(sep);

            var exit = new ImageMenuItem(Stock.Quit, agr);

            exit.AddAccelerator("activate", agr, new AccelKey(Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));

            //var exit = new MenuItem("退出");
            exit.Activated += (sender, args) =>
            {
                Application.Quit();
            };
            filemenu.Append(exit);

            mb.Append(file);

            //var _windowBox = new VBox(false, 2);
            _windowBox.PackStart(mb, false, false, 0);
            //_windowBox.PackStart(new Label("2333"), false, false, 0);

            //Add(_windowBox);
        }
Beispiel #9
0
    private MenuItem MakeFileMenu()
    {
        Menu       menu  = new Menu();
        AccelGroup group = new AccelGroup();

        window.AddAccelGroup(group);

        ImageMenuItem quit = new ImageMenuItem(Stock.Quit, group);

        quit.AddAccelerator("activate", group, new AccelKey(Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        quit.Activated += new EventHandler(OnFileQuit);
        menu.Append(quit);

        MenuItem label = new MenuItem("_File");

        label.Submenu = menu;
        return(label);
    }
Beispiel #10
0
        public void CreateMainMenu(Gtk.Menu menu)
        {
            menu.Append(Undo.CreateAcceleratedMenuItem(Gdk.Key.Z, Gdk.ModifierType.ControlMask));

            ImageMenuItem redo = Redo.CreateAcceleratedMenuItem(Gdk.Key.Z, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask);

            redo.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.Y, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            menu.Append(redo);

            menu.AppendSeparator();
            menu.Append(Cut.CreateAcceleratedMenuItem(Gdk.Key.X, Gdk.ModifierType.ControlMask));
            menu.Append(Copy.CreateAcceleratedMenuItem(Gdk.Key.C, Gdk.ModifierType.ControlMask));
            menu.Append(CopyMerged.CreateAcceleratedMenuItem(Gdk.Key.C, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask));
            menu.Append(Paste.CreateAcceleratedMenuItem(Gdk.Key.V, Gdk.ModifierType.ControlMask));
            menu.Append(PasteIntoNewLayer.CreateAcceleratedMenuItem(Gdk.Key.V, Gdk.ModifierType.ShiftMask | Gdk.ModifierType.ControlMask));
            menu.Append(PasteIntoNewImage.CreateAcceleratedMenuItem(Gdk.Key.V, Gdk.ModifierType.Mod1Mask | Gdk.ModifierType.ControlMask));

            menu.AppendSeparator();
            menu.Append(SelectAll.CreateAcceleratedMenuItem(Gdk.Key.A, Gdk.ModifierType.ControlMask));

            ImageMenuItem deslect = Deselect.CreateAcceleratedMenuItem(Gdk.Key.A, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask);

            deslect.AddAccelerator("activate", PintaCore.Actions.AccelGroup, new AccelKey(Gdk.Key.D, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            menu.Append(deslect);

            menu.AppendSeparator();
            menu.Append(EraseSelection.CreateAcceleratedMenuItem(Gdk.Key.Delete, Gdk.ModifierType.None));
            menu.Append(FillSelection.CreateAcceleratedMenuItem(Gdk.Key.BackSpace, Gdk.ModifierType.None));
            menu.Append(InvertSelection.CreateAcceleratedMenuItem(Gdk.Key.I, Gdk.ModifierType.ControlMask));

            menu.AppendSeparator();
            Gtk.Action menu_action  = new Gtk.Action("Palette", Mono.Unix.Catalog.GetString("Palette"), null, null);
            Menu       palette_menu = (Menu)menu.AppendItem(menu_action.CreateSubMenuItem()).Submenu;

            palette_menu.Append(LoadPalette.CreateMenuItem());
            palette_menu.Append(SavePalette.CreateMenuItem());
            palette_menu.Append(ResetPalette.CreateMenuItem());
            palette_menu.Append(ResizePalette.CreateMenuItem());

            menu.AppendSeparator();
            menu.Append(AddinManager.CreateMenuItem());
        }
Beispiel #11
0
        private Menu AddDefaultMenus(Menu menu)
        {
            AccelGroup agr = new AccelGroup();

            menu.Append(new SeparatorMenuItem());

            ImageMenuItem menuItemPrefs = new ImageMenuItem(Stock.Preferences, agr);

            menuItemPrefs.Activated += OnPrefs;
            menuItemPrefs.AddAccelerator("activate", agr,
                                         new AccelKey(Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));

            menu.Append(menuItemPrefs);

            ImageMenuItem menuItemHelp = new ImageMenuItem(Stock.Help, agr);

            menuItemHelp.Activated += OnHelp;
            menuItemHelp.AddAccelerator("activate", agr,
                                        new AccelKey(Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));

            menu.Append(menuItemHelp);

            ImageMenuItem menuItemInfo = new ImageMenuItem(Stock.About, agr);

            menuItemInfo.Activated += OnInfo;
            menuItemInfo.AddAccelerator("activate", agr,
                                        new AccelKey(Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));

            menu.Append(menuItemInfo);

            ImageMenuItem menuItemQuit = new ImageMenuItem(Stock.Quit, agr);

            menuItemQuit.Activated += OnQuit;
            menuItemQuit.AddAccelerator("activate", agr,
                                        new AccelKey(Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));

            menu.Append(menuItemQuit);

            return(menu);
        }
        public static void BuildMenu(MenuItem bookmark_menu)
        {
            Menu aux = (Menu)bookmark_menu.Submenu;

            foreach (Widget w in aux.Children)
            {
                aux.Remove(w);
            }

            menu_to_id.Clear();

            //adding Default Items:
            AccelGroup bk_grp = new AccelGroup();

            _Browser.window1.AddAccelGroup(bk_grp);

            ImageMenuItem item;

            item = new ImageMenuItem(ADD_BANNER);
            //item.Image = new Gtk.Image (Stock.Add,IconSize.Menu);
            item.AddAccelerator("activate", bk_grp, new AccelKey(Gdk.Key.D, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            item.Activated += on_add_bookmark_activated;
            aux.Append(item);

            //edit
            item = new ImageMenuItem(EDIT_BANNER);
            item.AddAccelerator("activate", bk_grp, new AccelKey(Gdk.Key.M, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            item.Activated += on_edit_bookmark_activated;
            //item.Image = new Gtk.Image (Stock.Edit,Iconsize,Menu);
            aux.Append(item);

            // and finally the separtor
            aux.Append(new SeparatorMenuItem());

            BuildMenuHelper(aux, root_group);
            aux.ShowAll();
        }
Beispiel #13
0
    private MenuItem MakeEditMenu()
    {
        Menu       menu  = new Menu();
        AccelGroup group = new AccelGroup();

        window.AddAccelGroup(group);

        ImageMenuItem copy = new ImageMenuItem(Stock.Copy, group);

        copy.AddAccelerator("activate", group, new AccelKey(Gdk.Key.c, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        //copy.Activated += new EventHandler(OnEditCopy);
        menu.Append(copy);

        ImageMenuItem selectAll = new ImageMenuItem(Stock.SelectAll, group);

        selectAll.AddAccelerator("activate", group, new AccelKey(Gdk.Key.a, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        //selectAll.Activated += new EventHandler(OnEditSelectAll);
        menu.Append(selectAll);

        MenuItem label = new MenuItem("_Edit");

        label.Submenu = menu;
        return(label);
    }
Beispiel #14
0
    void CreateMenuBar()
    {
        topMenu = new Gtk.MenuBar();
        Menu     fileMenu = new Menu();
        MenuItem file     = new MenuItem("File");

        file.Submenu = fileMenu;

        AccelGroup agr = new AccelGroup();

        AddAccelGroup(agr);

        ImageMenuItem exit = new ImageMenuItem(Stock.Quit, agr);

        exit.AddAccelerator("activate", agr, new AccelKey(Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        exit.Activated += onButtonPressEvent;
        fileMenu.Append(exit);

        topMenu.Append(file);

        ((VBox)fullViewVBox).PackStart(topMenu, false, false, 0);
        ((Gtk.Box.BoxChild)fullViewVBox [topMenu]).Position = 0;
        topMenu.ShowAll();
    }
Beispiel #15
0
        void GenerateNewMenu(Connection conn)
        {
            Gtk.Menu newMenu = new Gtk.Menu();

            foreach (ViewPlugin vp in Global.Plugins.ServerViewPlugins)
            {
                if (conn.ServerViews.Contains(vp.GetType().ToString()))
                {
                    ImageMenuItem menuitem = new ImageMenuItem(vp.MenuLabel, newAccelGroup);
                    menuitem.AddAccelerator("activate", newAccelGroup, vp.MenuKey);

                    Gtk.Label l = (Gtk.Label)menuitem.Child;
                    l.Text = vp.MenuLabel;

                    menuitem.Image      = new Gtk.Image(vp.Icon);
                    menuitem.Activated += OnNewMenuItemActivate;
                    menuitem.Show();
                    newMenu.Append(menuitem);
                }
            }

            newMenuItem.Submenu    = newMenu;
            newMenuToolButton.Menu = newMenu;
        }
        public MainWindow() : base(Gtk.WindowType.Toplevel)
        {
            /* Set up ghostscript calls for progress update */
            m_ghostscript = new ghostsharp();
            m_ghostscript.gsUpdateMain     += new ghostsharp.gsCallBackMain(gsProgress);
            m_ghostscript.gsIOUpdateMain   += new ghostsharp.gsIOCallBackMain(gsIO);
            m_ghostscript.gsDLLProblemMain += new ghostsharp.gsDLLProblem(gsDLL);

            DeleteEvent += delegate { Application.Quit(); };

            m_currpage = 0;
            m_gsoutput = new gsOutput();
            m_gsoutput.Activate();
            m_tempfiles       = new List <TempFile>();
            m_thumbnails      = new List <DocPage>();
            m_docPages        = new Pages();
            m_page_sizes      = new List <pagesizes_t>();
            m_page_scroll_pos = new List <int>();
            m_file_open       = false;
            m_doczoom         = 1.0;
            m_init_done       = false;
            m_busy_render     = true;
            m_firstime        = true;
            m_aa                   = true;
            m_aa_change            = false;
            m_zoom_txt             = "100";
            m_page_txt             = "1";
            m_ignore_scroll_change = false;

            /* Set up Vbox in main window */
            this.SetDefaultSize(500, 700);
            this.Title    = "GhostPDL Mono GTK Demo";
            m_GtkvBoxMain = new VBox(false, 0);
            this.Add(m_GtkvBoxMain);

            /* Add Menu Bar to vBox */
            Gtk.MenuBar menu_bar = new MenuBar();
            Menu        filemenu = new Menu();
            MenuItem    file     = new MenuItem("File");

            file.Submenu = filemenu;

            AccelGroup agr = new AccelGroup();

            AddAccelGroup(agr);

            ImageMenuItem openi = new ImageMenuItem(Stock.Open, agr);

            openi.AddAccelerator("activate", agr, new AccelKey(
                                     Gdk.Key.o, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            openi.Activated += OnOpen;
            filemenu.Append(openi);

            ImageMenuItem closei = new ImageMenuItem(Stock.Close, agr);

            closei.AddAccelerator("activate", agr, new AccelKey(
                                      Gdk.Key.w, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            closei.Activated += OnClose;
            filemenu.Append(closei);

            MenuItem messagesi = new MenuItem("Show Messages");

            messagesi.Activated += OnShowMessages;
            filemenu.Append(messagesi);

            MenuItem about = new MenuItem("About");

            about.Activated += OnAboutClicked;
            filemenu.Append(about);

            SeparatorMenuItem sep = new SeparatorMenuItem();

            filemenu.Append(sep);

            ImageMenuItem quiti = new ImageMenuItem(Stock.Quit, agr);

            quiti.AddAccelerator("activate", agr, new AccelKey(
                                     Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
            filemenu.Append(quiti);
            quiti.Activated += OnQuit;

            menu_bar.Append(file);

            m_GtkvBoxMain.PackStart(menu_bar, false, false, 0);

            /* Add a hbox with the page information, zoom control, and aa to vbox */
            HBox pageBox = new HBox(false, 0);

            m_GtkpageEntry            = new Entry();
            m_GtkpageEntry.Activated += PageChanged;
            m_GtkpageEntry.WidthChars = 4;
            m_GtkpageTotal            = new Label("/0");
            pageBox.PackStart(m_GtkpageEntry, false, false, 0);
            pageBox.PackStart(m_GtkpageTotal, false, false, 0);

            HBox zoomBox = new HBox(false, 0);

            m_GtkZoomPlus             = new Button();
            m_GtkZoomPlus.Label       = "+";
            m_GtkZoomPlus.Clicked    += ZoomIn;
            m_GtkZoomMinus            = new Button();
            m_GtkZoomMinus.Label      = "–";
            m_GtkZoomMinus.Clicked   += ZoomOut;
            m_GtkzoomEntry            = new Entry();
            m_GtkzoomEntry.WidthChars = 3;
            m_GtkzoomEntry.Activated += ZoomChanged;
            Label precentLabel = new Label("%");

            zoomBox.PackStart(m_GtkZoomPlus, false, false, 0);
            zoomBox.PackStart(m_GtkZoomMinus, false, false, 0);
            zoomBox.PackStart(m_GtkzoomEntry, false, false, 0);
            zoomBox.PackStart(precentLabel, false, false, 0);

            HBox hBoxControls = new HBox(false, 0);

            m_GtkaaCheck          = new CheckButton("Enable Antialias:");
            m_GtkaaCheck.Active   = true;
            m_GtkaaCheck.Clicked += AaCheck_Clicked;
            hBoxControls.PackStart(pageBox, false, false, 0);
            hBoxControls.PackStart(zoomBox, false, false, 20);
            hBoxControls.PackStart(m_GtkaaCheck, false, false, 0);

            m_GtkvBoxMain.PackStart(hBoxControls, false, false, 0);

            /* Tree view containing thumbnail and main images */
            HBox hBoxPages = new HBox(false, 0);

            /* Must be scrollable */
            m_GtkthumbScroll             = new ScrolledWindow();
            m_GtkthumbScroll.BorderWidth = 5;
            m_GtkthumbScroll.ShadowType  = ShadowType.In;

            m_GtkmainScroll             = new ScrolledWindow();
            m_GtkmainScroll.BorderWidth = 5;
            m_GtkmainScroll.ShadowType  = ShadowType.In;
            m_GtkmainScroll.Vadjustment.ValueChanged += Vadjustment_Changed;

            m_GtkTreeThumb = new Gtk.TreeView();
            m_GtkTreeThumb.HeadersVisible = false;
            m_GtkimageStoreThumb          = new Gtk.ListStore(typeof(Gdk.Pixbuf));
            m_GtkTreeThumb.AppendColumn("Thumb", new Gtk.CellRendererPixbuf(), "pixbuf", 0);
            m_GtkTreeThumb.Style.YThickness = 100;
            m_GtkthumbScroll.Add(m_GtkTreeThumb);
            m_GtkTreeThumb.RowActivated += M_GtkTreeThumb_RowActivated;

            m_GtkTreeMain = new Gtk.TreeView();
            m_GtkTreeMain.HeadersVisible = false;
            m_GtkTreeMain.RulesHint      = false;

            m_GtkimageStoreMain = new Gtk.ListStore(typeof(Gdk.Pixbuf));
            m_GtkTreeMain.AppendColumn("Main", new Gtk.CellRendererPixbuf(), "pixbuf", 0);
            m_GtkmainScroll.Add(m_GtkTreeMain);

            // Separate with gridlines
            m_GtkTreeMain.EnableGridLines = TreeViewGridLines.Horizontal;

            //To disable selections, set the selection mode to None:
            m_GtkTreeMain.Selection.Mode = SelectionMode.None;

            hBoxPages.PackStart(m_GtkthumbScroll, false, false, 0);
            hBoxPages.PackStart(m_GtkmainScroll, true, true, 0);

            m_GtkTreeThumb.Model = m_GtkimageStoreThumb;
            m_GtkTreeMain.Model  = m_GtkimageStoreMain;

            m_GtkvBoxMain.PackStart(hBoxPages, true, true, 0);

            /* For case of opening another file */
            string[] arguments = Environment.GetCommandLineArgs();
            if (arguments.Length > 1)
            {
                m_currfile = arguments[1];
                ProcessFile();
            }
        }
Beispiel #17
0
    public FasmEditor() : base("Fasm editor - by mythcat")
    {
        SetDefaultSize(640, 480);
        SetPosition(WindowPosition.Center);
        DeleteEvent += delegate { Application.Quit(); };

        MenuBar my_menubar = new MenuBar();

        Menu     filemenu = new Menu();
        MenuItem file     = new MenuItem("File");

        file.Submenu = filemenu;

        Menu     runmenu = new Menu();
        MenuItem run     = new MenuItem("Run");

        run.Submenu = runmenu;
        AccelGroup agr = new AccelGroup();

        AddAccelGroup(agr);

        ImageMenuItem newi = new ImageMenuItem(Stock.New, agr);

        newi.AddAccelerator("activate", agr, new AccelKey(
                                Gdk.Key.n, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        filemenu.Append(newi);

        ImageMenuItem open = new ImageMenuItem(Stock.Open, agr);

        open.AddAccelerator("activate", agr, new AccelKey(
                                Gdk.Key.n, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        filemenu.Append(open);

        SeparatorMenuItem sep = new SeparatorMenuItem();

        filemenu.Append(sep);

        ImageMenuItem exit = new ImageMenuItem(Stock.Quit, agr);

        exit.AddAccelerator("activate", agr, new AccelKey(
                                Gdk.Key.q, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        //
        ImageMenuItem runn = new ImageMenuItem(Stock.Execute, agr);

        newi.AddAccelerator("activate", agr, new AccelKey(
                                Gdk.Key.F9, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        runmenu.Append(runn);
        ImageMenuItem compile = new ImageMenuItem(Stock.Execute, agr);

        newi.AddAccelerator("activate", agr, new AccelKey(
                                Gdk.Key.F5, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        runmenu.Append(compile);

        exit.Activated += OnActivated;
        filemenu.Append(exit);

        my_menubar.Append(file);
        my_menubar.Append(run);
        TextView textview = new TextView();
        VBox     vbox     = new VBox(false, 2);

        vbox.PackStart(my_menubar, false, false, 0);
        //vbox.PackStart(new Label(), false, false, 0);
        vbox.PackStart(textview, false, false, 0);

        Add(vbox);

        ShowAll();
    }
Beispiel #18
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);
        }