
from zope.interface import Interface

# ADAPTER BASE CLASSES
class IBaseAdapter(Interface):
    """
    Base of all adapters
    """
    def __init__(self, obj):
        """
        Gets an Object to be adapted
        """

class IBaseComponent(Interface):
    """
    All Interfaces derived from this class are marking a Class to be a component of this framework.
    """

    def addItem(self, item):
        """
        Add a sub component
        """

    def setup(self, *args, **kwargs):
        """
        Set parameters and bring the component to live
        """

class IAxis(IBaseComponent):
    """
    Axis interface
    """
    def __init__(self, parent):
        """
        createed with knowledge of its parent component
        """

class ITickLabel(IBaseComponent):
    """
    An adapter that produces tick labels for an axis
    """

class IViewBox(IBaseComponent):
    """
    Container to display some components
    """

class IImage(IBaseComponent):
    """
    Some xy data
    """

