Gtk+ baby steps

This commit is contained in:
Jordan Petridis
2017-10-09 19:24:06 +03:00
parent f1d3cd5e25
commit 6b7b7085b5
3 changed files with 366 additions and 13 deletions
+14 -13
View File
@@ -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();
}
}