Author: jmorliaguet Date: Sun Oct 30 21:24:25 2005 New Revision: 28833 Modified: z3lab/cpsskins/branches/jmo-perspectives/__init__.py z3lab/cpsskins/branches/jmo-perspectives/controllers/README.txt z3lab/cpsskins/branches/jmo-perspectives/controllers/__init__.py z3lab/cpsskins/branches/jmo-perspectives/elements/portlet.py z3lab/cpsskins/branches/jmo-perspectives/portlets/actions/__init__.py z3lab/cpsskins/branches/jmo-perspectives/portlets/breadcrumbs/__init__.py z3lab/cpsskins/branches/jmo-perspectives/portlets/custom/__init__.py z3lab/cpsskins/branches/jmo-perspectives/portlets/dummy/__init__.py z3lab/cpsskins/branches/jmo-perspectives/portlets/image/__init__.py z3lab/cpsskins/branches/jmo-perspectives/portlets/macroslot/__init__.py Log:
- added a base Portlet class implements Persistent Contained Modified: z3lab/cpsskins/branches/jmo-perspectives/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/__init__.py Sun Oct 30 21:24:25 2005 @@ -17,4 +17,5 @@ """ __docformat__ = "reStructuredText" +from cpsskins.elements.portlet import Portlet from cpsskins.thememanager import getThemeManager, getContexts Modified: z3lab/cpsskins/branches/jmo-perspectives/controllers/README.txt ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/controllers/README.txt (original) +++ z3lab/cpsskins/branches/jmo-perspectives/controllers/README.txt Sun Oct 30 21:24:25 2005 @@ -3,10 +3,13 @@ This package contains event handlers for the following events: +- element created + - element added (zope.app.container.interfaces.IObjectAddedEvent) - element removed (zope.app.container.interfaces.IObjectRemovedEvent) +- element modified It provides a controller for centrally managing the application's objects (themes, page blocks, cells, slots, portlets ...) Modified: z3lab/cpsskins/branches/jmo-perspectives/controllers/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/controllers/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/controllers/__init__.py Sun Oct 30 21:24:25 2005 @@ -46,6 +46,7 @@ # Event handlers def elementCreated(element, event): + controller = IController(element, None) if controller is not None: controller.created() @@ -54,8 +55,7 @@ """This suscriber is called when an element has been added. """ # register the element - tmutil = getThemeManager() - tmutil.registerElement(element) + getThemeManager().registerElement(element) # get the object's controller controller = IController(element, None) Modified: z3lab/cpsskins/branches/jmo-perspectives/elements/portlet.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/elements/portlet.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/elements/portlet.py Sun Oct 30 21:24:25 2005 @@ -19,6 +19,7 @@ from persistent import Persistent from zope.app import zapi +from zope.app.container.contained import Contained from zope.app.copypastemove import ObjectMover from zope.app.copypastemove.interfaces import IObjectMover from zope.app.traversing.api import getParent @@ -28,7 +29,12 @@ from cpsskins.ontology import hasPortlet, hasPortletFromPerspective from cpsskins.relations.tool import RelationTool -class TestPortlet(Persistent): +class Portlet(Persistent, Contained): + """Base class for portlets.""" + + identifier = None + +class TestPortlet(Portlet): """A portlet for testing. """ implements(IPortlet) Modified: z3lab/cpsskins/branches/jmo-perspectives/portlets/actions/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/portlets/actions/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/portlets/actions/__init__.py Sun Oct 30 21:24:25 2005 @@ -17,13 +17,13 @@ """ __docformat__ = "reStructuredText" -from persistent import Persistent from zope.app.publisher.browser.menu import getMenu from zope.component.exceptions import ComponentLookupError from zope.interface import implements from zope.schema import TextLine from zope.i18nmessageid import MessageFactory +from cpsskins import Portlet from cpsskins.interfaces import IPortlet from cpsskins.model import Items, Item @@ -36,7 +36,7 @@ title=_("Category"), required=True) -class ActionsPortlet(Persistent): +class ActionsPortlet(Portlet): """Actions portlet """ implements(IActionsPortlet) Modified: z3lab/cpsskins/branches/jmo-perspectives/portlets/breadcrumbs/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/portlets/breadcrumbs/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/portlets/breadcrumbs/__init__.py Sun Oct 30 21:24:25 2005 @@ -17,12 +17,12 @@ """ __docformat__ = "reStructuredText" -from persistent import Persistent from zope.app.traversing.browser.interfaces import IAbsoluteURL from zope.component import getMultiAdapter from zope.interface import implements from zope.i18nmessageid import MessageFactory +from cpsskins import Portlet from cpsskins.interfaces import IPortlet from cpsskins.model import Items, Item @@ -31,7 +31,7 @@ class IBreadcrumbsPortlet(IPortlet): """Interface for the breadcrumbs portlet""" -class BreadcrumbsPortlet(Persistent): +class BreadcrumbsPortlet(Portlet): """Breadcrumbs portlet """ implements(IBreadcrumbsPortlet) Modified: z3lab/cpsskins/branches/jmo-perspectives/portlets/custom/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/portlets/custom/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/portlets/custom/__init__.py Sun Oct 30 21:24:25 2005 @@ -17,7 +17,6 @@ """ __docformat__ = "reStructuredText" -from persistent import Persistent from zope.app.container.contained import contained from zope.app.zptpage.zptpage import ZPTPage from zope.app.dtmlpage.dtmlpage import DTMLPage @@ -28,6 +27,7 @@ from zope.schema import Choice, Text from zope.schema.vocabulary import SimpleVocabulary +from cpsskins import Portlet from cpsskins.interfaces import IPortlet _ = MessageFactory("cpsskins") @@ -57,7 +57,7 @@ required=True) -class CustomPortlet(Persistent): +class CustomPortlet(Portlet): """Custom portlet """ implements(ICustomPortlet) Modified: z3lab/cpsskins/branches/jmo-perspectives/portlets/dummy/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/portlets/dummy/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/portlets/dummy/__init__.py Sun Oct 30 21:24:25 2005 @@ -17,11 +17,11 @@ """ __docformat__ = "reStructuredText" -from persistent import Persistent from zope.interface import implements from zope.schema import Text from zope.i18nmessageid import MessageFactory +from cpsskins import Portlet from cpsskins.interfaces import IPortlet _ = MessageFactory("cpsskins") @@ -33,7 +33,7 @@ title=_("Dummy text"), required=True) -class DummyPortlet(Persistent): +class DummyPortlet(Portlet): """Dummy portlet """ implements(IDummyPortlet) Modified: z3lab/cpsskins/branches/jmo-perspectives/portlets/image/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/portlets/image/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/portlets/image/__init__.py Sun Oct 30 21:24:25 2005 @@ -17,7 +17,6 @@ """ __docformat__ = "reStructuredText" -from persistent import Persistent from zope.app import zapi from zope.app.file.image import Image as ImageFile from zope.app.file.interfaces import IImage @@ -25,6 +24,7 @@ from zope.schema import TextLine, Bytes, BytesLine from zope.i18nmessageid import MessageFactory +from cpsskins import Portlet from cpsskins.interfaces import IPortlet from cpsskins.model import Image @@ -53,7 +53,7 @@ readonly=True, ) -class ImagePortlet(ImageFile, Persistent): +class ImagePortlet(ImageFile, Portlet): """Image portlet """ implements(IImagePortlet) Modified: z3lab/cpsskins/branches/jmo-perspectives/portlets/macroslot/__init__.py ============================================================================== --- z3lab/cpsskins/branches/jmo-perspectives/portlets/macroslot/__init__.py (original) +++ z3lab/cpsskins/branches/jmo-perspectives/portlets/macroslot/__init__.py Sun Oct 30 21:24:25 2005 @@ -17,7 +17,6 @@ """ __docformat__ = "reStructuredText" -from persistent import Persistent from zope.app import zapi from zope.app.publisher.browser import applySkin from zope.interface import implements @@ -25,6 +24,7 @@ from zope.publisher.interfaces.browser import ILayer, IDefaultBrowserLayer from zope.publisher.interfaces.browser import IBrowserRequest +from cpsskins import Portlet from cpsskins.interfaces import IPortlet _ = MessageFactory("cpsskins") @@ -38,7 +38,7 @@ class IMacroSlotPortlet(IPortlet): """Interface for the macro slot portlet""" -class MacroSlotPortlet(Persistent): +class MacroSlotPortlet(Portlet): """Macro slot portlet """ implements(IMacroSlotPortlet) -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins