GUI tweaks, flesh out help text
[sfa-gui.git] / PlanetLab.py
index 50407c7..dc557fd 100644 (file)
@@ -1,31 +1,49 @@
 from Sink import Sink, SinkInfo
 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 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)
     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():
 
 def init():
-    return SinkInfo("PlanetLab", "Specify PlanetLab Resources", PlanetLab)
+    return SinkInfo("PlanetLab", "Specify PlanetLab Central Resources", PLC)