from Sink import Sink, SinkInfo
+from pyjamas.ui.TabPanel import TabPanel
from pyjamas.ui.VerticalPanel import VerticalPanel
from pyjamas.ui.TextArea import TextArea
from pyjamas.ui.HTML import HTML
from SfaData import PlanetLabData
+from NodePanel import NodePanel
+from LinkPanel import LinkPanel
+from SliverPanel import SliverPanel
+from SubmitPanel import SubmitPanel
+from HelpPanel import PlanetLabHelpPanel
-class PlanetLab(Sink):
+class PlTabs(TabPanel):
+ def __init__(self, data):
+ TabPanel.__init__(self)
+
+ self.data = data
+ self.data.refreshRSpec()
+
+ nodetab = NodePanel(self.data)
+ slivertab = SliverPanel(self.data)
+ submittab = SubmitPanel(self.data)
+ helptab = PlanetLabHelpPanel()
+
+ self.add(nodetab, "Nodes")
+ self.add(slivertab, "Slivers")
+ self.add(submittab, "Submit")
+ self.add(HTML("force tabs to right"), None)
+ self.add(helptab, "Help")
+ self.selectTab(0)
+
+ def onTabSelected(self, sender, index):
+ tab = self.getWidget(index)
+ tab.refresh()
+ TabPanel.onTabSelected(self, sender, index)
+
+class PLC(Sink):
def __init__(self):
Sink.__init__(self)
- self.panel = VerticalPanel()
- self.panel.setSize("100%", "100%")
- self.data = PlanetLabData()
- self.rspec = self.data.getRSpec()
-
- # Just to show that we can retrieve the RSpec
- ta = TextArea()
- ta.setSize("100%", "100%")
- ta.setText(self.rspec)
- self.panel.add(ta)
-
- self.initWidget(self.panel)
-
- def onShow(self):
- # Do we want to refresh the RSpec?
- pass
+ self.tabs = PlTabs(PlanetLabData())
+ self.tabs.setWidth("100%")
+ self.tabs.setHeight("100%")
+ self.initWidget(self.tabs)
def init():
- return SinkInfo("PlanetLab", "Specify PlanetLab Resources", PlanetLab)
+ return SinkInfo("PLC", "Specify PlanetLab Central Resources", PLC)