1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 from gettext import gettext as _
23
24 import gtk
25
26 from flumotion.common import errors
27
28 from flumotion.component.base.admin_gtk import BaseAdminGtk
29 from flumotion.component.base.baseadminnode import BaseAdminGtkNode
30
33
34 self.widget = gtk.Table(1, 2)
35 label = gtk.Label(_("Pattern:"))
36 self.widget.attach(label, 0, 1, 0, 1, 0, 0, 6, 6)
37 label.show()
38 d = self.callRemote("getElementProperty", "source", "pattern")
39 d.addCallback(self.getPatternCallback)
40 d.addErrback(self.getPatternErrback)
41 d.addCallback(lambda result: self.widget)
42 return d
43
45
46
47
48 from flumotion.ui import fgtk
49 from flumotion.wizard import enums
50 self.debug("got pattern %r" % result)
51 self.combobox_pattern = fgtk.FComboBox()
52 self.combobox_pattern.set_enum(enums.VideoTestPattern)
53 self.combobox_pattern.set_active(result)
54 self.pattern_changed_id = self.combobox_pattern.connect('changed',
55 self.cb_pattern_changed)
56 self.widget.attach(self.combobox_pattern, 1, 2, 0, 1, 0, 0, 6, 6)
57 self.combobox_pattern.show()
58
60
61 self.warning("Failure %s getting pattern: %s" % (
62 failure.type, failure.getErrorMessage()))
63 return None
64
66 def _setPatternErrback(failure):
67 self.warning("Failure %s setting pattern: %s" % (
68 failure.type, failure.getErrorMessage()))
69 return None
70
71 pattern = combobox.get_value()
72 d = self.callRemote("setElementProperty", "source", "pattern", pattern)
73 d.addErrback(_setPatternErrback)
74
76 if name == "pattern":
77 self.debug("pattern changed to %r" % value)
78 c = self.combobox_pattern
79 handler_id = self.pattern_changed_id
80 c.handler_block(handler_id)
81 c.set_active(value)
82 c.handler_unblock(handler_id)
83
93
94 GUIClass = VideoTestAdminGtk
95