summaryrefslogtreecommitdiff
path: root/examples/pygtk-demo/demos/spinner.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/pygtk-demo/demos/spinner.py')
-rw-r--r--examples/pygtk-demo/demos/spinner.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/examples/pygtk-demo/demos/spinner.py b/examples/pygtk-demo/demos/spinner.py
new file mode 100644
index 00000000..10111863
--- /dev/null
+++ b/examples/pygtk-demo/demos/spinner.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+"""Spinner
+
+GtkSpinner allows to show that background activity is on-going.
+"""
+# pygtk version: John Stowers <john.stowers@gmail.com>
+
+import gtk
+
+class SpinnerDemo(gtk.Window):
+ def __init__(self, parent=None):
+ gtk.Window.__init__(self)
+ try:
+ self.set_screen(parent.get_screen())
+ except AttributeError:
+ self.connect('destroy', lambda *w: gtk.main_quit())
+ self.set_title(self.__class__.__name__)
+ self.set_border_width(5)
+
+ vb = gtk.VBox(spacing=5)
+ self.add(vb)
+
+ #sensitive
+ hb = gtk.HBox(spacing=5)
+ self.ss = gtk.Spinner()
+ hb.add(self.ss)
+ hb.add(gtk.Entry())
+ vb.add(hb)
+
+ #unsensitive
+ hb = gtk.HBox(spacing=5)
+ self.us = gtk.Spinner()
+ hb.add(self.us)
+ hb.add(gtk.Entry())
+ hb.set_sensitive(False)
+ vb.add(hb)
+
+ b = gtk.Button(stock=gtk.STOCK_MEDIA_PLAY)
+ b.connect("clicked", self._on_play_clicked)
+ vb.add(b)
+
+ b = gtk.Button(stock=gtk.STOCK_MEDIA_STOP)
+ b.connect("clicked", self._on_stop_clicked)
+ vb.add(b)
+
+ self._on_play_clicked(None)
+
+ self.show_all()
+
+ def _on_play_clicked(self, b):
+ self.ss.start()
+ self.us.start()
+
+ def _on_stop_clicked(self, b):
+ self.ss.stop()
+ self.us.stop()
+
+def main():
+ SpinnerDemo()
+ gtk.main()
+
+if __name__ == '__main__':
+ main()