Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class App : Object {
- private Gtk.Window window_main;
- private Gtk.Button button;
- private Gtk.MenuBar menubar;
- private Gtk.MenuItem menubar_item;
- private Gtk.Menu menu;
- private Gtk.MenuItem menuitem_button;
- public App(string datadir) {
- this.create_widgets();
- this.pack_widgets();
- this.connect_signals();
- this.window_main.show_all();
- }
- /* Private Functions */
- private void create_widgets() {
- this.window_main = new Gtk.Window();
- this.window_main.set_default_size(200, 24);
- this.button = new Gtk.Button.with_label("Heya cousin!");
- this.menubar = new Gtk.MenuBar();
- this.menubar_item = new Gtk.MenuItem.with_label("Hiya");
- this.menu = new Gtk.Menu();
- this.menuitem_button = new Gtk.MenuItem();
- }
- private void pack_widgets() {
- this.menuitem_button.add(this.button);
- this.menu.append(this.menuitem_button);
- this.menubar_item.set_submenu(this.menu);
- this.menubar.append(this.menubar_item);
- this.window_main.add(this.menubar);
- }
- private void connect_signals() {
- this.menuitem_button.button_release_event.connect(
- this.on_menuitem_button_button_release_event);
- this.menuitem_button.button_press_event.connect(
- this.on_menuitem_button_button_press_event);
- this.window_main.delete_event.connect(this.on_window_main_delete_event);
- }
- /* Callbacks */
- private bool on_window_main_delete_event(Gdk.EventAny event) {
- this.quit();
- return false;
- }
- private bool on_menuitem_button_button_press_event(Gdk.EventButton event) {
- this.button.button_press_event(event);
- return false;
- }
- private bool on_menuitem_button_button_release_event(Gdk.EventButton event) {
- this.button.button_release_event(event);
- return true;
- }
- /* Public Functions */
- public void quit() {
- Gtk.main_quit();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement