From 7f194965a1ee65429adcc30a0351da0a4bf87e79 Mon Sep 17 00:00:00 2001 From: helmutm Date: Mon, 21 May 2007 17:28:16 +0000 Subject: [PATCH] more on cybertools.reporter: control via the field's renderFactory git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1760 fd906abe-77d9-0310-91a1-e0d9ade77398 --- browser/liquid/zope3_tablelayout.css | 2 +- composer/schema/README.txt | 17 +++++++++-------- composer/schema/__init__.py | 3 +++ composer/schema/field.py | 3 ++- composer/schema/instance.py | 1 + reporter/browser/macros.pt | 2 +- reporter/browser/report.py | 2 +- reporter/resultset.py | 23 +++++++++-------------- 8 files changed, 27 insertions(+), 26 deletions(-) diff --git a/browser/liquid/zope3_tablelayout.css b/browser/liquid/zope3_tablelayout.css index f5afb8a..70aceb6 100644 --- a/browser/liquid/zope3_tablelayout.css +++ b/browser/liquid/zope3_tablelayout.css @@ -583,7 +583,7 @@ table.listing td { border-right: 1px solid #CCCCCC; padding: 0em 0.3em; text-align: left; - white-space: nowrap; + white-space: nowrap; } diff --git a/composer/schema/README.txt b/composer/schema/README.txt index bb33ad7..348db3d 100644 --- a/composer/schema/README.txt +++ b/composer/schema/README.txt @@ -4,17 +4,18 @@ Schema and Field Management ($Id$) - >>> from cybertools.composer.schema.schema import Schema - >>> from cybertools.composer.schema.field import Field + >>> from cybertools.composer.schema import Schema + >>> from cybertools.composer.schema import Field We start with setting up a schema with fields. - >>> serviceSchema = Schema() - >>> serviceSchema.components.append(Field(u'title')) - >>> serviceSchema.components.append(Field(u'description')) - >>> serviceSchema.components.append(Field(u'start')) - >>> serviceSchema.components.append(Field(u'end')) - >>> serviceSchema.components.append(Field(u'capacity')) + >>> serviceSchema = Schema( + ... Field(u'title', renderFactory=None), + ... Field(u'description'), + ... Field(u'start'), + ... Field(u'end'), + ... Field(u'capacity'), + ... ) For using a schema we need some class that we can use for creating objects. diff --git a/composer/schema/__init__.py b/composer/schema/__init__.py index 38314f3..3613399 100644 --- a/composer/schema/__init__.py +++ b/composer/schema/__init__.py @@ -1,3 +1,6 @@ """ $Id$ """ + +from cybertools.composer.schema.schema import Schema +from cybertools.composer.schema.field import Field diff --git a/composer/schema/field.py b/composer/schema/field.py index 80ef663..a22aabd 100644 --- a/composer/schema/field.py +++ b/composer/schema/field.py @@ -31,9 +31,10 @@ from cybertools.composer.base import Template class Field(Component, schema.Field): - def __init__(self, name, title=None, **kw): + def __init__(self, name, title=None, renderFactory=None, **kw): assert name self.name = self.__name__ = name title = title is None and name or title + self.renderFactory = renderFactory # use for rendering field content super(Field, self).__init__(title, __name__=name, **kw) diff --git a/composer/schema/instance.py b/composer/schema/instance.py index a44e4da..be3b909 100644 --- a/composer/schema/instance.py +++ b/composer/schema/instance.py @@ -33,6 +33,7 @@ class Editor(Instance): def applyTemplate(self, data={}, *args, **kw): for c in self.template.components: + # TODO: implement the real stuff # save data (if available) in context # build sequence of fields with data from context # or directly use request... diff --git a/reporter/browser/macros.pt b/reporter/browser/macros.pt index 4fc3248..7c6d182 100644 --- a/reporter/browser/macros.pt +++ b/reporter/browser/macros.pt @@ -24,7 +24,7 @@ -