Added Node selection and Sliver (attribute) configuration panels to
[sfa-gui.git] / VINI.py
1 from Sink import Sink, SinkInfo
2 from pyjamas.ui.TabPanel import TabPanel
3 from pyjamas.ui.VerticalPanel import VerticalPanel
4 from SfaData import ViniData
5 from NodePanel import NodePanel
6 from LinkPanel import LinkPanel
7 from SliverPanel import SliverPanel
8
9 class VINITabs(TabPanel):
10     def __init__(self):
11         TabPanel.__init__(self)
12
13         self.data = ViniData()
14         self.rspec = self.data.getRSpec()
15
16         nodetab = NodePanel(self.data, self.rspec)
17         linktab = LinkPanel(self.data, self.rspec)
18         slivertab = SliverPanel(self.data, self.rspec)
19     
20         self.add(nodetab, "Nodes")
21         self.add(linktab, "Links")
22         self.add(slivertab, "Slivers")
23         self.selectTab(0)
24
25     def onTabSelected(self, sender, index):
26         tab = self.getWidget(index)
27         tab.refresh()
28         TabPanel.onTabSelected(self, sender, index)
29
30 class VINI(Sink):
31     def __init__(self):
32
33         Sink.__init__(self)
34         
35         self.tabs = VINITabs()
36
37         self.tabs.setWidth("100%")
38         self.tabs.setHeight("100%")
39         self.initWidget(self.tabs)
40
41 def init():
42     return SinkInfo("VINI", "Specify VINI Resources", VINI)