[rhmessaging-commits] rhmessaging commits: r1641 - in mgmt/cumin/python: wooly and 1 other directory.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Mon Feb 4 14:08:28 EST 2008


Author: justi9
Date: 2008-02-04 14:08:28 -0500 (Mon, 04 Feb 2008)
New Revision: 1641

Modified:
   mgmt/cumin/python/cumin/page.py
   mgmt/cumin/python/cumin/page.strings
   mgmt/cumin/python/wooly/widgets.py
   mgmt/cumin/python/wooly/widgets.strings
Log:
Adds a LinkSet widget and uses it to render the top level tabs.



Modified: mgmt/cumin/python/cumin/page.py
===================================================================
--- mgmt/cumin/python/cumin/page.py	2008-02-04 18:14:23 UTC (rev 1640)
+++ mgmt/cumin/python/cumin/page.py	2008-02-04 19:08:28 UTC (rev 1641)
@@ -58,23 +58,11 @@
     def __init__(self, app, name):
         super(MainFrame, self).__init__(app, name)
 
-        self.__tab_tmpl = Template(self, "tab_html")
         self.__frame_tmpl = Template(self, "frame_html")
 
-        self.__tabs = list()
+        self.__tabs = MainFrameTabs(app, "tabs")
+        self.add_child(self.__tabs)
 
-        tab = self.MessagingTab(app, "mtab")
-        self.add_child(tab)
-        self.__tabs.append(tab)
-
-        tab = self.GridTab(app, "gtab")
-        self.add_child(tab)
-        self.__tabs.append(tab)
-
-        tab = self.SystemsTab(app, "stab")
-        self.add_child(tab)
-        self.__tabs.append(tab)
-
         # XXX get rid of this
         self.__object = Attribute(app, "object")
         self.add_attribute(self.__object)
@@ -114,52 +102,6 @@
     def get_title(self, session, object):
         return "Main"
 
-    class MessagingTab(Widget):
-        def render_content(self, session, object):
-            return "Messaging"
-
-        def render_href(self, session, object):
-            branch = session.branch()
-            frame = self.page().show_main(branch).show_view(branch)
-            frame.show_messaging(branch)
-            return branch.marshal()
-
-    class GridTab(Widget):
-        def render_content(self, session, object):
-            return "Grid"
-
-        def render_href(self, session, object):
-            branch = session.branch()
-            frame = self.page().show_main(branch).show_view(branch)
-            frame.show_grid(branch)
-            return branch.marshal()
-
-    class SystemsTab(Widget):
-        def render_content(self, session, object):
-            return "Systems"
-
-        def render_href(self, session, object):
-            branch = session.branch()
-            frame = self.page().show_main(branch).show_view(branch)
-            frame.show_systems(branch)
-            return branch.marshal()
-
-    def render_tabs(self, session, object):
-        writer = Writer()
-
-        for tab in self.__tabs:
-            self.__tab_tmpl.render(session, (tab, object), writer)
-
-        return writer.to_string()
-
-    def render_tab_href(self, session, args):
-        tab, object = args
-        return tab.render_href(session, object)
-
-    def render_tab_content(self, session, args):
-        tab, object = args
-        return tab.render_content(session, object)
-
     def render_frames(self, session, object):
         self.__object.set(session, object)
         writer = Writer()
@@ -235,6 +177,38 @@
         frame = self.show_mode(session, self.__cluster_add)
         return self.page().set_current_frame(session, frame)
 
+class MainFrameTabs(LinkSet):
+    def __init__(self, app, name):
+        super(MainFrameTabs, self).__init__(app, name)
+
+        self.add_link(self.MessagingTab(app, "mtab"))
+        self.add_link(self.GridTab(app, "gtab"))
+        self.add_link(self.SystemsTab(app, "stab"))
+
+    class MessagingTab(Link):
+        def render_content(self, session, object):
+            return "Messaging"
+
+        def edit_session(self, session, object):
+            frame = self.page().show_main(session).show_view(session)
+            frame.show_messaging(session)
+
+    class GridTab(Link):
+        def render_content(self, session, object):
+            return "Grid"
+
+        def edit_session(self, session, object):
+            frame = self.page().show_main(session).show_view(session)
+            frame.show_grid(session)
+
+    class SystemsTab(Link):
+        def render_content(self, session, object):
+            return "Systems"
+
+        def edit_session(self, session, object):
+            frame = self.page().show_main(session).show_view(session)
+            frame.show_systems(session)
+
 class MainView(ModeSet):
     def __init__(self, app, name):
         super(MainView, self).__init__(app, name)

Modified: mgmt/cumin/python/cumin/page.strings
===================================================================
--- mgmt/cumin/python/cumin/page.strings	2008-02-04 18:14:23 UTC (rev 1640)
+++ mgmt/cumin/python/cumin/page.strings	2008-02-04 19:08:28 UTC (rev 1641)
@@ -694,11 +694,11 @@
 <div id="head">
   <div>
     <ul id="user">
-      <li>Hi, <strong>nsantos</strong></li>
+      <li>Hi, <strong>user</strong></li>
       <li><a class="nav" href="">Log Out</a></li>
     </ul>
 
-    <ul class="tabs">{tabs}</ul>
+    {tabs}
   </div>
 
   <div>
@@ -721,8 +721,8 @@
 <div id="body">{mode}</div>
 <div id="foot"/>
 
-[MainFrame.tab_html]
-<li><a href="{tab_href}" class="{tab_class}">{tab_content}</a></li>
+[MainFrameTabs.html]
+<ul class="tabs">{links}</ul>
 
 [MainFrame.frame_html]
 <li><a href="{frame_href}">{frame_title}</a></li>

Modified: mgmt/cumin/python/wooly/widgets.py
===================================================================
--- mgmt/cumin/python/wooly/widgets.py	2008-02-04 18:14:23 UTC (rev 1640)
+++ mgmt/cumin/python/wooly/widgets.py	2008-02-04 19:08:28 UTC (rev 1641)
@@ -80,14 +80,40 @@
     def render_tab_content(self, session, mode):
         return mode.get_title(session, self.object.get(session))
 
+class LinkSet(Widget):
+    def __init__(self, app, name):
+        super(LinkSet, self).__init__(app, name)
+
+        self.__links = list()
+        self.__link_tmpl = Template(self, "link_html")
+
+    def add_link(self, link):
+        self.__links.append(link)
+        self.add_child(link)
+
+    def get_links(self, session, object):
+        return self.__links
+
+    def render_links(self, session, object):
+        writer = Writer()
+
+        for link in self.get_links(session, object):
+            self.__link_tmpl.render(session, (link, object), writer)
+
+        return writer.to_string()
+
+    def render_link(self, session, args):
+        link, object = args
+        return link.render(session, object)
+
 class Link(Widget):
-    def update_session(self, session, object):
+    def edit_session(self, session, object):
         pass
 
     def render_href(self, session, object):
         branch = session.branch()
 
-        self.update_session(branch, object)
+        self.edit_session(branch, object)
         
         return branch.marshal()
 

Modified: mgmt/cumin/python/wooly/widgets.strings
===================================================================
--- mgmt/cumin/python/wooly/widgets.strings	2008-02-04 18:14:23 UTC (rev 1640)
+++ mgmt/cumin/python/wooly/widgets.strings	2008-02-04 19:08:28 UTC (rev 1641)
@@ -49,6 +49,12 @@
 [TabbedModeSet.tab_html]
 <li><a href="{tab_href}" class="{tab_class}">{tab_content}</a></li>
 
+[LinkSet.html]
+<ul class="LinkSet">{links}</ul>
+
+[LinkSet.link_html]
+<li>{link}</li>
+
 [Link.html]
 <a href="{href}">{content}</a>
 




More information about the rhmessaging-commits mailing list