Spinner (Vala) Tiffany Antopolski tiffany.antopolski@gmail.com 2012 L'animation d'un indicateur d'activité Luc Rebert, traduc@rebert.name 2011 Alain Lojewski, allomervan@gmail.com 2011-2012 Luc Pionchon pionchon.luc@gmail.com 2011 Bruno Brouard annoa.b@gmail.com 2011-12 Luis Menina liberforce@freeside.fr 2014 Indicateur d'activité

Cet indicateur d'activité s'arrête et démarre en appuyant sur la barre d'espace.

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); }

Dans cet exemple, les éléments suivants sont utilisés :

Gtk.Widget

Gtk.Spinner

Gdk.keyval_name