summaryrefslogtreecommitdiff
path: root/examples/framework/color/color2.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/framework/color/color2.py')
-rw-r--r--examples/framework/color/color2.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/framework/color/color2.py b/examples/framework/color/color2.py
new file mode 100644
index 0000000..5eb5e69
--- /dev/null
+++ b/examples/framework/color/color2.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+from sets import Set
+
+import gtk
+
+from kiwi.ui.views import BaseView
+from kiwi.ui.widgets.combo import ProxyComboEntry
+
+def load_colors():
+ filename = "/usr/X11R6/etc/X11/rgb.txt"
+ try:
+ lines = file(filename).readlines()
+ except IOError:
+ return ['red', 'blue', 'yellow', 'green']
+
+ # the first line we don't want
+ lines = lines[1:]
+ s = Set([c.strip().split('\t')[2] for c in lines])
+ if '' in s: s.remove('')
+ return list(s)
+
+class Color:
+ color = 'blue'
+
+class FavouriteColor(BaseView):
+ def __init__(self):
+ win = gtk.Window()
+ win.set_title("Silly question")
+ win.set_border_width(12)
+ label = gtk.Label("What is your favourite color?")
+ box = gtk.VBox(spacing=6)
+ box.pack_start(label, False)
+ self.combo = ProxyComboEntry()
+ self.combo.data_type = str
+ self.combo.model_attribute = 'color'
+ self.combo.prefill(load_colors(), sort=True)
+ box.pack_start(self.combo, False)
+ win.add(box)
+ BaseView.__init__(self, toplevel=win,
+ delete_handler=self.quit_if_last)
+
+the_color = Color()
+app = FavouriteColor()
+app.add_proxy(the_color, ['combo'])
+app.show_all()
+gtk.main()
+print 'Your favourite color is', the_color.color