Author: jmorliaguet
Date: Sat Jun 10 23:00:15 2006
New Revision: 3393

Added:
   
cpsskins/branches/paris-sprint-2006/ui/screens/common/images/arrow-down-16.png  
 (contents, props changed)
   
cpsskins/branches/paris-sprint-2006/ui/screens/common/images/arrow-left-16.png  
 (contents, props changed)
Modified:
   cpsskins/branches/paris-sprint-2006/ui/screens/common/authoring.css
   cpsskins/branches/paris-sprint-2006/ui/screens/common/configure.zcml
   cpsskins/branches/paris-sprint-2006/ui/screens/common/content_factory.pt
   cpsskins/branches/paris-sprint-2006/ui/screens/common/images/configure.zcml
   cpsskins/branches/paris-sprint-2006/ui/screens/common/views.py
   cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py
   cpsskins/branches/paris-sprint-2006/ui/screens/editor.pt

Log:

- optimizations by splitting the remote scripting controllers by area.

- the content factory is shown in an accordion menu:

  http://www.medic.chalmers.se/~jmo/Zope3/content-factory.png



Modified: cpsskins/branches/paris-sprint-2006/ui/screens/common/authoring.css
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/common/authoring.css 
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/common/authoring.css Sat Jun 
10 23:00:15 2006
@@ -54,28 +54,26 @@
 .toolbox .header {
   border-bottom: 1px solid #000;
   background-color: #999;
-  font-size: 1.1em;
-  color: white;
+  font-size: 13px;
   padding: 2px 0px 2px 30px;
+  color: #fff;
 }
 
 .toolbox .section {
-  border-bottom: 1px solid #999;
-  background-color: #ccc;
-  padding: 0px 0px 1px 30px;
-}
-
-.toolbox div.item {
-  cursor: move;
-  padding: 6px;
-  border-bottom: 1px solid #999;
+  border-bottom: 1px solid #666;
+  padding: 3px 0px 3px 30px;
+  display: block;
+  color: #000;
+  background: #ccc url(++resource++arrow-left-16.png) 4px center no-repeat;
 }
 
-.toolbox div.odd {
+.toolbox .section.selected {
+  background: #ccc url(++resource++arrow-down-16.png) 4px center no-repeat;
 }
 
-.toolbox div.item:hover {
-  background-color: #ffc;
+.toolbox div.item {
+  cursor: default;
+  padding: 6px;
   border-bottom: 1px solid #999;
 }
 

Modified: cpsskins/branches/paris-sprint-2006/ui/screens/common/configure.zcml
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/common/configure.zcml        
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/common/configure.zcml        
Sat Jun 10 23:00:15 2006
@@ -46,6 +46,11 @@
     />
 
     <page
+      name="selectPortletProvider"
+      attribute="selectPortletProvider"
+    />
+
+    <page
       name="content-factory.html"
       template="content_factory.pt"
     />

Modified: 
cpsskins/branches/paris-sprint-2006/ui/screens/common/content_factory.pt
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/common/content_factory.pt    
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/common/content_factory.pt    
Sat Jun 10 23:00:15 2006
@@ -1,12 +1,16 @@
 <tal:block i18n:domain="cpsskins">
   <div class="header">Portlets</div>
   <tal:block repeat="info view/listPortlets">
-    <div class="section" i18n:translate=""
-     tal:content="string:provider.${info/provider}" />
-    <div class="factory" tal:repeat="factory info/factories"
-     tal:attributes="type_name factory/type_name">
+    <a i18n:translate=""
+     tal:define="provider info/provider; selected info/selected"
+     tal:attributes="href string:@@selectPortletProvider?provider=$provider;
+                     class python: selected and 'selected section' or 
'section'"
+     tal:content="string:provider.$provider" />
+    <div class="factory" tal:condition="info/selected"
+         tal:repeat="factory info/factories"
+         tal:attributes="type_name factory/type_name">
       <div tal:define="title factory/title; odd repeat/factory/odd;"
-       tal:attributes="class python: odd and 'item odd' or 'item'">
+           tal:attributes="class python: odd and 'item odd' or 'item'">
         <img class="icon" i18n:attributes="title"
          tal:attributes="title title; src string:++resource++${factory/icon}" 
/>
         <span class="title" tal:content="factory/title" /> &mdash;

Added: 
cpsskins/branches/paris-sprint-2006/ui/screens/common/images/arrow-down-16.png
==============================================================================
Binary file. No diff available.

Added: 
cpsskins/branches/paris-sprint-2006/ui/screens/common/images/arrow-left-16.png
==============================================================================
Binary file. No diff available.

Modified: 
cpsskins/branches/paris-sprint-2006/ui/screens/common/images/configure.zcml
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/common/images/configure.zcml 
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/common/images/configure.zcml 
Sat Jun 10 23:00:15 2006
@@ -102,4 +102,12 @@
       name="li-16.png" file="li-16.png"
       layer="cpsskins.browser.skin.cpsskins" />
 
+  <resource
+      name="arrow-left-16.png" file="arrow-left-16.png"
+      layer="cpsskins.browser.skin.cpsskins" />
+
+  <resource
+      name="arrow-down-16.png" file="arrow-down-16.png"
+      layer="cpsskins.browser.skin.cpsskins" />
+
 </configure>

Modified: cpsskins/branches/paris-sprint-2006/ui/screens/common/views.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/common/views.py      
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/common/views.py      Sat Jun 
10 23:00:15 2006
@@ -35,6 +35,7 @@
 from cpsskins.browser.tree.interfaces import INodeMoving, INodeOrdering
 from cpsskins.browser.tree.interfaces import INodeDuplicating
 from cpsskins.browser.rendering.interfaces import IViewer
+from cpsskins.clientstorage import ClientStorage
 from cpsskins.configuration.portlets.factory import IPortletFactory
 from cpsskins.configuration.portlets import DEFAULT_PROVIDER
 from cpsskins.elements.theme import Theme
@@ -138,10 +139,19 @@
     def __init__(self, context, request):
         self.context = context
         self.request = request
+        self.data = ClientStorage(u'panels')
+
+    def selectPortletProvider(self, provider=DEFAULT_PROVIDER):
+        current_provider = self.data['provider']
+        if provider == current_provider:
+            self.data['provider'] = u''
+        else:
+            self.data['provider'] = provider
 
     def listPortlets(self):
         """Return the factories of all registered portlets by provider name.
         """
+        current_provider = self.data['provider']
         factories = getAllUtilitiesRegisteredFor(IPortletFactory)
         providers = {}
         for factory in factories:
@@ -153,8 +163,8 @@
         names.sort()
         names.insert(0, DEFAULT_PROVIDER)
 
-        return [{'provider': name, 'factories': providers[name]}
-                for name in names]
+        return [{'provider': name, 'selected': name == current_provider,
+                 'factories': providers[name]} for name in names]
 
 class IAuthoring(Interface):
     """ """

Modified: cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py       
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py       Sat Jun 
10 23:00:15 2006
@@ -193,6 +193,16 @@
         },
     },
 
+    'panels': {
+        'id': 'panels',
+        'storage': {
+            'type': 'local',
+        },
+        'data': {
+            'provider': 'standard',
+        },
+    },
+
 }
 
 VIEWS = {
@@ -206,7 +216,7 @@
         'model': 'stylesheet',
         'perspectives': ['page-designer', 'content-author',
                          'element-editor'],
-        'controllers': ['main-editor-perspectives', 'main-editor-actions'],
+        'controllers': ['main-editor-perspectives', 'element-editor-actions'],
     },
 
     # the main editor action buttons
@@ -441,7 +451,7 @@
         },
         'model': 'element-editor',
         'perspectives': ['element-editor'],
-        'controllers': ['main-editor-perspectives', 'main-editor-actions'],
+        'controllers': ['main-editor-perspectives', 'element-editor-actions'],
     },
 
     # Bottom area
@@ -452,7 +462,8 @@
         },
         'model': 'content-factory',
         'perspectives': ['page-designer', 'content-author'],
-        'controllers': ['main-editor-perspectives', 'content-factory'],
+        'controllers': ['main-editor-perspectives', 'content-factory',
+                        'factory-actions'],
     },
 
     # Contextual menu
@@ -614,6 +625,17 @@
         'type': 'remote scripting',
     },
 
+    'factory-actions': {
+        'id': 'factory-actions',
+        'type': 'remote scripting',
+    },
+
+    # remote scripting for the element editor / stylesheet
+    'element-editor-actions': {
+        'id': 'element-editor-actions',
+        'type': 'remote scripting',
+    },
+
     # prevent links from being active
     'disable-links': {
         'id': 'disable-links',

Modified: cpsskins/branches/paris-sprint-2006/ui/screens/editor.pt
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/editor.pt    (original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/editor.pt    Sat Jun 10 
23:00:15 2006
@@ -37,6 +37,10 @@
       <ins class="controller"
            tal:content="python: controller('main-editor-actions')" />
       <ins class="controller"
+           tal:content="python: controller('element-editor-actions')" />
+      <ins class="controller"
+           tal:content="python: controller('factory-actions')" />
+      <ins class="controller"
            tal:content="python: controller('disable-links')" />
 
       <!-- top tabs -->
@@ -53,6 +57,8 @@
       <ins class="controller"
        tal:content="python: controller('page-mode-perspectives')" />
 
+      <ins class="model" tal:content="python: model('panels')" />
+
       <table style="width:100%">
         <tr>
           <!-- left panel -->
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to