bug fix for nearestMenuItem(); prepare for view configurator usage
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1199 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
633e674640
commit
d384a11c32
3 changed files with 19 additions and 7 deletions
|
@ -46,9 +46,10 @@ class BaseView(object):
|
||||||
# TODO: get rid of removeSecurityProxy() call
|
# TODO: get rid of removeSecurityProxy() call
|
||||||
self.context = removeSecurityProxy(context)
|
self.context = removeSecurityProxy(context)
|
||||||
self.request = request
|
self.request = request
|
||||||
|
self.setSkin(self.loopsRoot.skinName)
|
||||||
|
|
||||||
|
def setSkin(self, skinName):
|
||||||
skin = None
|
skin = None
|
||||||
# TODO: get ISkinController adapter instead
|
|
||||||
skinName = self.loopsRoot.skinName
|
|
||||||
if skinName and IView.providedBy(self.context):
|
if skinName and IView.providedBy(self.context):
|
||||||
skin = zapi.queryUtility(ISkin, skinName)
|
skin = zapi.queryUtility(ISkin, skinName)
|
||||||
if skin is not None:
|
if skin is not None:
|
||||||
|
@ -59,6 +60,8 @@ class BaseView(object):
|
||||||
def setController(self, controller):
|
def setController(self, controller):
|
||||||
self._controller = controller
|
self._controller = controller
|
||||||
# this is also the place to register special macros with the controller
|
# this is also the place to register special macros with the controller
|
||||||
|
if getattr(controller, 'skinName', None):
|
||||||
|
self.setSkin(controller.skinName.value)
|
||||||
controller.skin = self.skin
|
controller.skin = self.skin
|
||||||
def getController(self): return self._controller
|
def getController(self): return self._controller
|
||||||
controller = property(getController, setController)
|
controller = property(getController, setController)
|
||||||
|
|
|
@ -50,6 +50,10 @@
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flow-right {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
div.image {
|
div.image {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
|
|
|
@ -168,11 +168,16 @@ class NodeView(BaseView):
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def nearestMenuItem(self):
|
def nearestMenuItem(self):
|
||||||
if self.context.isMenuItem():
|
menu = self.menuObject
|
||||||
return self.context
|
menuItem = None
|
||||||
for p in self.parents:
|
for p in [self.context] + self.parents:
|
||||||
if p.isMenuItem():
|
if not p.isMenuItem():
|
||||||
return p
|
menuItem = None
|
||||||
|
elif menuItem is None:
|
||||||
|
menuItem = p
|
||||||
|
if p == menu:
|
||||||
|
return menuItem
|
||||||
|
return None
|
||||||
|
|
||||||
def selected(self, item):
|
def selected(self, item):
|
||||||
return item.context == self.nearestMenuItem
|
return item.context == self.nearestMenuItem
|
||||||
|
|
Loading…
Add table
Reference in a new issue