from Sink import Sink, SinkInfo from pyjamas.ui.TabPanel import TabPanel from pyjamas.ui.VerticalPanel import VerticalPanel from SfaData import ViniData from NodePanel import NodePanel from LinkPanel import LinkPanel from SliverPanel import SliverPanel class VINITabs(TabPanel): def __init__(self): TabPanel.__init__(self) self.data = ViniData() self.rspec = self.data.getRSpec() nodetab = NodePanel(self.data, self.rspec) linktab = LinkPanel(self.data, self.rspec) slivertab = SliverPanel(self.data, self.rspec) self.add(nodetab, "Nodes") self.add(linktab, "Links") self.add(slivertab, "Slivers") self.selectTab(0) def onTabSelected(self, sender, index): tab = self.getWidget(index) tab.refresh() TabPanel.onTabSelected(self, sender, index) class VINI(Sink): def __init__(self): Sink.__init__(self) self.tabs = VINITabs() self.tabs.setWidth("100%") self.tabs.setHeight("100%") self.initWidget(self.tabs) def init(): return SinkInfo("VINI", "Specify VINI Resources", VINI)