Gtk+ baby steps
This commit is contained in:
+14
-13
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user