From 49102961e578f67c4ccf62a61f2ac91372814da0 Mon Sep 17 00:00:00 2001 From: helmutm Date: Fri, 19 Sep 2008 10:26:11 +0000 Subject: [PATCH] work in progress: layout managememnt git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2893 fd906abe-77d9-0310-91a1-e0d9ade77398 --- composer/layout/base.py | 18 +++++------------- composer/layout/interfaces.py | 5 ++--- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/composer/layout/base.py b/composer/layout/base.py index 9431ef0..75deaba 100644 --- a/composer/layout/base.py +++ b/composer/layout/base.py @@ -49,17 +49,7 @@ class LayoutManager(object): def getLayouts(self, key, instance): region = self.regions.get(key) - if region is None: - return [] - result = [] - for layout in region.layouts: - if self.check(layout, instance): - result.append(layout) - return result - - def check(self, layout, instance): - if instance is None or instance.checkLayout(layout): - return True + return instance.getLayouts(region) class Layout(Template): @@ -90,6 +80,8 @@ class LayoutInstance(object): def renderer(self): return self.template.renderer - def checkLayout(self, layout): - return True + def getLayouts(self, region): + if region is None: + return [] + return region.layouts diff --git a/composer/layout/interfaces.py b/composer/layout/interfaces.py index d3ae2b5..7e50f63 100644 --- a/composer/layout/interfaces.py +++ b/composer/layout/interfaces.py @@ -108,9 +108,8 @@ class ILayoutInstance(IInstance): renderer = Attribute(u'An object responsible for rendering the layout.') - def checkLayout(layout): - """ Return True if the layout given is a valid sub-layout - for this instance. + def getLayouts(region): + """ Return a sequence of sub-layouts for the region given. """