From: Andy Bavier
Date: Tue, 22 Jun 2010 20:39:05 +0000 (-0400)
Subject: Dummy panels for OpenCirrus
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=e15ce3036c57ffce83734d8f9912acff5ce2e82a;hp=67320fd9f6aa1553a9223d0b99a6c4e2bcde4d3d;p=sfa-gui.git
Dummy panels for OpenCirrus
---
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 += "
- Use the Request tab to request that some "
+ m += "VM instances be allocated to your slice."
+ m += "
- Use the Instances tab to get information on "
+ m += "running VM instances."
+ m += "
- 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)