1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import os
23 import gtk
24
25 from flumotion.common import errors
26
27 from flumotion.component.base.admin_gtk import BaseAdminGtk
28 from flumotion.component.base.baseadminnode import BaseAdminGtkNode
29
30 __version__ = "$Rev: 6784 $"
31
32
34
35 - def __init__(self, state, admin, title=None):
36 BaseAdminGtkNode.__init__(self, state, admin, title)
37
38 self.widget = gtk.Table(2, 1)
39 self.radioButton = {}
40 self.radioButton["backup"] = gtk.RadioButton(label="Backup")
41 self.radioButton["master"] = gtk.RadioButton(self.radioButton["backup"],
42 label="Master")
43 self.radioButtonHandlers = {}
44 currentRow = 0
45 for eaterName in self.radioButton:
46 self.widget.attach(self.radioButton[eaterName], 0, 1, currentRow,
47 currentRow+1, yoptions=gtk.FILL, xpadding=6, ypadding=6)
48 currentRow = currentRow + 1
49 self.radioButton[eaterName].show()
50 self.radioButtonHandlers[eaterName] = self.radioButton[eaterName].connect("toggled",
51 self.cb_toggled, eaterName)
52 self.widget.show()
53
55 if button.get_active():
56 if eaterName == "master":
57 self.callRemote("switchToMaster")
58 else:
59 self.callRemote("switchToBackup")
60
64
66 if key == 'active-eater':
67 if not self.radioButton[value].get_active():
68 self.radioButton[value].handler_block(
69 self.radioButtonHandlers[value])
70 self.radioButton[value].set_active(True)
71 self.radioButton[value].handler_unblock(
72 self.radioButtonHandlers[value])
73
79
80 GUIClass = SwitcherAdminGtk
81