############################################################################## # # Copyright (c) 2003 Epoz Contributors. See CREDITS.txt # # This software is subject to the provisions of the Zope Public License, # Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """epoz interfaces for Zope3 epoz for Zope3 consist of a an IHTMLBody field and a widget (browser view) to a zope.schema field that we call HTMLBody (since it contains the contents of an HTML body). As a widget, it can make no assumptions whatsoever on the object that its field is being part of. It can only make assumptions on the field itself. We therefore also define the IEpozAsynchronousCapable, a marker interface that can be set on content objects (even on an object per object basis) and tells the Zope3 view machiner that our special Epoz views, the ones that make asynchronous editing possible, apply. $Id: interfaces.py 2281 2003-12-01 13:08:23Z philikon $ """ from zope.interface import Interface from zope.schema.interfaces import IBytes from zope.schema import Bool class IHTMLBody(IBytes): """A field that stores the body of an HTML document. """ html2xhtml1 = Bool( title=u"Convert browser generated HTML to well-formed XHTML1", default=False ) class IEpozAsynchronousCapable(Interface): """Any content object that wants to support epoz asynchore editing will have to implement this marker interface """