/** * @(#)DrawingPart.java * * Copyright 2002 EGANTT LLP. All rights reserved. * PROPRIETARY/QPL. Use is subject to license terms. */ package com.egantt.model.drawing; import java.util.Iterator; import java.util.List; import com.egantt.model.drawing.axis.AxisInterval; import com.egantt.model.drawing.part.event.DrawingPartListener; /** * The diagram model is the information behind the actual diagram panel for table * functionality it is advisable to extend the diagram model as maintaining two * models is easier than maintaining the one */ public interface DrawingPart { // ________________________________________________________________________ boolean isSummaryPart(); // __________________________________________________________________________ /** * Add a new listener to the model */ void addDrawingPartListener(DrawingPartListener listener); /** * Remove an existing listener from the model */ void removeDrawingPartListener(DrawingPartListener listener); // __________________________________________________________________________ /** * Returns the axis keys in use */ List keys(); /** * Returns the keys */ Iterator values(AxisInterval interval[]); // __________________________________________________________________________ /** * Returns a unique reference to the painter for this part i.e. a PartPainter */ Object getPainter(); // __________________________________________________________________________ /** * Returns the location on the given Axis */ AxisInterval [] getInterval(Object key, AxisInterval intervals []); AxisInterval [] getInterval(); // __________________________________________________________________________ /** * Returns a unique reference to the proxy required for the paint operation */ Object getContext(Object key); /** * Returns a unique reference to the plotter required for the paint operation */ Object getPainter(Object key); /** * Returns a unique reference to the State required for the paint operation */ Object getState(Object key); }