Spinner (Vala) Tiffany Antopolski tiffany.antopolski@gmail.com 2012 스피너 애니메이션 조성호 shcho@gnome.org 2017 Spinner

이 스피너는 스페이스바를 누르면 회전 동작을 멈추거나 시작합니다.

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

이 예제는 다음 참고자료가 필요합니다:

Gtk.Widget

Gtk.Spinner

Gdk.keyval_name