1 # Copyright (C) 2009, Thomas Leonard
2 # See the README file for details, or visit http://0install.net.
6 class Action(gobject
.GObject
):
11 'sensitive' : (gobject
.TYPE_BOOLEAN
, # type
12 'sensitive', # nick name
13 'sensitive', # description
15 gobject
.PARAM_READWRITE
) # flags
19 'activate' : (gobject
.SIGNAL_RUN_LAST
, gobject
.TYPE_NONE
, ())
22 def __init__(self
, name
, label
, tooltip
, stock_id
):
23 gobject
.GObject
.__init
__(self
)
25 def do_get_property(self
, property):
26 return getattr(self
, property.name
)
28 def do_set_property(self
, property, value
):
29 setattr(self
, property.name
, value
)
31 def connect_proxy(self
, widget
):
32 assert self
.__proxy
is None
34 self
.sensitive
= self
.__sensitive
35 widget
.connect('clicked', lambda w
: self
.emit('activate'))
37 def set_sensitive(self
, value
):
39 self
.__proxy
.set_sensitive(value
)
40 self
.__sensitive
= value
42 sensitive
= property(lambda self
: self
.__sensitive
, set_sensitive
)
44 gobject
.type_register(Action
)
46 class ComboText(gtk
.OptionMenu
):
48 gtk
.OptionMenu
.__init
__(self
)
49 self
.__menu
= gtk
.Menu()
51 self
.set_menu(self
.__menu
)
53 def append_text(self
, text
):
54 item
= gtk
.MenuItem(text
)
55 self
.__model
.append([text
])
56 self
.__menu
.append(item
)
58 def set_active(self
, i
):
62 return self
.get_history()
67 def combo_box_new_text():
70 gtk
.combo_box_new_text
= combo_box_new_text