diff options
Diffstat (limited to 'examples/framework/color/color2.py')
-rw-r--r-- | examples/framework/color/color2.py | 47 |
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 |