From e15ce3036c57ffce83734d8f9912acff5ce2e82a Mon Sep 17 00:00:00 2001 From: Andy Bavier Date: Tue, 22 Jun 2010 16:39:05 -0400 Subject: [PATCH] Dummy panels for OpenCirrus --- HelpPanel.py | 13 +++++++++++++ InstancePanel.py | 23 +++++++++++++++++++++++ OpenCirrus.py | 39 +++++++++++++++++++++++++++++++++++++-- RequestPanel.py | 23 +++++++++++++++++++++++ SfaData.py | 16 ++++++++++++++-- 5 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 InstancePanel.py create mode 100644 RequestPanel.py diff --git a/HelpPanel.py b/HelpPanel.py index e99ee0b..59e183a 100644 --- a/HelpPanel.py +++ b/HelpPanel.py @@ -43,4 +43,17 @@ class VINIHelpPanel(HelpPanel): m += "them.

" self.add(HTML(m)) +class OCHelpPanel(HelpPanel): + def __init__(self): + HelpPanel.__init__(self) + m = "
Steps to set up your slice:" + m += "
  1. Use the Request tab to request that some " + m += "VM instances be allocated to your slice." + m += "
  2. Use the Instances tab to get information on " + m += "running VM instances." + m += "
  3. Under the Submit tab, click the Apply button " + m += "to submit your changes, or the Reset button to discard " + m += "them.

" + self.add(HTML(m)) + diff --git a/InstancePanel.py b/InstancePanel.py new file mode 100644 index 0000000..5d50801 --- /dev/null +++ b/InstancePanel.py @@ -0,0 +1,23 @@ +from pyjamas.ui.VerticalPanel import VerticalPanel +from pyjamas.ui.HorizontalPanel import HorizontalPanel +from pyjamas.ui.Button import Button +from pyjamas.ui.HTML import HTML +from pyjamas.ui import HasAlignment + +class InstancePanel(VerticalPanel): + def __init__(self, sfadata): + VerticalPanel.__init__(self) + self.sfadata = sfadata + self.setStyleName("ks-layouts") + + def refresh(self): + pass + + def apply(self, sender): + self.sfadata.applyRSpec() + + def reset(self, sender): + self.sfadata.refreshRSpec() + + + diff --git a/OpenCirrus.py b/OpenCirrus.py index 537f20b..2b8ae79 100644 --- a/OpenCirrus.py +++ b/OpenCirrus.py @@ -1,13 +1,48 @@ 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 OpenCirrusData +from RequestPanel import RequestPanel +from InstancePanel import InstancePanel +from SubmitPanel import SubmitPanel +from HelpPanel import OCHelpPanel + +class OCTabs(TabPanel): + def __init__(self, data): + TabPanel.__init__(self) + + self.data = data + self.data.refreshRSpec() + + requesttab = RequestPanel(self.data) + instancetab = InstancePanel(self.data) + submittab = SubmitPanel(self.data) + helptab = OCHelpPanel() + + self.add(requesttab, "Request") + self.add(instancetab, "Instances") + 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 OpenCirrus(Sink): def __init__(self): Sink.__init__(self) - text="Not implemented yet" - self.initWidget(HTML(text, True)) + self.tabs = OCTabs(OpenCirrusData()) + + self.tabs.setWidth("100%") + self.tabs.setHeight("100%") + self.initWidget(self.tabs) def onShow(self): pass diff --git a/RequestPanel.py b/RequestPanel.py new file mode 100644 index 0000000..b011899 --- /dev/null +++ b/RequestPanel.py @@ -0,0 +1,23 @@ +from pyjamas.ui.VerticalPanel import VerticalPanel +from pyjamas.ui.HorizontalPanel import HorizontalPanel +from pyjamas.ui.Button import Button +from pyjamas.ui.HTML import HTML +from pyjamas.ui import HasAlignment + +class RequestPanel(VerticalPanel): + def __init__(self, sfadata): + VerticalPanel.__init__(self) + self.sfadata = sfadata + self.setStyleName("ks-layouts") + + def refresh(self): + pass + + def apply(self, sender): + self.sfadata.applyRSpec() + + def reset(self, sender): + self.sfadata.refreshRSpec() + + + diff --git a/SfaData.py b/SfaData.py index 9100b3e..b6d7331 100644 --- a/SfaData.py +++ b/SfaData.py @@ -116,6 +116,18 @@ class GpENIData(PlanetLabData): class OpenCirrusData(SfaData): def __init__(self): SfaData.__init__(self) - self.registry = "http://www.planet-lab.org:12345" - self.slicemgr = "http://www.planet-lab.org:12346" + self.registry = "http://198.55.37.29:12345" + self.slicemgr = "http://198.55.37.29:12346" + + def refreshRSpec(self): + xml = SfaData.getRSpec(self) + self.rspec = xml + def getRSpec(self): + if self.rspec is None: + self.refreshRSpec() + return self.rspec + + def applyRSpec(self): + xml = self.rspec + SfaData.applyRSpec(self, xml) -- 2.43.0