~ubuntu-branches/ubuntu/karmic/zeroinstall-injector/karmic

« back to all changes in this revision

Viewing changes to zeroinstall/0launch-gui/combo_compat.py

  • Committer: Bazaar Package Importer
  • Author(s): Thomas Leonard
  • Date: 2007-01-23 21:50:46 UTC
  • Revision ID: james.westby@ubuntu.com-20070123215046-3ya2x81i99m5ya8r
Tags: upstream-0.25
ImportĀ upstreamĀ versionĀ 0.25

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import gtk, gobject
 
2
 
 
3
class Action(gobject.GObject):
 
4
        __proxy = None
 
5
        __sensitive = True
 
6
 
 
7
        __gproperties__ = {
 
8
          'sensitive' : (gobject.TYPE_BOOLEAN,          # type
 
9
                    'sensitive',                        # nick name
 
10
                    'sensitive',                        # description
 
11
                    True,                               # default value
 
12
                    gobject.PARAM_READWRITE)            # flags
 
13
        }
 
14
 
 
15
        __gsignals__ = {
 
16
          'activate' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ())
 
17
        }
 
18
 
 
19
        def __init__(self, name, label, tooltip, stock_id):
 
20
                gobject.GObject.__init__(self)
 
21
        
 
22
        def do_get_property(self, property):
 
23
                return getattr(self, property.name)
 
24
 
 
25
        def do_set_property(self, property, value):
 
26
                return setattr(self, property.name, value)
 
27
        
 
28
        def connect_proxy(self, widget):
 
29
                assert self.__proxy is None
 
30
                self.__proxy = widget
 
31
                self.sensitive = self.__sensitive
 
32
                widget.connect('clicked', lambda w: self.emit('activate'))
 
33
 
 
34
        def set_sensitive(self, value):
 
35
                if self.__proxy:
 
36
                        self.__proxy.set_sensitive(value)
 
37
                self.__sensitive = value
 
38
        
 
39
        sensitive = property(lambda self: self.__sensitive, set_sensitive)
 
40
 
 
41
gobject.type_register(Action)
 
42
 
 
43
class ComboText(gtk.OptionMenu):
 
44
        def __init__(self):
 
45
                gtk.OptionMenu.__init__(self)
 
46
                self.__menu = gtk.Menu()
 
47
                self.__model = []
 
48
                self.set_menu(self.__menu)
 
49
 
 
50
        def append_text(self, text):
 
51
                item = gtk.MenuItem(text)
 
52
                self.__model.append([text])
 
53
                self.__menu.append(item)
 
54
 
 
55
        def set_active(self, i):
 
56
                self.set_history(i)
 
57
        
 
58
        def get_active(self):
 
59
                return self.get_history()
 
60
        
 
61
        def get_model(self):
 
62
                return self.__model
 
63
 
 
64
def combo_box_new_text():
 
65
        return ComboText()
 
66
 
 
67
gtk.combo_box_new_text = combo_box_new_text
 
68
gtk.Action = Action