# Interface TreeMapView<C,N,Row,Column,Color,Font>

Type Parameters:
  `N` - the type of nodes

All Known Implementing Classes:
  `AbstractTreeMapView, SwingTreeMapView`

@JsType public interface TreeMapView<C,N,Row,Column,Color,Font>
Main class for the view part of TreeMap.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `TreeMapView.Progressive`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `PROPERTY_PROGRESSIVE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addContextMenuListener(com.macrofocus.crossplatform.CPCanvas.ContextMenuListener l)`
  `void`
  `addKeyListener(com.macrofocus.crossplatform.CPCanvas.KeyListener listener)`
  `void`
  `addMouseListener(com.macrofocus.crossplatform.CPCanvas.MouseListener l)`
  `void`
  `addMouseMotionListener(com.macrofocus.crossplatform.CPCanvas.MouseMotionListener l)`
  `void`
  `addMouseWheelListener(com.macrofocus.crossplatform.CPCanvas.MouseWheelListener l)`
  `boolean`
  `contains(com.macrofocus.geom.Point p, com.macrofocus.geom.Shape shape)`
  `void`
  `drill(int x, int y)`
  `void`
  `drillDown()`
  `void`
  `drillUp()`
  `com.macrofocus.igraphics.CPColor<Color>`
  `getBackground()`
  `TreeMapHeaderRenderer<N,Row,Column,Color,Font>`
  `getHeaderRenderer()`
  `Headless<Color,Font>`
  `getHeadless()`
  `BufferedImage`
  `getImage()`
  Creates a new image and render the current treemap into it.
  `TreeMapLabelRenderer<C,N,Row,Column,Color,Font>`
  `getLabelRenderer()`
  `TreeMapModel<N,Row,Column,Color,Font>`
  `getModel()`
  Returns the TreeMapModel that provides the data displayed by this TreeMapView.
  `C`
  `getNativeComponent()`
  `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.
  `Iterable<TreeMapRenderer>`
  `getPostRenderers()`
  `Iterable<TreeMapRenderer>`
  `getPreProgressiveRenderers()`
  `Iterable<TreeMapRenderer>`
  `getPreRenderers()`
  `TreeMapView.Progressive`
  `getProgressive()`
  Returns whether progressive display mode is enabled.
  `Iterable<TreeMapRenderer>`
  `getProgressiveRenderers()`
  `com.macrofocus.geom.Shape`
  `getRenderedShape(N node)`
  Returns the shape of the node according to its rendered position in screen coordinates.
  `com.macrofocus.rubberband.RubberBand`
  `getRubberBand()`
  `com.macrofocus.transform.twod.TwoDScreenTransform`
  `getScreenTransform()`
  `TreeMapToolTip<N,Row,Column,Color,Font>`
  `getSelectionToolTip()`
  Returns the tooltip used for selection.
  `Dimension`
  `getSize()`
  `TreeMapToolTip<N,Row,Column,Color,Font>`
  `getToolTip()`
  Returns the tooltip used for probing (aka mouse over).
  `BufferedImage`
  `getToolTipImage(N node)`
  Creates a new image and render the tooltip used for probing into it.
  `com.macrofocus.geom.Point`
  `getToolTipPreferredLocation(N node)`
  Returns the preferred location of the probing tooltip for the specified node.
  `TreeMapTooltipRenderer<C,N,Row,Column,Color,Font>`
  `getTooltipRenderer()`
  `com.macrofocus.geom.Rectangle2D`
  `getViewport()`
  `com.macrofocus.geom.Rectangle2D`
  `getWorld()`
  `MutableBoundedInterval`
  `getXRangeModel()`
  `MutableBoundedInterval`
  `getYRangeModel()`
  `float`
  `getZoomFactor()`
  `boolean`
  `isDirty()`
  `boolean`
  `isSelectionMode()`
  `boolean`
  `isShowTiming()`
  Returns whether information about refresh rate should be displayed.
  `boolean`
  `isUpdateModelDimension()`
  Returns whether change in the view dimension should be reflected in the model.
  `void`
  `repaint()`
  `double`
  `screenToWorldX(int x)`
  `double`
  `screenToWorldY(int y)`
  `void`
  `setDirty(boolean dirty)`
  `void`
  `setHeaderRenderer(TreeMapHeaderRenderer<N,Row,Column,Color,Font> renderer)`
  `void`
  `setLabelRenderer(TreeMapLabelRenderer<C,N,Row,Column,Color,Font> renderer)`
  `void`
  `setLicenseModel(LicenseModel licenseModel)`
  `void`
  `setModel(TreeMapModel<N,Row,Column,Color,Font> model)`
  Sets the data model and registers with it for listener notifications from the new data model.
  `void`
  `setProgressive(TreeMapView.Progressive progressive)`
  Sets whether progressive display mode is enabled.
  `void`
  `setSelectionMode(boolean value)`
  `void`
  `setSelectionToolTip(TreeMapToolTip<N,Row,Column,Color,Font> toolTip)`
  Sets the tooltip used for selection.
  `void`
  `setShowTiming(boolean showTiming)`
  Sets whether information about refresh rate should be displayed.
  `void`
  `setSize(Dimension dimension)`
  `void`
  `setToolTip(TreeMapToolTip<N,Row,Column,Color,Font> toolTip)`
  Sets the tooltip used for probing (aka mouse over).
  `void`
  `setTooltipRenderer(TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> renderer)`
  `void`
  `setUpdateModelDimension(boolean updateModelDimension)`
  Sets whether change in the view dimension should be reflected in the model.
  `void`
  `updateModelDimension()`
  `void`
  `waitUntilReady()`
  Wait until all processing are completed.
  `com.macrofocus.geom.Shape`
  `worldToScreen(com.macrofocus.geom.Shape shape)`
  `com.macrofocus.geom.Shape`
  `worldToScreen(N node)`
  Returns the shape of the node according to its layout position in screen coordinates.
  `com.macrofocus.geom.Rectangle2D`
  `worldToScreenPrecise(com.macrofocus.geom.Rectangle2D rectangle)`
  Convert the specified rectangle to screen coordinates.
  `com.macrofocus.geom.Rectangle`
  `worldToScreenRectangle(com.macrofocus.geom.Rectangle2D rectangle)`
  Convert the specified rectangle to screen coordinates.
  `int`
  `worldToScreenX(double x)`
  `int`
  `worldToScreenY(double y)`
  `void`
  `zoom(boolean animate, double x1, double x2, double y1, double y2)`
  `void`
  `zoomIn()`
  `void`
  `zoomOut()`

- ## Field Details

  - ### PROPERTY_PROGRESSIVE

    static final String PROPERTY_PROGRESSIVE
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getHeadless

    @JsIgnore Headless<Color,Font> getHeadless()

  - ### worldToScreen

    @JsIgnore com.macrofocus.geom.Shape worldToScreen(com.macrofocus.geom.Shape shape)

  - ### contains

    @JsIgnore boolean contains(com.macrofocus.geom.Point p, com.macrofocus.geom.Shape shape)

  - ### getXRangeModel

    @JsIgnore MutableBoundedInterval getXRangeModel()

  - ### getYRangeModel

    @JsIgnore MutableBoundedInterval getYRangeModel()

  - ### repaint

    void repaint()

  - ### isSelectionMode

    boolean isSelectionMode()

  - ### setSelectionMode

    void setSelectionMode(boolean value)

  - ### getScreenTransform

    @JsIgnore com.macrofocus.transform.twod.TwoDScreenTransform getScreenTransform()

  - ### setLicenseModel

    @JsIgnore void setLicenseModel(LicenseModel licenseModel)

  - ### isShowTiming

    boolean isShowTiming()
    Returns whether information about refresh rate should be displayed.
    Returns:
      true to display refresh rate information, false otherwise

  - ### setShowTiming

    void setShowTiming(boolean showTiming)
    Sets whether information about refresh rate should be displayed.
    Parameters:
      `showTiming` - true to display refresh rate information, false otherwise

  - ### getProgressive

    @JsIgnore TreeMapView.Progressive getProgressive()
    Returns whether progressive display mode is enabled.
    Returns:
      true if progressive display mode is enabled, false otherwise

  - ### setProgressive

    @JsIgnore void setProgressive(TreeMapView.Progressive progressive)
    Sets whether progressive display mode is enabled.
    Parameters:
      `progressive` - true if progressive display mode is enabled, false otherwise

  - ### isUpdateModelDimension

    boolean isUpdateModelDimension()
    Returns whether change in the view dimension should be reflected in the model.
    Returns:
      true if change to the view should change the model dimension, false otherwise

  - ### setUpdateModelDimension

    void setUpdateModelDimension(boolean updateModelDimension)
    Sets whether change in the view dimension should be reflected in the model.
    Parameters:
      `updateModelDimension` - true if change to the view should change the model dimension, false otherwise

  - ### updateModelDimension

    void updateModelDimension()

  - ### setModel

    @JsIgnore void setModel(TreeMapModel<N,Row,Column,Color,Font> model)
    Sets the data model and registers with it for listener notifications from the new data model.
    Parameters:
      `model` - the new data model
    See Also:
      - `getModel()`

  - ### getModel

    @JsIgnore TreeMapModel<N,Row,Column,Color,Font> getModel()
    Returns the TreeMapModel that provides the data displayed by this TreeMapView.
    Returns:
      the TreeMapModel that provides the data displayed by this TreeMapView
    See Also:
      - `setModel(TreeMapModel)`

  - ### worldToScreen

    @JsIgnore com.macrofocus.geom.Shape worldToScreen(N node)
    Returns the shape of the node according to its layout position in screen coordinates.
    Parameters:
      `node` - the node
    Returns:
      the shape of the node

  - ### getRenderedShape

    @JsIgnore com.macrofocus.geom.Shape getRenderedShape(N node)
    Returns the shape of the node according to its rendered position in screen coordinates.
    Parameters:
      `node` - the node
    Returns:
      the shape of the node

  - ### screenToWorldX

    double screenToWorldX(int x)

  - ### screenToWorldY

    double screenToWorldY(int y)

  - ### worldToScreenX

    int worldToScreenX(double x)

  - ### worldToScreenY

    int worldToScreenY(double y)

  - ### getViewport

    @JsIgnore com.macrofocus.geom.Rectangle2D getViewport()

  - ### getWorld

    @JsIgnore com.macrofocus.geom.Rectangle2D getWorld()

  - ### zoom

    void zoom(boolean animate, double x1, double x2, double y1, double y2)

  - ### getNode

    @JsIgnore N getNode(com.macrofocus.geom.Point p)
    Returns the node at the specified location on the screen.
    Parameters:
      `p` - the location on the screen
    Returns:
      the node

  - ### getNodes

    @JsIgnore List<N> getNodes(com.macrofocus.geom.Rectangle rect)
    Returns the nodes overlapping the specified rectangle.
    Parameters:
      `rect` - the rectangle in screen coordinates
    Returns:
      the list of nodes

  - ### getRubberBand

    @JsIgnore com.macrofocus.rubberband.RubberBand getRubberBand()

  - ### getZoomFactor

    @JsIgnore float getZoomFactor()

  - ### getPreRenderers

    @JsIgnore Iterable<TreeMapRenderer> getPreRenderers()

  - ### getPreProgressiveRenderers

    @JsIgnore Iterable<TreeMapRenderer> getPreProgressiveRenderers()

  - ### getProgressiveRenderers

    @JsIgnore Iterable<TreeMapRenderer> getProgressiveRenderers()

  - ### getPostRenderers

    @JsIgnore Iterable<TreeMapRenderer> getPostRenderers()

  - ### setDirty

    void setDirty(boolean dirty)

  - ### isDirty

    boolean isDirty()

  - ### setLabelRenderer

    @JsIgnore void setLabelRenderer(TreeMapLabelRenderer<C,N,Row,Column,Color,Font> renderer)

  - ### getLabelRenderer

    @JsIgnore TreeMapLabelRenderer<C,N,Row,Column,Color,Font> getLabelRenderer()

  - ### setHeaderRenderer

    @JsIgnore void setHeaderRenderer(TreeMapHeaderRenderer<N,Row,Column,Color,Font> renderer)

  - ### getHeaderRenderer

    @JsIgnore TreeMapHeaderRenderer<N,Row,Column,Color,Font> getHeaderRenderer()

  - ### setTooltipRenderer

    @JsIgnore void setTooltipRenderer(TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> renderer)

  - ### getTooltipRenderer

    @JsIgnore TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> getTooltipRenderer()

  - ### worldToScreenRectangle

    @JsIgnore com.macrofocus.geom.Rectangle worldToScreenRectangle(com.macrofocus.geom.Rectangle2D rectangle)
    Convert the specified rectangle to screen coordinates.
    Parameters:
      `rectangle` - the rectangle to convert
    Returns:
      the rectangle in screen coordinates

  - ### worldToScreenPrecise

    @JsIgnore com.macrofocus.geom.Rectangle2D worldToScreenPrecise(com.macrofocus.geom.Rectangle2D rectangle)
    Convert the specified rectangle to screen coordinates.
    Parameters:
      `rectangle` - the rectangle to convert
    Returns:
      the rectangle in screen coordinates

  - ### getToolTip

    TreeMapToolTip<N,Row,Column,Color,Font> getToolTip()
    Returns the tooltip used for probing (aka mouse over).
    Returns:
      the tooltip used for probing

  - ### setToolTip

    @JsIgnore void setToolTip(TreeMapToolTip<N,Row,Column,Color,Font> toolTip)
    Sets the tooltip used for probing (aka mouse over).
    Parameters:
      `toolTip` - the tooltip used for probing

  - ### getSelectionToolTip

    @JsIgnore TreeMapToolTip<N,Row,Column,Color,Font> getSelectionToolTip()
    Returns the tooltip used for selection.
    Returns:
      the tooltip used for selection

  - ### setSelectionToolTip

    @JsIgnore void setSelectionToolTip(TreeMapToolTip<N,Row,Column,Color,Font> toolTip)
    Sets the tooltip used for selection.
    Parameters:
      `toolTip` - the tooltip used for selection

  - ### getImage

    @JsIgnore BufferedImage getImage()
    Creates a new image and render the current treemap into it. It will wait that all pending update requests to be completed before proceeding to the rendering. The tooltip won't be rendered.
    Returns:
      an image containing the current treemap.

  - ### getToolTipImage

    @JsIgnore BufferedImage getToolTipImage(N node)
    Creates a new image and render the tooltip used for probing into it.
    Parameters:
      `node` - the node for which the tooltip should be rendered
    Returns:
      an image containing the tooltip

  - ### getToolTipPreferredLocation

    @JsIgnore com.macrofocus.geom.Point getToolTipPreferredLocation(N node)
    Returns the preferred location of the probing tooltip for the specified node.
    Parameters:
      `node` - the node to query about its preferred location
    Returns:
      the preferred location of the tooltip in screen coordinates

  - ### waitUntilReady

    void waitUntilReady()
    Wait until all processing are completed.

  - ### getNativeComponent

    @JsIgnore C getNativeComponent()

  - ### getBackground

    @JsIgnore com.macrofocus.igraphics.CPColor<Color> getBackground()

  - ### getSize

    @JsIgnore Dimension getSize()

  - ### setSize

    void setSize(Dimension dimension)

  - ### addMouseListener

    @JsIgnore void addMouseListener(com.macrofocus.crossplatform.CPCanvas.MouseListener l)

  - ### addMouseMotionListener

    @JsIgnore void addMouseMotionListener(com.macrofocus.crossplatform.CPCanvas.MouseMotionListener l)

  - ### addMouseWheelListener

    @JsIgnore void addMouseWheelListener(com.macrofocus.crossplatform.CPCanvas.MouseWheelListener l)

  - ### addKeyListener

    @JsIgnore void addKeyListener(com.macrofocus.crossplatform.CPCanvas.KeyListener listener)

  - ### addContextMenuListener

    void addContextMenuListener(com.macrofocus.crossplatform.CPCanvas.ContextMenuListener l)

  - ### drill

    void drill(int x, int y)

  - ### drillDown

    void drillDown()

  - ### drillUp

    void drillUp()

  - ### zoomIn

    void zoomIn()

  - ### zoomOut

    void zoomOut()