public static Gtk.Window Create() { window = new Window ("Toolbar"); window.Resizable = false; toolbar = new Toolbar (); toolbar.InsertStock (Stock.New, "Stock icon: New", "Toolbar/New", new SignalFunc (set_small_icon), IntPtr.Zero, -1); toolbar.InsertStock (Stock.Open, "Stock icon: Open", "Toolbar/Open", new SignalFunc (set_large_icon), IntPtr.Zero, -1); toolbar.AppendSpace (); toolbar.AppendItem ("Toggle tooltips", "toggle showing of tooltips", "Toolbar/Tooltips", new Image (Stock.DialogInfo, IconSize.LargeToolbar), new SignalFunc (toggle_tooltips)); toolbar.AppendSpace (); toolbar.AppendItem ("Horizontal", "Horizontal layout", "Toolbar/Horizontal", new Image (Stock.GoForward, IconSize.LargeToolbar), new SignalFunc (set_horizontal)); toolbar.AppendItem ("Vertical", "Vertical layout", "Toolbar/Vertical", new Image (Stock.GoUp, IconSize.LargeToolbar), new SignalFunc (set_vertical)); toolbar.AppendSpace (); toolbar.AppendItem ("Icons", "Only show icons", "Toolbar/IconsOnly", new Image (Stock.Home, IconSize.LargeToolbar), new SignalFunc (set_icon_only)); toolbar.AppendItem ("Text", "Only show Text", "Toolbar/TextOnly", new Image (Stock.JustifyFill, IconSize.LargeToolbar), new SignalFunc (set_text_only)); toolbar.AppendItem ("Both", "Show both Icon & Text", "Toolbar/Both", new Image (Stock.Index, IconSize.LargeToolbar), new SignalFunc (set_both)); toolbar.AppendItem ("Both (Horizontal)", "Show Icon & Text horizontally", "Toolbar/BothHoriz", new Image (Stock.Index, IconSize.LargeToolbar), new SignalFunc (set_both_horiz)); toolbar.AppendSpace (); toolbar.InsertStock (Stock.Close, "Stock icon: Close", "Toolbar/Close", new SignalFunc (Close_Button), IntPtr.Zero, -1); window.Add (toolbar); window.ShowAll (); return window; }
public static void Main(string [] args) { if (args.Length <= 0) { Console.WriteLine("\nUSAGE: ImageViewer.exe <filename>\n"); return; } string filename = args [0]; Application.Init(); window = new Gtk.Window("Image Viewer"); window.SetDefaultSize(200, 200); window.DeleteEvent += new EventHandler(Window_Delete); Gtk.ScrolledWindow scrolled_window = new Gtk.ScrolledWindow(new Adjustment(IntPtr.Zero), new Adjustment(IntPtr.Zero)); Gtk.VBox vbox = new VBox(false, 2); Gtk.VBox menubox = new VBox(false, 0); // Pack menubar MenuBar mb = new MenuBar(); Menu file_menu = new Menu(); MenuItem exit_item = new ImageMenuItem("gtk-close", new Gtk.AccelGroup(IntPtr.Zero)); MenuItem open_item = new ImageMenuItem("gtk-open", new Gtk.AccelGroup(IntPtr.Zero)); exit_item.Activated += new EventHandler(Window_Delete); open_item.Activated += new EventHandler(Window_Open); file_menu.Append(open_item); file_menu.Append(new Gtk.SeparatorMenuItem()); file_menu.Append(exit_item); MenuItem file_item = new MenuItem("_File"); file_item.Submenu = file_menu; mb.Append(file_item); menubox.PackStart(mb, false, false, 0); // Pack toolbar Gtk.Toolbar toolbar = new Gtk.Toolbar(); toolbar.InsertStock("gtk-open", "Open", String.Empty, new Gtk.SignalFunc(Window_Open), IntPtr.Zero, 0); toolbar.InsertStock("gtk-close", "Close", String.Empty, new Gtk.SignalFunc(Window_Delete), IntPtr.Zero, 1); menubox.PackStart(toolbar, false, false, 0); vbox.PackStart(menubox, false, false, 0); Pixbuf pix = GetPixbufFromFile(filename); image = new Image(pix); Refresh(filename, pix); scrolled_window.AddWithViewport(image); vbox.PackStart(scrolled_window, true, true, 0); scrolled_window.SetPolicy(PolicyType.Automatic, PolicyType.Automatic); window.Add(vbox); window.ShowAll(); Application.Run(); }