diff --git a/hammond-gtk/Cargo.toml b/hammond-gtk/Cargo.toml index 2d26acf..d2e7325 100644 --- a/hammond-gtk/Cargo.toml +++ b/hammond-gtk/Cargo.toml @@ -5,3 +5,5 @@ authors = ["Jordan Petridis "] [dependencies] gtk = { version = "0.2.0", features = ["v3_22"]} +glib = "0.3.0" +gdk-pixbuf = "0.2.0" \ No newline at end of file diff --git a/hammond-gtk/gtk/foo.ui b/hammond-gtk/gtk/foo.ui new file mode 100644 index 0000000..01e5b92 --- /dev/null +++ b/hammond-gtk/gtk/foo.ui @@ -0,0 +1,350 @@ + + + + + + False + 400 + 400 + + + True + False + vertical + + + True + True + in + + + True + False + + + True + False + + + 100 + 80 + True + True + + + True + False + vertical + + + True + False + gtk-missing-image + + + True + True + 0 + + + + + True + False + label + + + False + False + 1 + + + + + + + + + 100 + 80 + True + True + + + True + False + vertical + + + True + False + gtk-missing-image + + + True + True + 0 + + + + + True + False + label + + + False + False + 1 + + + + + + + + + 100 + 80 + True + True + + + True + False + vertical + + + True + False + gtk-missing-image + + + True + True + 0 + + + + + True + False + label + + + False + False + 1 + + + + + + + + + 100 + 80 + True + True + + + True + False + vertical + + + True + False + gtk-missing-image + + + True + True + 0 + + + + + True + False + label + + + False + False + 1 + + + + + + + + + 100 + 80 + True + True + + + True + False + vertical + + + True + False + gtk-missing-image + + + True + True + 0 + + + + + True + False + label + + + False + False + 1 + + + + + + + + + 100 + 80 + True + True + + + True + False + vertical + + + True + False + gtk-missing-image + + + True + True + 0 + + + + + True + False + label + + + False + False + 1 + + + + + + + + + 100 + 80 + True + True + + + True + False + vertical + + + True + False + gtk-missing-image + + + True + True + 0 + + + + + True + False + label + + + False + False + 1 + + + + + + + + + 100 + 80 + True + True + + + True + False + gtk-missing-image + + + + + + + + + + + True + True + 1 + + + + + + + + + + True + False + Hello + World! + True + + + button + True + True + True + + + end + + + + diff --git a/hammond-gtk/src/main.rs b/hammond-gtk/src/main.rs index d5d0a94..67c9240 100644 --- a/hammond-gtk/src/main.rs +++ b/hammond-gtk/src/main.rs @@ -1,4 +1,9 @@ +// extern crate glib; extern crate gtk; +// extern crate gdk_pixbuf; + +// use gtk::prelude::*; +// use gtk::{CellRendererText, TreeStore, TreeView, TreeViewColumn}; use gtk::prelude::*; @@ -8,25 +13,21 @@ fn main() { return; } - let window = gtk::Window::new(gtk::WindowType::Toplevel); + let glade_src = include_str!("../gtk/foo.ui"); + let builder = gtk::Builder::new_from_string(glade_src); - window.set_title("Hello"); - window.set_border_width(10); - window.set_position(gtk::WindowPosition::Center); - window.set_default_size(200, 200); + // Get the main window + let window :gtk::Window = builder.get_object("appwindow1").unwrap(); + // Get the headerbar + let header :gtk::HeaderBar = builder.get_object("headerbar1").unwrap(); + window.set_titlebar(&header); + // Exit cleanly on delete event window.connect_delete_event(|_, _| { gtk::main_quit(); Inhibit(false) }); - let button = gtk::Button::new_with_label("Say Hi!"); - button.connect_clicked(|_| { - println!("Hello World!"); - }); - - window.add(&button); - window.show_all(); gtk::main(); -} \ No newline at end of file +}