1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import gtk
23
24 from flumotion.common import errors, log
25
26 from flumotion.component.base import admin_gtk
27
29 logCategory = 'colorbalance'
30
31 glade_file = 'flumotion/component/effects/colorbalance/colorbalance.glade'
32
33
34
35
39
41 for k in 'Hue', 'Saturation', 'Brightness', 'Contrast':
42 lower = k.lower()
43 scale = self.wtree.get_widget('scale-%s' % lower)
44 spinbutton = self.wtree.get_widget('spinbutton-%s' % lower)
45
46 value = 0.0
47
48 scale.set_value(value)
49 spinbutton.set_value(value)
50
51 scale_change_id = scale.connect('value-changed',
52 self.cb_colorbalance_change, k)
53 spinbutton_change_id = spinbutton.connect('value-changed',
54 self.cb_colorbalance_change, k)
55
56 setattr(self, 'scale_%s' % lower, scale)
57 setattr(self, 'spinbutton_%s' % lower, spinbutton)
58 setattr(self, '%s_scale_change_id' % lower, scale_change_id)
59 setattr(self, '%s_spinbutton_change_id' % lower, spinbutton_change_id)
60
62 value = widget.get_value()
63 self.debug('changing colorbalance %s to %f' % (label, value))
64
65 self.propertyChanged(label, value)
66 self.debug('informing effect of change')
67
68 def errback(failure, label):
69 self.warning("Failure %s changing colorbalance %s: %s",
70 failure.type, label, failure.getErrorMessage())
71 def callback(result, label):
72 self.debug("remote replied colorbalance %s changed to %f",
73 label, result)
74
75 d = self.effectCallRemote("setColorBalanceProperty", label, value)
76 d.addErrback(errback, label)
77 d.addCallback(callback, label)
78
83
88
90 self.debug('syncing colorbance property %s to %f' % (name, value))
91
92 lower = name.lower()
93 scale = getattr(self, 'scale_%s' % lower)
94 spinbutton = getattr(self, 'spinbutton_%s' % lower)
95 scale_change_id = getattr(self, '%s_scale_change_id' % lower)
96 spinbutton_change_id = getattr(self, '%s_spinbutton_change_id' % lower)
97
98 scale.handler_block(scale_change_id)
99 scale.set_value(value)
100 scale.handler_unblock(scale_change_id)
101 spinbutton.handler_block(spinbutton_change_id)
102 spinbutton.set_value(value)
103 spinbutton.handler_unblock(spinbutton_change_id)
104