Advertisement
Guest User

Untitled

a guest
Jun 29th, 2012
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Vala 2.08 KB | None | 0 0
  1.  
  2. public class App : Object {
  3.  
  4.     private Gtk.Window window_main;
  5.     private Gtk.Button button;
  6.     private Gtk.MenuBar menubar;
  7.     private Gtk.MenuItem menubar_item;
  8.     private Gtk.Menu menu;
  9.     private Gtk.MenuItem menuitem_button;
  10.  
  11.     public App(string datadir) {
  12.         this.create_widgets();
  13.         this.pack_widgets();
  14.         this.connect_signals();
  15.        
  16.         this.window_main.show_all();
  17.        
  18.     }
  19.  
  20.     /* Private Functions */
  21.  
  22.     private void create_widgets() {
  23.         this.window_main = new Gtk.Window();
  24.         this.window_main.set_default_size(200, 24);
  25.        
  26.         this.button = new Gtk.Button.with_label("Heya cousin!");
  27.         this.menubar = new Gtk.MenuBar();
  28.         this.menubar_item = new Gtk.MenuItem.with_label("Hiya");
  29.         this.menu = new Gtk.Menu();
  30.         this.menuitem_button = new Gtk.MenuItem();
  31.     }
  32.    
  33.     private void pack_widgets() {
  34.         this.menuitem_button.add(this.button);
  35.         this.menu.append(this.menuitem_button);
  36.         this.menubar_item.set_submenu(this.menu);
  37.         this.menubar.append(this.menubar_item);
  38.  
  39.         this.window_main.add(this.menubar);
  40.     }
  41.    
  42.     private void connect_signals() {
  43.         this.menuitem_button.button_release_event.connect(
  44.             this.on_menuitem_button_button_release_event);
  45.         this.menuitem_button.button_press_event.connect(
  46.             this.on_menuitem_button_button_press_event);
  47.  
  48.         this.window_main.delete_event.connect(this.on_window_main_delete_event);
  49.     }
  50.    
  51.     /* Callbacks */
  52.     private bool on_window_main_delete_event(Gdk.EventAny event) {
  53.         this.quit();
  54.         return false;
  55.     }
  56.    
  57.     private bool on_menuitem_button_button_press_event(Gdk.EventButton event) {
  58.         this.button.button_press_event(event);
  59.         return false;
  60.     }
  61.  
  62.    
  63.     private bool on_menuitem_button_button_release_event(Gdk.EventButton event) {
  64.         this.button.button_release_event(event);
  65.         return true;
  66.     }
  67.  
  68.     /* Public Functions */
  69.     public void quit() {
  70.         Gtk.main_quit();
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement