diff --git a/composer/layout/README.txt b/composer/layout/README.txt index e9af1a2..96e376c 100644 --- a/composer/layout/README.txt +++ b/composer/layout/README.txt @@ -26,34 +26,11 @@ manager. >>> manager = LayoutManager() >>> component.provideUtility(manager) -The layouts themselves are also specified as utilities. +The layouts themselves are also specified as utilities that are automatically +registered when we import the modules they are defined in. - >>> from cybertools.composer.layout.browser.default import page - >>> component.provideUtility(page, ILayout, name='page') - - >>> from cybertools.composer.layout.browser.liquid.default import css - >>> component.provideUtility(css, ILayout, name='css.liquid') - - >>> from cybertools.composer.layout.browser.liquid.default import body - >>> component.provideUtility(body, ILayout, name='body.liquid') - - >>> from cybertools.composer.layout.browser.default import logo - >>> component.provideUtility(logo, ILayout, name='logo.default') - - >>> from cybertools.composer.layout.browser.default import top_actions - >>> component.provideUtility(top_actions, ILayout, name='top_actions.default') - - >>> from cybertools.composer.layout.browser.default import column1 - >>> component.provideUtility(column1, ILayout, name='column1.default') - - >>> from cybertools.composer.layout.browser.default import content - >>> component.provideUtility(content, ILayout, name='content.default') - - >>> from cybertools.composer.layout.browser.default import column2 - >>> component.provideUtility(column2, ILayout, name='column2.default') - - >>> from cybertools.composer.layout.browser.default import footer - >>> component.provideUtility(footer, ILayout, name='footer.default') + >>> from cybertools.composer.layout.browser import default + >>> from cybertools.composer.layout.browser.liquid import default In addition we have to provide at least one layout instance adapter that connects a layout with the client object. diff --git a/composer/layout/base.py b/composer/layout/base.py index 148d880..2e75352 100644 --- a/composer/layout/base.py +++ b/composer/layout/base.py @@ -70,12 +70,12 @@ class Layout(Template): self.regionName = regionName for k, v in kw.items(): setattr(self, k, v) - #self.register() + self.register() def register(self): existing = component.queryUtility(ILayout, name=self.name) if existing: - raise ValueError('Layout %s has already been registered.' % self.name) + raise ValueError("Layout '%s' has already been registered." % self.name) component.provideUtility(self, provides=ILayout, name=self.name) diff --git a/composer/layout/browser/configure.zcml b/composer/layout/browser/configure.zcml index 5dc52f3..60b6c88 100644 --- a/composer/layout/browser/configure.zcml +++ b/composer/layout/browser/configure.zcml @@ -7,42 +7,11 @@ - + - + - - - - - - - - - - - + diff --git a/composer/layout/browser/default.py b/composer/layout/browser/default.py index 1b322d9..18fda55 100644 --- a/composer/layout/browser/default.py +++ b/composer/layout/browser/default.py @@ -32,22 +32,19 @@ from cybertools.composer.layout.browser.standard import standardRenderers defaultRenderers = RendererFactory(ViewPageTemplateFile('default.pt')) -page = Layout('page', 'page', renderer=standardRenderers['page'], - sublayouts=set(['css.liquid', 'body.liquid']), - favicon='default/favicon.png') +Layout('page', 'page', renderer=standardRenderers['page'], + sublayouts=set(['css.liquid', 'body.liquid']), + favicon='default/favicon.png') -logo = Layout('logo.default', 'body.logo', renderer=defaultRenderers.logo) +Layout('logo.default', 'body.logo', renderer=defaultRenderers.logo) -top_actions = Layout('top_actions.default', 'body.top_actions', - renderer=defaultRenderers.top_actions) +Layout('top_actions.default', 'body.top_actions', + renderer=defaultRenderers.top_actions) -column1 = Layout('column1.default', 'body.column1', - renderer=defaultRenderers.column1) +Layout('column1.default', 'body.column1', renderer=defaultRenderers.column1) -content = Layout('content.default', 'body.content', - renderer=defaultRenderers.content) +Layout('content.default', 'body.content', renderer=defaultRenderers.content) -column2 = Layout('column2.default', 'body.column2', - renderer=defaultRenderers.column2) +Layout('column2.default', 'body.column2', renderer=defaultRenderers.column2) -footer = Layout('footer.default', 'body.footer', renderer=defaultRenderers.footer) +Layout('footer.default', 'body.footer', renderer=defaultRenderers.footer) diff --git a/composer/layout/browser/liquid/configure.zcml b/composer/layout/browser/liquid/configure.zcml index fa0f012..4c032cf 100644 --- a/composer/layout/browser/liquid/configure.zcml +++ b/composer/layout/browser/liquid/configure.zcml @@ -8,14 +8,8 @@ - + - +