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