1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 from flumotion.component.base.effectsnode import EffectAdminGtkNode
19
20 __version__ = "$Rev$"
21
22
24 logCategory = 'colorbalance'
25
26 gladeFile = 'flumotion/component/effects/colorbalance/colorbalance.glade'
27
28
29
30
34
36 for k in 'Hue', 'Saturation', 'Brightness', 'Contrast':
37 lower = k.lower()
38 scale = self.wtree.get_widget('scale-%s' % lower)
39 spinbutton = self.wtree.get_widget('spinbutton-%s' % lower)
40
41 value = 0.0
42
43 scale.set_value(value)
44 spinbutton.set_value(value)
45
46 scale_change_id = scale.connect('value-changed',
47 self.cb_colorbalance_change, k)
48 spinbutton_change_id = spinbutton.connect('value-changed',
49 self.cb_colorbalance_change, k)
50
51 setattr(self, 'scale_%s' % lower, scale)
52 setattr(self, 'spinbutton_%s' % lower, spinbutton)
53 setattr(self, '%s_scale_change_id' % lower, scale_change_id)
54 setattr(self, '%s_spinbutton_change_id' % lower,
55 spinbutton_change_id)
56
58 value = widget.get_value()
59 self.debug('changing colorbalance %s to %f' % (label, value))
60
61 self.propertyChanged(label, value)
62 self.debug('informing effect of change')
63
64 def errback(failure, label):
65 self.warning("Failure %s changing colorbalance %s: %s",
66 failure.type, label, failure.getErrorMessage())
67
68 def callback(result, label):
69 self.debug("remote replied colorbalance %s changed to %f",
70 label, result)
71
72 d = self.effectCallRemote("setColorBalanceProperty", label, value)
73 d.addErrback(errback, label)
74 d.addCallback(callback, label)
75
80
82 if key.startswith('colorbalance-'):
83 key = key[len('colorbalance-'):]
84 self.propertyChanged(key, value)
85
87 self.debug('syncing colorbance property %s to %f' % (name, value))
88
89 lower = name.lower()
90 scale = getattr(self, 'scale_%s' % lower)
91 spinbutton = getattr(self, 'spinbutton_%s' % lower)
92 scale_change_id = getattr(self, '%s_scale_change_id' % lower)
93 spinbutton_change_id = getattr(self, '%s_spinbutton_change_id' % lower)
94
95 scale.handler_block(scale_change_id)
96 scale.set_value(value)
97 scale.handler_unblock(scale_change_id)
98 spinbutton.handler_block(spinbutton_change_id)
99 spinbutton.set_value(value)
100 spinbutton.handler_unblock(spinbutton_change_id)
101