1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
public class MyWindow : Gtk.ApplicationWindow {
Gtk.Widget spinner;
internal MyWindow (MyApplication app) {
Object (application: app, title: "Spinner Example");
this.set_default_size (200, 200);
this.border_width = 30;
spinner = new Gtk.Spinner ();
this.add (spinner);
(spinner as Gtk.Spinner).active = true;
spinner.show ();
}
protected override bool key_press_event (Gdk.EventKey event) {
//print (Gdk.keyval_name(event.keyval) +"\n");
if (Gdk.keyval_name(event.keyval) == "space") {
if ((spinner as Gtk.Spinner).active) {
(spinner as Gtk.Spinner).stop ();
//spinner.visible = false;
}
else {
(spinner as Gtk.Spinner).start ();
//spinner.visible = true;
}
}
return true;
}
}
public class MyApplication : Gtk.Application {
protected override void activate () {
MyWindow window = new MyWindow (this);
window.show ();
}
internal MyApplication () {
Object (application_id: "org.example.spinner");
}
}
public int main (string[] args) {
return new MyApplication ().run (args);
}
|