[Checkins] SVN: Sandbox/ulif/grok-adminui/src/grok/admin/ Incorporated layout suggestions from Sebastian Ware.

Uli Fouquet uli at gnufix.de
Tue Jun 26 21:31:58 EDT 2007


Log message for revision 77115:
  Incorporated layout suggestions from Sebastian Ware.

Changed:
  U   Sandbox/ulif/grok-adminui/src/grok/admin/docgrok.py
  A   Sandbox/ulif/grok-adminui/src/grok/admin/static/GROK_Ornament2.jpg
  A   Sandbox/ulif/grok-adminui/src/grok/admin/static/banner-shadow.jpg
  A   Sandbox/ulif/grok-adminui/src/grok/admin/static/grok-admin.jpg
  A   Sandbox/ulif/grok-adminui/src/grok/admin/static/grok-relax5.png
  U   Sandbox/ulif/grok-adminui/src/grok/admin/static/grok.css
  U   Sandbox/ulif/grok-adminui/src/grok/admin/view.py
  U   Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/appsindex.pt
  U   Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/macros.pt

-=-
Modified: Sandbox/ulif/grok-adminui/src/grok/admin/docgrok.py
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/docgrok.py	2007-06-26 22:35:05 UTC (rev 77114)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/docgrok.py	2007-06-27 01:31:56 UTC (rev 77115)
@@ -23,6 +23,7 @@
 
 from zope.app.apidoc.codemodule.module import Module
 from zope.app.apidoc.codemodule.class_ import Class
+from zope.app.apidoc.utilities import renderText
 
 grok.context(IRootFolder)
 grok.define_permission('grok.ManageApplications')
@@ -292,6 +293,28 @@
         ob = resolve( self.path )
         return hasattr(ob, __file__) and os.path.dirname(ob.__file__) or None
 
+    def getDoc(self, heading_only=False):
+        """Get the doc string of the module STX formatted.
+        """
+        if hasattr( self, "apidoc") and hasattr(
+            self.apidoc, "getDocString" ):
+            text = self.apidoc.getDocString()
+        else:
+            return None
+        lines = text.strip().split('\n')
+        if len(lines) and heading_only:
+            # Find first empty line to separate heading from trailing text.
+            headlines = []
+            for line in lines:
+                if line.strip() == "":
+                    break
+                headlines.append(line)
+            lines = headlines
+        # Get rid of possible CVS id.
+        lines = [line for line in lines if not line.startswith('$Id')]
+        return renderText('\n'.join(lines), self.path)
+
+
     def traverse(self,patient):
         """ Do special traversing inside the surgery.
 

Added: Sandbox/ulif/grok-adminui/src/grok/admin/static/GROK_Ornament2.jpg
===================================================================
(Binary files differ)


Property changes on: Sandbox/ulif/grok-adminui/src/grok/admin/static/GROK_Ornament2.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: Sandbox/ulif/grok-adminui/src/grok/admin/static/banner-shadow.jpg
===================================================================
(Binary files differ)


Property changes on: Sandbox/ulif/grok-adminui/src/grok/admin/static/banner-shadow.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: Sandbox/ulif/grok-adminui/src/grok/admin/static/grok-admin.jpg
===================================================================
(Binary files differ)


Property changes on: Sandbox/ulif/grok-adminui/src/grok/admin/static/grok-admin.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: Sandbox/ulif/grok-adminui/src/grok/admin/static/grok-relax5.png
===================================================================
(Binary files differ)


Property changes on: Sandbox/ulif/grok-adminui/src/grok/admin/static/grok-relax5.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: Sandbox/ulif/grok-adminui/src/grok/admin/static/grok.css
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/static/grok.css	2007-06-26 22:35:05 UTC (rev 77114)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/static/grok.css	2007-06-27 01:31:56 UTC (rev 77115)
@@ -99,11 +99,15 @@
 	line-height: 12px;
 	color: #555555;
 	color: #CC9900;
+        background: url("Highlight_Bkgrnd.jpg");
 	wi/dth: 100%;
 	margin: 16px auto -4px auto;
+        padding: 3px;
+        padding-bottom: 10px;
 }
 
 fieldset { 
+        margin-top: 8px;
         background: url("Highlight_Bkgrnd.jpg");
         border: 1px solid #c90;
         wi/dth: 550px;
@@ -319,12 +323,14 @@
         padding-left: 5px;
 	font-size: 15px;
 	font-family: verdana;
-	color: #CC9900;
+	co/lor: #CC9900;
         f/ont-style: verdana;
         to/p: 59px;
         background: url("Highlight_Bkgrnd.jpg");
+        background: url("banner-shadow.jpg");
         ba/ckground: url("GROK_Ornament_small.jpg");
-        border-top: 1px solid #CC9900;
+        bor/der-top: 1px solid #CC9900;
+        height: 35px;
 }
 
 div#Content {
@@ -344,13 +350,13 @@
 div#Fireplace { 
         position: absolute; 
         right: 0px; 
-        top: 10px; 
-        width: 205px; 
-        height: 105px;
+        top: 5px; 
+        width: 160px; 
+        height: 75px;
 }
 div#Banner {
-        height: 81px;
-        background: #eeeeee url("GROK_Ornament.jpg") repeat-x;
+        height: 40px;
+        background: #eeeeee url("GROK_Ornament2.jpg") repeat-x;
 }
 
 #Footer-marker { 

Modified: Sandbox/ulif/grok-adminui/src/grok/admin/view.py
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/view.py	2007-06-26 22:35:05 UTC (rev 77114)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/view.py	2007-06-27 01:31:56 UTC (rev 77115)
@@ -91,13 +91,23 @@
 
 class AppsIndex(GAIAView):
     """View for application management."""
+
     grok.name('appsindex')
     grok.require('grok.ManageApplications')
 
+    def getDocOfApp(self, apppath, headonly = True):
+        from grok.admin import docgrok
+        doctor = docgrok.handle( apppath )
+        result = doctor.getDoc( headonly)
+        if result is None:
+            result = ""
+        return result
+
     def update(self):
         apps = zope.component.getAllUtilitiesRegisteredFor(
             grok.interfaces.IApplication)
-        self.applications = ("%s.%s" % (x.__module__, x.__name__)
+        self.applications = ({'name': "%s.%s" % (x.__module__, x.__name__),
+                              'docurl':("%s.%s" % (x.__module__, x.__name__)).replace( '.', '/')}
                              for x in apps)
 
 class Z3Index(GAIAView):

Modified: Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/appsindex.pt
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/appsindex.pt	2007-06-26 22:35:05 UTC (rev 77114)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/appsindex.pt	2007-06-27 01:31:56 UTC (rev 77115)
@@ -1,10 +1,6 @@
 <html metal:use-macro="context/@@macros/gaia-page">
   <div metal:fill-slot="content">
 
-<!--
-    <h1>Grok Applications:</h1>
--->
-
     <form tal:define="apps context/values"
 	  tal:attributes="action string:${context/@@absolute_url}/delete"
 	  tal:condition="apps|nothing">
@@ -20,45 +16,38 @@
 	    (<span tal:replace="app/__class__/__name__"/>)
 	  </a>
 	  &nbsp;&nbsp;
-<!--
-	  <a href="" class="button"
-	     tal:attributes="href string:${context/@@absolute_url}/inspect?app=${app/__name__}">
-	    Inspect...
-	  </a>
--->
 	</div>
 
 	<p>
 	  <input class="button" type="submit" value="Delete Selected"/></p>
       </fieldset>
     </form>
-    <form action="" tal:attributes="action string:${context/@@absolute_url}/add">
-      <fieldset>
-	<legend>Add application</legend>
-	<div>
-	  <span>
-	    <label for="application">Application: 
-	    <select height="1" name="application"> 
-	      <option tal:repeat="app view/applications" 
-		      tal:attributes="value app" 
-		      tal:content="app"
-		      />
-	    </select> 
-	    </label>
-	    <input type="submit" name="inspectapp" value="more..." />
+    <fieldset>	
+      <legend>Add application</legend>
+      <form action="" tal:attributes="action string:${context/@@absolute_url}/add">
+	<fieldset tal:repeat="app view/applications">
+	  <legend><a href=""
+		     tal:attributes="href string:${context/@@absolute_url}/docgrok/${app/docurl}"
+		     tal:content="app/name">Application Name</a></legend>
+	  <p class="docgrok-description1">
+	    <span tal:replace="structure python: view.getDocOfApp(app['name']) or ''">
+	      Application description here.
+	    </span>
 <!--
-	    <a href=""
-	       tal:attributes="href string:${context/@@absolute_url}/inspect?app=${app/__name__}">more...</a>
+	    <a href="" class=""
+	       tal:attributes="href string:${context/@@absolute_url}/docgrok/url/docurl">(more...)</a>
 -->
-	  </span>
-	</div>
+	  </p>
+	  <p>
+	    <label>Name your new app: <input type="text" name="name"/></label>
+	    <input type="hidden" name="application" value=""
+		   tal:attributes="value app/name" />
+	    <input class="button" type="submit" name="Add" value="Create"/>
+	  </p>
+	</fieldset>
+      </form>
+    </fieldset>
 
-	<p><label>Name your new app: <input type="text" name="name"/></label></p>
-	  
-	<p><input class="button" type="submit" value="Add"/></p>
-
-      </fieldset>
-    </form>
   </div>
 
 </html>

Modified: Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/macros.pt
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/macros.pt	2007-06-26 22:35:05 UTC (rev 77114)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/view_templates/macros.pt	2007-06-27 01:31:56 UTC (rev 77115)
@@ -15,8 +15,8 @@
     <div>
     <div id="Banner">
       <a href="/" id="logo">
-	<img alt="Grok" src="images/GROK_Logo.jpg"
-	     tal:attributes="src view/static/GROK_Logo.jpg" />
+	<img alt="Grok" src="images/grok-admin.jpg"
+	     tal:attributes="src view/static/grok-admin.jpg" />
       </a>
     </div>
     <div id="Breadcrumbs">
@@ -24,7 +24,7 @@
     </div>
     <div id="Fireplace">
       <img alt="Fire" src="images/Fire.gif"
-	   tal:attributes="src view/static/grok-relax4.png" />
+	   tal:attributes="src view/static/grok-relax5.png" />
     </div>
     <p></p>
     <center tal:define="currview python:view.url()">
@@ -77,7 +77,7 @@
 	  &copy; Copyright 2007, The Grok Community
 	- <a href="http://grok.zope.org">GROK</a>|<a href="http://www.zope.org">ZOPE3</a> -</p>
 -->
-	<p id="Footer-copyright">&copy; Copyright 2007, The Grok Community<br />Design by Sebastian Ware</p>
+	<p id="Footer-copyright">&copy; Copyright 2007, The Grok Community<br />Design inspired by Sebastian Ware</p>
       </div>
     </div>
     </center>



More information about the Checkins mailing list