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 from flumotion.common import enum
26 from flumotion.component.base.admin_gtk import BaseAdminGtk
27 from flumotion.component.base.baseadminnode import BaseAdminGtkNode
28 from flumotion.ui import fgtk
29
30 __version__ = "$Rev: 7162 $"
31
32
33 VideoTestPattern = enum.EnumClass(
34 'VideoTestPattern',
35 ['Bars', 'Snow', 'Black'],
36 [_('SMPTE Color bars'),
37 _('Random (television snow)'),
38 _('Totally black')])
39
40
42 uiStateHandlers = None
43
45
46 self.widget = gtk.Table(1, 2)
47 label = gtk.Label(_("Pattern:"))
48 self.widget.attach(label, 0, 1, 0, 1, 0, 0, 6, 6)
49 label.show()
50 self.combobox_pattern = fgtk.FProxyComboBox()
51 self.combobox_pattern.set_enum(VideoTestPattern)
52 self.pattern_changed_id = self.combobox_pattern.connect('changed',
53 self.cb_pattern_changed)
54 self.widget.attach(self.combobox_pattern, 1, 2, 0, 1, 0, 0, 6, 6)
55 self.combobox_pattern.show()
56 return BaseAdminGtkNode.render(self)
57
64
66
67 def _setPatternErrback(failure):
68 self.warning("Failure %s setting pattern: %s" % (
69 failure.type, failure.getErrorMessage()))
70 return None
71
72 pattern = combobox.get_active()
73 d = self.callRemote("setPattern", pattern)
74 d.addErrback(_setPatternErrback)
75
77 self.debug("pattern changed to %r" % value)
78 c = self.combobox_pattern
79 hid = self.pattern_changed_id
80 c.handler_block(hid)
81 c.set_active(value)
82 c.handler_unblock(hid)
83
88
89
97
98 GUIClass = VideoTestAdminGtk
99