src/pyams_skin/interfaces/__init__.py
changeset 155 cd3ab32436f0
parent 133 00dd94c59eb0
child 156 b8b688fc964e
--- a/src/pyams_skin/interfaces/__init__.py	Thu Oct 06 16:18:03 2016 +0200
+++ b/src/pyams_skin/interfaces/__init__.py	Mon Oct 10 11:32:08 2016 +0200
@@ -22,7 +22,7 @@
 from pyams_template.template import layout_config
 from zope.interface import implementer, Interface, Attribute
 from zope.configuration.fields import GlobalInterface
-from zope.schema import Text, TextLine, Choice, Int
+from zope.schema import Text, TextLine, Choice, Int, Bool
 
 from pyams_skin import _
 
@@ -53,6 +53,19 @@
 class ISkinnable(Interface):
     """Skinnable content interface"""
 
+    can_inherit_skin = Attribute("Check if skin can be inherited")
+
+    inherit_skin = Bool(title=_("Inherit parent skin?"),
+                        description=_("Should we reuse parent skin?"),
+                        required=True,
+                        default=False)
+
+    skin_parent = Attribute("Skin parent (local or inherited)")
+
+    skin = Choice(title=_("Presentation skin"),
+                  description=_("This skin will be used to handle presentation templates"),
+                  vocabulary='PyAMS user skins')
+
     def get_skin(self, request=None):
         """Get skin matching this content"""
 
@@ -60,10 +73,6 @@
 class IUserSkinnable(ISkinnable):
     """User skinnable content interface"""
 
-    skin = Choice(title=_("Presentation skin"),
-                  description=_("This skin will be used to handle presentation templates"),
-                  vocabulary='PyAMS skins')
-
 
 @layout_config(template='templates/fullpage-layout.pt', layer=IPyAMSLayer)
 class IFullPage(Interface):