Author: jmorliaguet
Date: Sun May 14 22:11:30 2006
New Revision: 3133

Modified:
   cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js
   cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt
   cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py
   cpsskins/branches/paris-sprint-2006/ui/editing/views.py
   cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt
   cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml
   
cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css

Log:

- saving work. settings can be edited



Modified: 
cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js
==============================================================================
--- cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js  
(original)
+++ cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js  
Sun May 14 22:11:30 2006
@@ -2,10 +2,11 @@
 CPSSkins.addActions({
   'selectTag': function(info) {
     var target = info.target;
-    var style_id = 
CPSSkins.getModelById('element-editor').getData().form.format;
+    var data = CPSSkins.getModelById('element-editor').getData();
+    var uri = data.form.uri;
+    var style_id = data.form.format;
     var selector = getSelectorInContext(target, $('previewArea'), style_id);
-
-    CPSSkins.getModelById('style-editor').updateData({selector: selector, 
style_id: style_id});
+    CPSSkins.getModelById('style-editor').updateData({selector: selector, uri: 
uri});
   },
 
   'updateLabel': function(info) {

Modified: 
cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt
==============================================================================
--- cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt  
(original)
+++ cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt  
Sun May 14 22:11:30 2006
@@ -17,7 +17,7 @@
     <a i18n:translate=""
        tal:repeat="type widget_types"
        tal:content="string:widget.$type"
-       tal:attributes="href 
string:javascript:CPSSkins.getModelById('style-editor').updateData({'widget': 
'$type', 'selector': ''});" />
+       tal:attributes="href 
string:javascript:CPSSkins.getModelById('style-editor').updateData({widget: 
'$type', selector: ''});" />
   </div>
 
   <table width="100%">
@@ -34,4 +34,5 @@
       </td>
     </tr>
   </table>
+
 </div>

Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py 
(original)
+++ cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py Sun May 
14 22:11:30 2006
@@ -26,6 +26,8 @@
 from cpsskins import minjson as json
 from cpsskins import utils
 from cpsskins.elements.interfaces import IFormattable
+from cpsskins.relations.interfaces import IRelatable
+from cpsskins.setup.interfaces import IResourceManager
 from cpsskins.standard.formats.style import IStyle
 from cpsskins.utils import getThemeManager
 
@@ -52,13 +54,14 @@
         """
         data = self.data
         widget_type = data.get(u'widget', u'')
-        style_id = data.get(u'style_id')
         if not widget_type:
             return u''
         widget = getUtility(configuration.IWidget, widget_type)
         markup = widget.view(None, None).renderPreview()
         markup = utils.insertCSSClass(markup, utils.camelize(widget_type))
-        markup = utils.insertCSSClass(markup, u'style' + str(style_id))
+
+        style_id = unicode(IRelatable(self.context))
+        markup = utils.insertCSSClass(markup, u'style' + style_id)
         return markup
 
     def getModelDef(self):
@@ -78,7 +81,7 @@
                 'widget': '',
                 'selector': '',
                 'fields': [],
-                'style_id': '',
+                'uri': '',
             },
         })
 
@@ -111,8 +114,9 @@
     def setFormData(self):
         data = self.data
         selector = data.get(u'selector')
-        style_id = data.get(u'style_id')
-        style = self.tmutil.getElementById(style_id)
+        uri = data.get(u'uri')
+        resources = getUtility(IResourceManager)
+        style = resources.resolve(uri, context=self.context)
 
         if selector is None:
             raise ValueError("The CSS selector is not set.")
@@ -139,16 +143,18 @@
         data = self.data
         selector = data.get(u'selector', u'')
         widget = data.get(u'widget', u'')
-        style_id = data.get(u'style_id')
+        uri = data.get(u'uri')
+        resources = getUtility(IResourceManager)
 
         data = {
             'widget': widget,
             'selector': selector,
             'fields': [],
-            'style_id': style_id,
+            'uri': uri,
         }
-        if style_id and selector:
-            style = self.tmutil.getElementById(style_id)
+
+        if uri and selector:
+            style = resources.resolve(uri, context=self.context)
             fields = []
             sel = style.get(selector)
             if sel is None:

Modified: cpsskins/branches/paris-sprint-2006/ui/editing/views.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/editing/views.py     (original)
+++ cpsskins/branches/paris-sprint-2006/ui/editing/views.py     Sun May 14 
22:11:30 2006
@@ -20,7 +20,7 @@
 from zope.location.traversing import LocationPhysicallyLocatable
 from zope.location.pickling import locationCopy
 from zope.app.zapi import queryMultiAdapter, getMultiAdapter, getParent
-from zope.component import queryUtility, getUtility
+from zope.component import getUtility
 from zope.interface import implements, Interface
 from zope.formlib import form
 from zope.security.proxy import removeSecurityProxy
@@ -157,6 +157,7 @@
         setting = None
 
         for f in formattable.getFormats(resolve=False):
+            uri = IIdentifiable(f).getURI()
             format = f
             is_setting = ISetting.providedBy(f)
             if is_setting:
@@ -170,7 +171,7 @@
                 if is_setting:
                     setting = format
 
-            formats.append({'name': format_name, 'id': f.identifier})
+            formats.append({'name': format_name, 'id': f.identifier, 'uri': 
uri})
 
         viewer = getMultiAdapter((context, request), IViewer)
         preview = viewer()

Modified: cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt     
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt     Sun May 
14 22:11:30 2006
@@ -9,10 +9,11 @@
             display_id display/identifier;
             setting nocall:info/setting;
             edited nocall:info/edited;
+            edited_type edited/type:resourcename;
             setting_info edited/@@getSettingInfo">
 
-  <a class="back"
-     
href="javascript:CPSSkins.getControllerById('main-editor-perspectives').goBack()">Back
 to the editor</a>
+  <a class="next"
+     
href="javascript:CPSSkins.getControllerById('main-editor-perspectives').goBack()">To
 the editor</a>
 
   <h1 class="title" tal:define="title element/title">
     <tal:block condition="not:title" i18n:translate=""
@@ -38,7 +39,7 @@
     <a i18n:translate=""
        tal:repeat="format info/formats"
        tal:attributes="
-         href 
string:javascript:CPSSkins.getModelById('element-editor').updateData({script: 
'/++skin++cpsskins/++resource++style_editor.js', form: {id: $id, display: 
$display_id, format: ${format/id}, tab: '${format/name}'}})"
+         href 
string:javascript:CPSSkins.getModelById('element-editor').updateData({script: 
'/++skin++cpsskins/++resource++style_editor.js', form: {id: $id, display: 
$display_id, format: ${format/id}, uri: '${format/uri}', tab: 
'${format/name}'}})"
        tal:content="format/name" />
 
     <a i18n:translate=""
@@ -48,13 +49,20 @@
   </div>
 
   <tal:block condition="python: mode == 'edit'">
-    <span style="float:right; padding: 0.3em; background-color: #ffc; margin: 
2px; border: 1px solid #fc0" tal:condition="setting">
-      Warning: this is a site setting. Changes made to it may affect several 
site elements.
-    </span>
     <div class="form" tal:content="structure edited/@@edit.html" />
+  </tal:block>
+
+  <div class="form" tal:condition="python: mode == 'preview'"
+       tal:content="structure info/preview" />
+
+   <div class="form">
+    <div tal:condition="setting">
+      Warning: this is a site setting.
+      Changes made to it may affect several site elements.
+    </div>
 
-    <div class="form" tal:condition="not:setting">
-      <h3>Create a setting</h3>
+    <div tal:condition="not:setting">
+      <div>Create a setting</div>
       <form tal:attributes="action 
string:${edited/@@absolute_url}/@@createSetting"
             enctype="multipart/form-data" method="post">
         <p>
@@ -66,20 +74,19 @@
       </form>
     </div>
 
-    <div class="form">
-      <h3>Use a setting</h3>
-      <ul tal:define="format_type edited/type:resourcename">
-        <li tal:condition="python: format_type in setting_info"
-            tal:repeat="setting setting_info/?format_type">
-          <a href=""
-             tal:attributes="href 
string:${display/@@absolute_url}/@@useSettingAsFormat?uri=${setting/uri}"
-             tal:content="setting/name" />
-        </li>
-      </ul>
-    </div>
+    <tal:block condition="python: edited_type in setting_info">
+    <div>Use another setting</div>
+    <ul>
+      <li tal:repeat="setting setting_info/?edited_type">
+        <a href=""
+           tal:attributes="href 
string:${display/@@absolute_url}/@@useSettingAsFormat?uri=${setting/uri}"
+           tal:content="setting/name" />
+      </li>
+    </ul>
+    </tal:block>
+  </div>
 
-  </tal:block>
-  <div class="form" tal:condition="python: mode == 'preview'"
-       tal:content="structure info/preview" />
+  <br/>
+  <br/>
 
 </tal:block>

Modified: 
cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml
==============================================================================
--- cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml 
(original)
+++ cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml 
Sun May 14 22:11:30 2006
@@ -15,4 +15,10 @@
       layer="cpsskins.browser.skin.cpsskins"
   />
 
+  <resource
+      name="green-arrow-right.png"
+      file="green-arrow-right.png"
+      layer="cpsskins.browser.skin.cpsskins"
+  />
+
 </configure>

Modified: 
cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css
==============================================================================
--- 
cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css 
    (original)
+++ 
cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css 
    Sun May 14 22:11:30 2006
@@ -19,14 +19,15 @@
   color: #000;
 }
 
-a.back {
+a.next {
   border: 1px solid #ccc;
   background-color: #efc;
-  padding: 0.2em 4px 0.2em 18px;
+  padding: 0.2em 18px 0.2em 4px;
   font: 11px verdana;
-  float: right; 
-  background-image: url(/++skin++cpsskins/@@/++resource++green-arrow-left.png);
+  float: right;
+  background-image: 
url(/++skin++cpsskins/@@/++resource++green-arrow-right.png);
   background-repeat: no-repeat;
+  background-position: 100% 0.2em;
 }
 
 div.tabs a {
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to