# Class AbstractTreePlotView<C,N,Row,Column,Color,Font>

java.lang.Object
com.treemap.treeplot.AbstractTreePlotView<C,N,Row,Column,Color,Font>

All Implemented Interfaces:
  `TreePlotView<C,N,Row,Column,Color,Font>`

Direct Known Subclasses:
  `SwingTreePlotView`

public abstract class AbstractTreePlotView<C,N,Row,Column,Color,Font> extends Object implements TreePlotView<C,N,Row,Column,Color,Font>

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface TreePlotView

  `TreePlotView.BoundingMode`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected TreePlotModel<N,Row,Column,Color,Font>`
  `model`
  `protected TreeMapToolTip`
  `probingToolTip`
  `protected final com.macrofocus.transform.twod.MutableTwoDScreenTransform`
  `screenTransform`
  `protected TreeMapToolTip`
  `selectionToolTip`
  `protected final Map<N, com.macrofocus.geom.Shape>`
  `shapes`
  `protected com.macrofocus.plot.guide.Guide<C,Color,Font>`
  `xGuide`
  `protected final MutableBoundedInterval`
  `xRangeModel`
  `protected com.macrofocus.plot.guide.Guide<C,Color,Font>`
  `yGuide`
  `protected final MutableBoundedInterval`
  `yRangeModel`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractTreePlotView(Headless<Color,Font> headless)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addProgressiveRenderer(TreePlotRenderer renderer)`
  `void`
  `addRenderer(TreePlotRenderer renderer)`
  `void`
  `drill(int x, int y)`
  `void`
  `drillDown()`
  `void`
  `drillUp()`
  `MutableSingleSelection<TreePlotView.BoundingMode>`
  `getBoundingMode()`
  `Headless<Color,Font>`
  `getHeadless()`
  `com.macrofocus.geom.Shape`
  `getLeafScreenShape(N node)`
  `TreePlotModel<N,Row,Column,Color,Font>`
  `getModel()`
  Returns the TreePlotModel that provides the data displayed by this TreePlotView.
  `N`
  `getNode(com.macrofocus.geom.Point p)`
  Returns the node at the specified location on the screen.
  `List<N>`
  `getNodes(com.macrofocus.geom.Rectangle rect)`
  Returns the nodes overlapping the specified rectangle.
  `Paint`
  `getPaint(N node, com.macrofocus.geom.Shape shape, com.macrofocus.geom.Rectangle bounds, boolean allowGradientPaint)`
  `List<TreePlotRenderer>`
  `getProgressiveRenderers()`
  `com.macrofocus.geom.Shape`
  `getRenderedShape(N node)`
  `List<TreePlotRenderer>`
  `getRenderers()`
  `com.macrofocus.rubberband.RubberBand`
  `getRubberBand()`
  `com.macrofocus.geom.Rectangle`
  `getScreenBounds(N node)`
  `com.macrofocus.geom.Shape`
  `getScreenShape(N node)`
  Returns the shape of the node according to its layout position in screen coordinates.
  `TreeMapToolTip<N,Row,Column,Color,Font>`
  `getSelectionToolTip()`
  `TreeMapToolTip<N,Row,Column,Color,Font>`
  `getToolTip()`
  `com.macrofocus.geom.Point`
  `getToolTipPreferredLocation(N node)`
  `TreePlotTooltipRenderer<C,N,Row,Column,Color,Font>`
  `getTooltipRenderer()`
  `com.macrofocus.geom.Rectangle2D`
  `getWorld()`
  `MutableOneDScreenTransform`
  `getXCoordinateAxis()`
  `com.macrofocus.plot.guide.Guide<C,Color,Font>`
  `getXGuide()`
  `MutableBoundedInterval`
  `getXRangeModel()`
  `MutableOneDScreenTransform`
  `getYCoordinateAxis()`
  `com.macrofocus.plot.guide.Guide<C,Color,Font>`
  `getYGuide()`
  `MutableBoundedInterval`
  `getYRangeModel()`
  `float`
  `getZoomFactor()`
  `boolean`
  `isDirty()`
  `boolean`
  `isShowTiming()`
  Returns whether information about refresh rate should be displayed.
  `void`
  `repaint()`
  `protected abstract void`
  `repaint(long delay)`
  `protected void`
  `resetXAxis()`
  `protected void`
  `resetYAxis()`
  `protected abstract void`
  `setBackground(com.macrofocus.igraphics.CPColor<Color> background)`
  `void`
  `setDirty(boolean dirty)`
  `void`
  `setDirtyShapes()`
  `void`
  `setModel(TreePlotModel<N,Row,Column,Color,Font> model)`
  Sets the data model and registers with it for listener notifications from the new data model.
  `void`
  `setSelectionToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)`
  `void`
  `setShowTiming(boolean showTiming)`
  Sets whether information about refresh rate should be displayed.
  `void`
  `setToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)`
  `void`
  `zoom(double x1, double x2, double y1, double y2)`
  `void`
  `zoomIn()`
  `void`
  `zoomOut()`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface TreePlotView

  `addContextMenuListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, getHeight, getNativeComponent, getSize, getWidth`

- ## Field Details

  - ### model

    protected TreePlotModel<N,Row,Column,Color,Font> model

  - ### probingToolTip

    protected TreeMapToolTip probingToolTip

  - ### selectionToolTip

    protected TreeMapToolTip selectionToolTip

  - ### xGuide

    protected com.macrofocus.plot.guide.Guide<C,Color,Font> xGuide

  - ### yGuide

    protected com.macrofocus.plot.guide.Guide<C,Color,Font> yGuide

  - ### xRangeModel

    protected final MutableBoundedInterval xRangeModel

  - ### yRangeModel

    protected final MutableBoundedInterval yRangeModel

  - ### screenTransform

    protected final com.macrofocus.transform.twod.MutableTwoDScreenTransform screenTransform

  - ### shapes

    protected final Map<N, com.macrofocus.geom.Shape> shapes

- ## Constructor Details

  - ### AbstractTreePlotView

    public AbstractTreePlotView(Headless<Color,Font> headless)

- ## Method Details

  - ### getModel

    public TreePlotModel<N,Row,Column,Color,Font> getModel()
    Returns the TreePlotModel that provides the data displayed by this TreePlotView.
    Specified by:
      `getModel` in interface `TreePlotView<C,N,Row,Column,Color,Font>`
    Returns:
      the TreePlotModel that provides the data displayed by this TreePlotView
    See Also:
      - `setModel(TreePlotModel)`

  - ### getPaint

    public Paint getPaint(N node, com.macrofocus.geom.Shape shape, com.macrofocus.geom.Rectangle bounds, boolean allowGradientPaint)
    Specified by:
      `getPaint` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getXGuide

    public com.macrofocus.plot.guide.Guide<C,Color,Font> getXGuide()
    Specified by:
      `getXGuide` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getYGuide

    public com.macrofocus.plot.guide.Guide<C,Color,Font> getYGuide()
    Specified by:
      `getYGuide` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getXRangeModel

    public MutableBoundedInterval getXRangeModel()
    Specified by:
      `getXRangeModel` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getYRangeModel

    public MutableBoundedInterval getYRangeModel()
    Specified by:
      `getYRangeModel` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getXCoordinateAxis

    public MutableOneDScreenTransform getXCoordinateAxis()
    Specified by:
      `getXCoordinateAxis` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getYCoordinateAxis

    public MutableOneDScreenTransform getYCoordinateAxis()
    Specified by:
      `getYCoordinateAxis` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### zoom

    public void zoom(double x1, double x2, double y1, double y2)
    Specified by:
      `zoom` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### resetXAxis

    protected void resetXAxis()

  - ### resetYAxis

    protected void resetYAxis()

  - ### getZoomFactor

    public float getZoomFactor()
    Specified by:
      `getZoomFactor` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### isShowTiming

    public boolean isShowTiming()
    Returns whether information about refresh rate should be displayed.
    Specified by:
      `isShowTiming` in interface `TreePlotView<C,N,Row,Column,Color,Font>`
    Returns:
      true to display refresh rate information, false otherwise

  - ### setShowTiming

    public void setShowTiming(boolean showTiming)
    Sets whether information about refresh rate should be displayed.
    Specified by:
      `setShowTiming` in interface `TreePlotView<C,N,Row,Column,Color,Font>`
    Parameters:
      `showTiming` - true to display refresh rate information, false otherwise

  - ### setModel

    public void setModel(TreePlotModel<N,Row,Column,Color,Font> model)
    Sets the data model and registers with it for listener notifications from the new data model.
    Specified by:
      `setModel` in interface `TreePlotView<C,N,Row,Column,Color,Font>`
    Parameters:
      `model` - the new data model
    See Also:
      - `getModel()`

  - ### getTooltipRenderer

    public TreePlotTooltipRenderer<C,N,Row,Column,Color,Font> getTooltipRenderer()
    Specified by:
      `getTooltipRenderer` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getToolTipPreferredLocation

    public com.macrofocus.geom.Point getToolTipPreferredLocation(N node)
    Specified by:
      `getToolTipPreferredLocation` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### addProgressiveRenderer

    public void addProgressiveRenderer(TreePlotRenderer renderer)
    Specified by:
      `addProgressiveRenderer` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### addRenderer

    public void addRenderer(TreePlotRenderer renderer)
    Specified by:
      `addRenderer` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getProgressiveRenderers

    public List<TreePlotRenderer> getProgressiveRenderers()
    Specified by:
      `getProgressiveRenderers` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getRenderers

    public List<TreePlotRenderer> getRenderers()
    Specified by:
      `getRenderers` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getScreenShape

    public com.macrofocus.geom.Shape getScreenShape(N node)
    Returns the shape of the node according to its layout position in screen coordinates.
    Specified by:
      `getScreenShape` in interface `TreePlotView<C,N,Row,Column,Color,Font>`
    Parameters:
      `node` - the node
    Returns:
      the shape of the node

  - ### getLeafScreenShape

    public com.macrofocus.geom.Shape getLeafScreenShape(N node)

  - ### getRenderedShape

    public com.macrofocus.geom.Shape getRenderedShape(N node)
    Specified by:
      `getRenderedShape` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getScreenBounds

    public com.macrofocus.geom.Rectangle getScreenBounds(N node)
    Specified by:
      `getScreenBounds` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getNode

    public N getNode(com.macrofocus.geom.Point p)
    Returns the node at the specified location on the screen.
    Specified by:
      `getNode` in interface `TreePlotView<C,N,Row,Column,Color,Font>`
    Parameters:
      `p` - the location on the screen
    Returns:
      the node

  - ### getNodes

    public List<N> getNodes(com.macrofocus.geom.Rectangle rect)
    Returns the nodes overlapping the specified rectangle.
    Specified by:
      `getNodes` in interface `TreePlotView<C,N,Row,Column,Color,Font>`
    Parameters:
      `rect` - the rectangle in screen coordinates
    Returns:
      the list of nodes

  - ### setDirty

    public void setDirty(boolean dirty)
    Specified by:
      `setDirty` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### isDirty

    public boolean isDirty()
    Specified by:
      `isDirty` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### setDirtyShapes

    public void setDirtyShapes()
    Specified by:
      `setDirtyShapes` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getToolTip

    public TreeMapToolTip<N,Row,Column,Color,Font> getToolTip()
    Specified by:
      `getToolTip` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### setToolTip

    public void setToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)
    Specified by:
      `setToolTip` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getSelectionToolTip

    public TreeMapToolTip<N,Row,Column,Color,Font> getSelectionToolTip()
    Specified by:
      `getSelectionToolTip` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### setSelectionToolTip

    public void setSelectionToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)
    Specified by:
      `setSelectionToolTip` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### repaint

    public void repaint()
    Specified by:
      `repaint` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### repaint

    protected abstract void repaint(long delay)

  - ### setBackground

    protected abstract void setBackground(com.macrofocus.igraphics.CPColor<Color> background)

  - ### getRubberBand

    public com.macrofocus.rubberband.RubberBand getRubberBand()
    Specified by:
      `getRubberBand` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getHeadless

    public Headless<Color,Font> getHeadless()
    Specified by:
      `getHeadless` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getBoundingMode

    public MutableSingleSelection<TreePlotView.BoundingMode> getBoundingMode()
    Specified by:
      `getBoundingMode` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### getWorld

    public com.macrofocus.geom.Rectangle2D getWorld()

  - ### drill

    public void drill(int x, int y)
    Specified by:
      `drill` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### drillDown

    public void drillDown()
    Specified by:
      `drillDown` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### drillUp

    public void drillUp()
    Specified by:
      `drillUp` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### zoomIn

    public void zoomIn()
    Specified by:
      `zoomIn` in interface `TreePlotView<C,N,Row,Column,Color,Font>`

  - ### zoomOut

    public void zoomOut()
    Specified by:
      `zoomOut` in interface `TreePlotView<C,N,Row,Column,Color,Font>`