Author: jmorliaguet Date: Sun Jul 2 12:17:34 2006 New Revision: 3584 Modified: cpsskins/branches/paris-sprint-2006/doc/theme-structure.txt cpsskins/branches/paris-sprint-2006/setup/io/README.txt cpsskins/branches/paris-sprint-2006/standard/engines/default.zcml cpsskins/branches/paris-sprint-2006/standard/engines/tableless.zcml cpsskins/branches/paris-sprint-2006/standard/formats/layout.py cpsskins/branches/paris-sprint-2006/standard/portlets/actions/configure.zcml cpsskins/branches/paris-sprint-2006/standard/portlets/breadcrumbs/configure.zcml cpsskins/branches/paris-sprint-2006/standard/portlets/custom/configure.zcml cpsskins/branches/paris-sprint-2006/standard/portlets/dummy/configure.zcml cpsskins/branches/paris-sprint-2006/standard/portlets/image/configure.zcml cpsskins/branches/paris-sprint-2006/standard/portlets/macroslot/configure.zcml cpsskins/branches/paris-sprint-2006/standard/presentations.zcml cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/configure.zcml cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/layout_editor.pt cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/views.py cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/engine.zcml cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/layout/layout_mode.css cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/wysiwyg/engine.zcml
Log: - saving work - added the layout editor, all elements now have a layout - bug fixes Modified: cpsskins/branches/paris-sprint-2006/doc/theme-structure.txt ============================================================================== --- cpsskins/branches/paris-sprint-2006/doc/theme-structure.txt (original) +++ cpsskins/branches/paris-sprint-2006/doc/theme-structure.txt Sun Jul 2 12:17:34 2006 @@ -58,7 +58,7 @@ >>> inspect() - Theme (default: True) - |_ Default page (default: True) + |_ ThemePage (default: True) >>> tmutil.getDefaultTheme() Theme('Theme') @@ -73,7 +73,7 @@ >>> inspect() - Theme (default: True) - |_ Default page (default: True) + |_ ThemePage (default: True) - Theme 2 (default: False) the default theme is still the first theme: @@ -95,7 +95,7 @@ a theme has pages: >>> theme1.getPages() - [ThemePage('Default page')] + [ThemePage('ThemePage')] we create and add a page to the second theme: @@ -106,7 +106,7 @@ >>> inspect() - Theme (default: True) - |_ Default page (default: True) + |_ ThemePage (default: True) - Theme 2 (default: False) |_ Page 1 (default: True) @@ -118,7 +118,7 @@ >>> inspect() - Theme (default: True) - |_ Default page (default: True) + |_ ThemePage (default: True) - Theme 2 (default: False) |_ Page 2 (default: False) |_ Page 1 (default: True) @@ -136,7 +136,7 @@ >>> tmutil.setAsDefault(theme2) >>> inspect() - Theme (default: False) - |_ Default page (default: True) + |_ ThemePage (default: True) - Theme 2 (default: True) |_ Page 2 (default: False) |_ Page 1 (default: True) @@ -146,7 +146,7 @@ >>> tmutil.setAsDefault(page2) >>> inspect() - Theme (default: False) - |_ Default page (default: True) + |_ ThemePage (default: True) - Theme 2 (default: True) |_ Page 2 (default: True) |_ Page 1 (default: False) @@ -159,7 +159,7 @@ >>> inspect() - Theme (default: False) - |_ Default page (default: True) + |_ ThemePage (default: True) - Theme 2 (default: True) |_ Page 1 (default: True) @@ -169,7 +169,7 @@ >>> inspect() - Theme (default: False) - |_ Default page (default: True) + |_ ThemePage (default: True) - Theme 2 (default: True) if we remove a theme that is a default theme, the first theme will become @@ -178,7 +178,7 @@ >>> del tmutil[u'Theme-2'] >>> inspect() - Theme (default: True) - |_ Default page (default: True) + |_ ThemePage (default: True) we can delete the only theme left: Modified: cpsskins/branches/paris-sprint-2006/setup/io/README.txt ============================================================================== --- cpsskins/branches/paris-sprint-2006/setup/io/README.txt (original) +++ cpsskins/branches/paris-sprint-2006/setup/io/README.txt Sun Jul 2 12:17:34 2006 @@ -281,8 +281,7 @@ </portlets> <BLANKLINE> - >>> binary_name = u'%s_data_120x120.png' % portlet.identifier - >>> archive[binary_name] == portlet.data + >>> archive[u'image_data_120x120.png'] == portlet.data True Export of fields @@ -325,8 +324,8 @@ >>> print toXML(image1, u'images', archive=archive) <?xml version="1.0" encoding="utf-8"?> <images> - <image id="..."> - <data value="..._data_120x120.png"/> + <image> + <data value="image_data_120x120.png"/> <contentType value="image/png"/> </image> </images> Modified: cpsskins/branches/paris-sprint-2006/standard/engines/default.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/engines/default.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/engines/default.zcml Sun Jul 2 12:17:34 2006 @@ -77,6 +77,10 @@ /> <filter + name="layout" + /> + + <filter name="style" /> Modified: cpsskins/branches/paris-sprint-2006/standard/engines/tableless.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/engines/tableless.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/engines/tableless.zcml Sun Jul 2 12:17:34 2006 @@ -45,11 +45,11 @@ /> <filter - name="layout" + name="style" /> <filter - name="style" + name="layout" /> </renderer> @@ -73,6 +73,10 @@ /> <filter + name="layout" + /> + + <filter name="style" /> Modified: cpsskins/branches/paris-sprint-2006/standard/formats/layout.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/formats/layout.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/formats/layout.py Sun Jul 2 12:17:34 2006 @@ -39,18 +39,41 @@ class Layout(Format, Persistent): """A layout is used to format layout elements (cells, blocks, etc) - >>> layout = Layout(types=[u'container']) - >>> layout - <Layout of type: container> - - >>> dict(layout.items()) - {} - - >>> layout[u'width'] = u'1em' - >>> dict(layout.items()) - {u'width': u'1em'} + 'Container' types of layout have dimensions (width, height) + + >>> layout = Layout(types=[u'container']) + >>> layout + <Layout of type: container> + + >>> dict(layout) + {u'width': u'', u'height': u''} + + >>> layout[u'width'] = u'1em' + >>> dict(layout) + {u'width': u'1em', u'height': u''} + + 'Contained' types of layout have no dimensions + (margin, padding, border width) + + >>> layout = Layout(types=[u'contained']) + >>> layout + <Layout of type: contained> + + >>> dict(layout) + {u'padding': u'', u'margin': u'', u'border-width': u''} + + >>> layout[u'width'] = u'1em' + Traceback (most recent call last): + ... + KeyError: u'No such property: width' """ + + _layout_types = { + 'container': (u'width', u'height'), + 'contained': (u'margin', u'padding', u'border-width'), + } + implements(ILayout, ITraversable) def __init__(self, **kw): @@ -67,21 +90,25 @@ def __setitem__(self, k, v): if not isinstance(v, basestring): - raise TypeError, \ - """Only strings can be stored in the layout objects.""" + raise TypeError("Only strings can be stored in the layout objects.") + if not k in self: + raise KeyError("No such property: %s" % k) self.data[k] = v def __delitem__(self, k): del self.data[k] def __getitem__(self, k): - return self.data[k] + try: + return self.data[k] + except KeyError: + return u'' def __contains__(self, k): - return k in self.data + return k in self.keys() def keys(self): - return list(self.data.keys()) + return self._layout_types[self.types[0]] def items(self): return self.data.items() Modified: cpsskins/branches/paris-sprint-2006/standard/portlets/actions/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/portlets/actions/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/portlets/actions/configure.zcml Sun Jul 2 12:17:34 2006 @@ -20,6 +20,11 @@ for=".portlet.IActions"> <format + name="layout" + types="contained" + /> + + <format name="widget" types="standard.vertical_menu" /> Modified: cpsskins/branches/paris-sprint-2006/standard/portlets/breadcrumbs/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/portlets/breadcrumbs/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/portlets/breadcrumbs/configure.zcml Sun Jul 2 12:17:34 2006 @@ -22,6 +22,11 @@ for=".portlet.IBreadcrumbs"> <format + name="layout" + types="contained" + /> + + <format name="widget" types="standard.horizontal_trail" /> Modified: cpsskins/branches/paris-sprint-2006/standard/portlets/custom/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/portlets/custom/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/portlets/custom/configure.zcml Sun Jul 2 12:17:34 2006 @@ -23,6 +23,11 @@ for=".portlet.ICustom"> <format + name="layout" + types="contained" + /> + + <format name="widget" types="standard.plain_html" /> Modified: cpsskins/branches/paris-sprint-2006/standard/portlets/dummy/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/portlets/dummy/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/portlets/dummy/configure.zcml Sun Jul 2 12:17:34 2006 @@ -22,6 +22,11 @@ for=".portlet.IDummy"> <format + name="layout" + types="contained" + /> + + <format name="widget" types="standard.plain_html" /> Modified: cpsskins/branches/paris-sprint-2006/standard/portlets/image/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/portlets/image/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/portlets/image/configure.zcml Sun Jul 2 12:17:34 2006 @@ -22,6 +22,11 @@ for=".portlet.IImage"> <format + name="layout" + types="contained" + /> + + <format name="widget" types="standard.image" /> Modified: cpsskins/branches/paris-sprint-2006/standard/portlets/macroslot/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/portlets/macroslot/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/portlets/macroslot/configure.zcml Sun Jul 2 12:17:34 2006 @@ -23,6 +23,11 @@ for=".portlet.IMacroSlot"> <format + name="layout" + types="contained" + /> + + <format name="widget" types="standard.plain_html" /> Modified: cpsskins/branches/paris-sprint-2006/standard/presentations.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/presentations.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/presentations.zcml Sun Jul 2 12:17:34 2006 @@ -11,7 +11,7 @@ <cpsskins:format name="layout" - types="page" + types="contained" /> <cpsskins:format @@ -76,6 +76,11 @@ for="cpsskins.elements.interfaces.ISlot"> <cpsskins:format + name="layout" + types="contained" + /> + + <cpsskins:format name="order" /> @@ -103,6 +108,11 @@ for="cpsskins.elements.interfaces.IPortlet"> <cpsskins:format + name="layout" + types="contained" + /> + + <cpsskins:format name="widget" types="standard.plain_html" /> Modified: cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/configure.zcml Sun Jul 2 12:17:34 2006 @@ -2,12 +2,22 @@ xmlns="http://namespaces.zope.org/zope" xmlns:browser="http://namespaces.zope.org/browser"> - <browser:page - name="edit.html" + <browser:pages for="cpsskins.standard.formats.layout.ILayout" class=".views.LayoutEditor" - template="layout_editor.pt" permission="zope.ManageContent" - /> + layer="cpsskins.browser.skin.cpsskins"> + + <page + name="edit.html" + template="layout_editor.pt" + /> + + <page + name="updateProperties" + attribute="updateProperties" + /> + + </browser:pages> </configure> Modified: cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/layout_editor.pt ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/layout_editor.pt (original) +++ cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/layout_editor.pt Sun Jul 2 12:17:34 2006 @@ -1,21 +1,19 @@ -<html metal:use-macro="context/@@popup_macros/page"> - <body metal:fill-slot="body" i18n:domain="cpsskins"> - <div class="editArea"> - <h1>Layout editor</h1> - <p class="statusMsg" - tal:define="status view/update" - tal:condition="status" - tal:content="status" /> - <div class="main"> - <form action="." tal:attributes="action request/URL" method="post" - enctype="multipart/form-data"> - <div metal:use-macro="context/@@form_macros/widget_rows" /> - <p> - <button type="submit" class="submitButton" name="UPDATE_SUBMIT" - i18n:translate="save-button">Save</button> - </p> - </form> - </div> - </div> - </body> -</html> +<h2>Layout editor</h2> +<form action="" method="post" enctype="multipart/form-data" + tal:attributes="action string:${context/@@absolute_url}/@@updateProperties"> + <table> + <tr tal:repeat="field python: context.keys()"> + <td> + <label tal:content="field" /> + </td> + <td> + <input type="text" + tal:attributes="name field; value context/?field" /> + </td> + </tr> + </table> + <p> + <input type="submit" class="submitButton" name="UPDATE_SUBMIT" + i18n:translate="save-button" value="Save" /> + </p> +</form> Modified: cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/views.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/views.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/screens/layouteditor/views.py Sun Jul 2 12:17:34 2006 @@ -17,11 +17,18 @@ """ __docformat__ = "reStructuredText" -from zope.app.form.browser.editview import EditView - from cpsskins.standard.formats.layout import ILayout -class LayoutEditor(EditView): +class LayoutEditor(object): """Layout editor view""" - schema = ILayout + def __init__(self, context, request): + self.context = context + self.request = request + + def updateProperties(self): + context = self.context + form = self.request.form + for k in context.keys(): + if k in form: + context[k] = form[k] Modified: cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/engine.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/engine.zcml (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/engine.zcml Sun Jul 2 12:17:34 2006 @@ -57,6 +57,10 @@ /> <filter + name="layout" + /> + + <filter name="style" /> Modified: cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/layout/layout_mode.css ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/layout/layout_mode.css (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/layout/layout_mode.css Sun Jul 2 12:17:34 2006 @@ -49,7 +49,7 @@ .pageBlockAddButton { font: 12px Arial, Helvetica, Sans-Serif; - text-align: left; + text-align: center; padding-left: 4px; margin-top: 5px; margin-bottom: 5px; Modified: cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/wysiwyg/engine.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/wysiwyg/engine.zcml (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/pagedesigner/wysiwyg/engine.zcml Sun Jul 2 12:17:34 2006 @@ -81,6 +81,10 @@ /> <filter + name="layout" + /> + + <filter name="style" /> -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins