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 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.tabs = PlTabs(PlanetLabData()) self.tabs.setWidth("100%") self.tabs.setHeight("100%") self.initWidget(self.tabs) def init(): return SinkInfo("PlanetLab", "Specify PlanetLab Central Resources", PLC)