diff --git a/src/graph/components.py b/src/graph_ZCA/components.py copy from src/graph/components.py copy to src/graph_ZCA/components.py --- a/src/graph/components.py +++ b/src/graph_ZCA/components.py @@ -1,36 +1,10 @@ - -from zope.interface import implements, implementsOnly, Interface +from zope.interface import implementsOnly, implements, Interface from zope.component import adapts, getGlobalSiteManager -from graph.interfaces import ITickLabelAdapter -from graph.interfaces import IAxis -from graph.interfaces import IViewBox -from graph.interfaces import IImage -from graph.interfaces import IBaseAdapter - - gsm = getGlobalSiteManager() - -class BaseAdapter(object): - """ - Base for all Adapters - """ - implements(IBaseAdapter) - - def __init__(self, obj): - """ - Gets an Object to be adapted - """ - self.obj = obj - - -class BaseComponent(object): - """ - """ - - def __init__(self, parent): - self.parent = parent +from graph_ZCA.base import BaseAdapter, BaseComponent, BaseFactory +from graph_ZCA.interfaces import ITickLabelAdapter, IAxis, IViewBox, IImage class TickLabelAdapter(BaseAdapter): @@ -52,7 +26,7 @@ class TickLabelAdapter(BaseAdapter): gsm.registerAdapter(TickLabelAdapter) -class Axis(BaseComponent): +class AxisComponent(BaseComponent): """ Represents an axis """ @@ -61,7 +35,7 @@ class Axis(BaseComponent): adapts(Interface) def __init__(self, parent, orientation=None, start=None, end=None): - super(Axis, self).__init__(parent) + super(AxisComponent, self).__init__(parent) self.orientation = orientation self.start = start self.end = end @@ -70,12 +44,17 @@ class Axis(BaseComponent): return ITickLabelAdapter(self).render() def render(self): - return 'axis: ' + self.orientation + ':' + ' '.join(self.get_tick_labels()) + return '%s: ' % self.__class__.__name__ + self.orientation + ':' + ' '.join(self.get_tick_labels()) -gsm.registerAdapter(Axis) +gsm.registerAdapter(AxisComponent) -class ViewBox(BaseComponent): +class Axis(BaseFactory): + + target_interface = IAxis + + +class ViewBoxComponent(BaseComponent): """ Drawing area of a plot. THe drawing ares may have an unlimited number of axis """ @@ -84,11 +63,9 @@ class ViewBox(BaseComponent): def __init__(self, parent): - super(ViewBox, self).__init__(parent) - self.items = [] + super(ViewBoxComponent, self).__init__(parent) - def addItem(self, item): - self.items.append(item) + def render(self): result = [] @@ -97,10 +74,16 @@ class ViewBox(BaseComponent): return '\n'.join(result) -gsm.registerAdapter(ViewBox) + +gsm.registerAdapter(ViewBoxComponent) -class Image(BaseComponent): +class ViewBox(BaseFactory): + + target_interface = IViewBox + + +class ImageComponent(BaseComponent): """ A image representing f(x,y) values """ @@ -108,11 +91,18 @@ class Image(BaseComponent): adapts(Interface) - def __init__(self, parent, data): - super(Image, self).__init__(parent) + def __init__(self, parent): + super(ImageComponent, self).__init__(parent) + + def render(self): + return '%s:' % self.__class__.__name__ + str(self.data) + + def setup(self, data, **kwargs): self.data = data - def render(self): - return 'Image: Rendered image' +gsm.registerAdapter(ImageComponent) + -gsm.registerAdapter(Image) +class Image(BaseFactory): + + target_interface = IImage