From 6932033e20e78deb49346cdf34a1a16725f6c8a6 Mon Sep 17 00:00:00 2001 From: helmutm Date: Sun, 26 Mar 2006 16:45:08 +0000 Subject: [PATCH] Use view controller (via settings slot) for providing specialized resources git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1148 fd906abe-77d9-0310-91a1-e0d9ade77398 --- browser/common.py | 21 +++++++++++++++------ browser/node.css | 2 +- browser/node.pt | 22 +++++++--------------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/browser/common.py b/browser/common.py index ef79109..52bc59e 100644 --- a/browser/common.py +++ b/browser/common.py @@ -35,6 +35,7 @@ from zope.schema.vocabulary import SimpleTerm from zope.security.proxy import removeSecurityProxy from cybertools.typology.interfaces import IType +from loops.interfaces import IView from loops import util class BaseView(object): @@ -47,17 +48,25 @@ class BaseView(object): skin = None # TODO: get ISkinController adapter instead skinName = self.loopsRoot.skinName - if skinName: + if skinName and IView.providedBy(self.context): skin = zapi.queryUtility(ISkin, skinName) if skin is not None: applySkin(self.request, skin) self.skin = skin - @Lazy - def resourceBase(self): - skinSetter = self.skin and ('/++skin++' + self.skin.__name__) or '' - # TODO: put '/@@' etc after path to site instead of directly after URL0 - return self.request.URL[0] + skinSetter + '/@@' + _controller = None + def setController(self, controller): + self._controller = controller + # this is also the place to register special macros with the controller + controller.skin = self.skin + def getController(self): return self._controller + controller = property(getController, setController) + + #@Lazy + #def resourceBase(self): + # skinSetter = self.skin and ('/++skin++' + self.skin.__name__) or '' + # # TODO: put '/@@' etc after path to site instead of directly after URL0 + # return self.request.URL[0] + skinSetter + '/@@/' @Lazy def modified(self): diff --git a/browser/node.css b/browser/node.css index 13793ab..4c80e42 100644 --- a/browser/node.css +++ b/browser/node.css @@ -6,7 +6,7 @@ */ .box { - margin: 5px; + margin: 12px; } #body { diff --git a/browser/node.pt b/browser/node.pt index 3cb3553..1e34e7c 100644 --- a/browser/node.pt +++ b/browser/node.pt @@ -3,22 +3,14 @@ + + + - - - - - - - - - -