Package com.macrofocus.treemap
Class AbstractTreeMapView<C,N,Row,Column,Color,Font>
- java.lang.Object
-
- com.macrofocus.treemap.AbstractTreeMapView<C,N,Row,Column,Color,Font>
-
- All Implemented Interfaces:
TreeMapView<C,N,Row,Column,Color,Font>
- Direct Known Subclasses:
SwingTreeMapView
public abstract class AbstractTreeMapView<C,N,Row,Column,Color,Font> extends java.lang.Object implements TreeMapView<C,N,Row,Column,Color,Font>
Created by luc on 03/02/16.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.macrofocus.treemap.TreeMapView
TreeMapView.Progressive
-
-
Field Summary
-
Fields inherited from interface com.macrofocus.treemap.TreeMapView
PROPERTY_PROGRESSIVE
-
-
Constructor Summary
Constructors Constructor Description AbstractTreeMapView(Headless<Color,Font> headless)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddPostRenderer(TreeMapRenderer renderer)protected voidaddPreProgressiveRenderer(TreeMapRenderer renderer)protected voidaddPreRenderer(TreeMapRenderer renderer)protected voidaddProgressiveRenderer(TreeMapRenderer renderer)booleancontains(java.awt.Point p, java.awt.Shape shape)voiddrill(int x, int y)voiddrillDown()voiddrillUp()TreeMapHeaderRenderer<N,Row,Column,Color,Font>getHeaderRenderer()Headless<Color,Font>getHeadless()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.NgetNode(java.awt.Point p)Returns the node at the specified location on the screen.java.util.List<N>getNodes(java.awt.Rectangle rect)Returns the nodes overlapping the specified rectangle.java.lang.Iterable<TreeMapRenderer>getPostRenderers()java.lang.Iterable<TreeMapRenderer>getPreProgressiveRenderers()java.lang.Iterable<TreeMapRenderer>getPreRenderers()TreeMapView.ProgressivegetProgressive()Returns whether progressive display mode is enabled.java.lang.Iterable<TreeMapRenderer>getProgressiveRenderers()java.awt.ShapegetRenderedShape(N node)Returns the shape of the node according to its rendered position in screen coordinates.java.awt.RenderingHintsgetRenderingHints()com.macrofocus.rubberband.RubberBandgetRubberBand()com.macrofocus.transform.twod.TwoDScreenTransformgetScreenTransform()TreeMapToolTip<N,Row,Column,Color,Font>getSelectionToolTip()Returns the tooltip used for selection.TreeMapToolTip<N,Row,Column,Color,Font>getToolTip()Returns the tooltip used for probing (aka mouse over).TreeMapTooltipRenderer<C,N,Row,Column,Color,Font>getTooltipRenderer()java.awt.geom.Rectangle2DgetViewport()java.awt.geom.Rectangle2DgetWorld()MutableBoundedIntervalgetXRangeModel()MutableBoundedIntervalgetYRangeModel()floatgetZoomFactor()booleanisDirty()booleanisSelectionMode()booleanisShowTiming()Returns whether information about refresh rate should be displayed.booleanisUpdateModelDimension()Returns whether change in the view dimension should be reflected in the model.voidrepaint()protected abstract voidrepaint(long delay)doublescreenToWorldX(int x)doublescreenToWorldY(int y)voidsetDirty(boolean dirty)voidsetHeaderRenderer(TreeMapHeaderRenderer<N,Row,Column,Color,Font> renderer)voidsetLabelRenderer(TreeMapLabelRenderer<C,N,Row,Column,Color,Font> renderer)voidsetModel(TreeMapModel<N,Row,Column,Color,Font> model)Sets the data model and registers with it for listener notifications from the new data model.voidsetRenderingHints(java.awt.RenderingHints renderingHints)voidsetSelectionMode(boolean value)voidsetSelectionToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)Sets the tooltip used for selection.voidsetToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)Sets the tooltip used for probing (aka mouse over).voidsetTooltipRenderer(TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> renderer)voidsetUpdateModelDimension(boolean updateModelDimension)Sets whether change in the view dimension should be reflected in the model.protected abstract voidupdateSize()java.awt.RectangleworldToScreen(java.awt.geom.Rectangle2D r)Convert the specified rectangle to screen coordinates.java.awt.ShapeworldToScreen(java.awt.Shape shape)java.awt.ShapeworldToScreen(N node)Returns the shape of the node according to its layout position in screen coordinates.java.awt.geom.Rectangle2DworldToScreenPrecise(java.awt.geom.Rectangle2D r)Convert the specified rectangle to screen coordinates.intworldToScreenX(double x)intworldToScreenY(double y)voidzoom(boolean animate, double x1, double x2, double y1, double y2)voidzoomIn()voidzoomOut()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.macrofocus.treemap.TreeMapView
addContextMenuListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, getBackground, getImage, getNativeComponent, getSize, getToolTipImage, getToolTipPreferredLocation, setLicenseModel, setProgressive, setShowTiming, setSize, updateModelDimension, waitUntilReady
-
-
-
-
Field Detail
-
xRangeModel
protected final MutableBoundedInterval xRangeModel
-
yRangeModel
protected final MutableBoundedInterval yRangeModel
-
screenTransform
protected final com.macrofocus.transform.twod.MutableTwoDScreenTransform screenTransform
-
_preRenderers
protected final java.util.List<TreeMapRenderer> _preRenderers
-
_preProgressiveRenderers
protected final java.util.List<TreeMapRenderer> _preProgressiveRenderers
-
_progressiveRenderers
protected final java.util.List<TreeMapRenderer> _progressiveRenderers
-
_postRenderers
protected final java.util.List<TreeMapRenderer> _postRenderers
-
_shapes
protected final java.util.Map<N,java.awt.Shape> _shapes
-
_renderingHints
protected java.awt.RenderingHints _renderingHints
-
probingToolTip
protected TreeMapToolTip probingToolTip
-
selectionToolTip
protected TreeMapToolTip selectionToolTip
-
_progressive
protected TreeMapView.Progressive _progressive
-
_showTiming
protected boolean _showTiming
-
-
Method Detail
-
getHeadless
public Headless<Color,Font> getHeadless()
- Specified by:
getHeadlessin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
isUpdateModelDimension
public boolean isUpdateModelDimension()
Returns whether change in the view dimension should be reflected in the model.- Specified by:
isUpdateModelDimensionin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Returns:
- true if change to the view should change the model dimension, false otherwise
-
setUpdateModelDimension
public void setUpdateModelDimension(boolean updateModelDimension)
Sets whether change in the view dimension should be reflected in the model.- Specified by:
setUpdateModelDimensionin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
updateModelDimension- true if change to the view should change the model dimension, false otherwise
-
getProgressive
public TreeMapView.Progressive getProgressive()
Returns whether progressive display mode is enabled.- Specified by:
getProgressivein interfaceTreeMapView<C,N,Row,Column,Color,Font>- Returns:
- true if progressive display mode is enabled, false otherwise
-
isShowTiming
public boolean isShowTiming()
Returns whether information about refresh rate should be displayed.- Specified by:
isShowTimingin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Returns:
- true to display refresh rate information, false otherwise
-
setModel
public 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.- Specified by:
setModelin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
model- the new data model- See Also:
TreeMapView.getModel()
-
getModel
public TreeMapModel<N,Row,Column,Color,Font> getModel()
Returns the TreeMapModel that provides the data displayed by this TreeMapView.- Specified by:
getModelin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Returns:
- the TreeMapModel that provides the data displayed by this TreeMapView
- See Also:
TreeMapView.setModel(com.macrofocus.treemap.TreeMapModel)
-
addPreRenderer
protected void addPreRenderer(TreeMapRenderer renderer)
-
addPreProgressiveRenderer
protected void addPreProgressiveRenderer(TreeMapRenderer renderer)
-
addProgressiveRenderer
protected void addProgressiveRenderer(TreeMapRenderer renderer)
-
addPostRenderer
protected void addPostRenderer(TreeMapRenderer renderer)
-
setDirty
public void setDirty(boolean dirty)
-
isDirty
public boolean isDirty()
-
worldToScreen
public java.awt.Shape worldToScreen(N node)
Returns the shape of the node according to its layout position in screen coordinates.- Specified by:
worldToScreenin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
node- the node- Returns:
- the shape of the node
-
worldToScreen
public java.awt.Shape worldToScreen(java.awt.Shape shape)
- Specified by:
worldToScreenin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getRenderedShape
public java.awt.Shape getRenderedShape(N node)
Returns the shape of the node according to its rendered position in screen coordinates.- Specified by:
getRenderedShapein interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
node- the node- Returns:
- the shape of the node
-
getViewport
public java.awt.geom.Rectangle2D getViewport()
- Specified by:
getViewportin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getWorld
public java.awt.geom.Rectangle2D getWorld()
-
screenToWorldX
public double screenToWorldX(int x)
- Specified by:
screenToWorldXin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
screenToWorldY
public double screenToWorldY(int y)
- Specified by:
screenToWorldYin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
worldToScreenX
public int worldToScreenX(double x)
- Specified by:
worldToScreenXin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
worldToScreenY
public int worldToScreenY(double y)
- Specified by:
worldToScreenYin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getXRangeModel
public MutableBoundedInterval getXRangeModel()
- Specified by:
getXRangeModelin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getYRangeModel
public MutableBoundedInterval getYRangeModel()
- Specified by:
getYRangeModelin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getPreRenderers
public java.lang.Iterable<TreeMapRenderer> getPreRenderers()
- Specified by:
getPreRenderersin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getPreProgressiveRenderers
public java.lang.Iterable<TreeMapRenderer> getPreProgressiveRenderers()
- Specified by:
getPreProgressiveRenderersin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getProgressiveRenderers
public java.lang.Iterable<TreeMapRenderer> getProgressiveRenderers()
- Specified by:
getProgressiveRenderersin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getPostRenderers
public java.lang.Iterable<TreeMapRenderer> getPostRenderers()
- Specified by:
getPostRenderersin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
zoom
public void zoom(boolean animate, double x1, double x2, double y1, double y2)
-
getNode
public N getNode(java.awt.Point p)
Returns the node at the specified location on the screen.
-
contains
public boolean contains(java.awt.Point p, java.awt.Shape shape)
-
getNodes
public java.util.List<N> getNodes(java.awt.Rectangle rect)
Returns the nodes overlapping the specified rectangle.
-
getRubberBand
public com.macrofocus.rubberband.RubberBand getRubberBand()
- Specified by:
getRubberBandin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
worldToScreen
public java.awt.Rectangle worldToScreen(java.awt.geom.Rectangle2D r)
Convert the specified rectangle to screen coordinates.- Specified by:
worldToScreenin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
r- the rectangle to convert- Returns:
- the rectangle in screen coordinates
-
worldToScreenPrecise
public java.awt.geom.Rectangle2D worldToScreenPrecise(java.awt.geom.Rectangle2D r)
Convert the specified rectangle to screen coordinates.- Specified by:
worldToScreenPrecisein interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
r- the rectangle to convert- Returns:
- the rectangle in screen coordinates
-
getZoomFactor
public float getZoomFactor()
- Specified by:
getZoomFactorin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getLabelRenderer
public TreeMapLabelRenderer<C,N,Row,Column,Color,Font> getLabelRenderer()
- Specified by:
getLabelRendererin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setLabelRenderer
public void setLabelRenderer(TreeMapLabelRenderer<C,N,Row,Column,Color,Font> renderer)
- Specified by:
setLabelRendererin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getHeaderRenderer
public TreeMapHeaderRenderer<N,Row,Column,Color,Font> getHeaderRenderer()
- Specified by:
getHeaderRendererin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setHeaderRenderer
public void setHeaderRenderer(TreeMapHeaderRenderer<N,Row,Column,Color,Font> renderer)
- Specified by:
setHeaderRendererin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getTooltipRenderer
public TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> getTooltipRenderer()
- Specified by:
getTooltipRendererin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setTooltipRenderer
public void setTooltipRenderer(TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> renderer)
- Specified by:
setTooltipRendererin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getRenderingHints
public java.awt.RenderingHints getRenderingHints()
- Specified by:
getRenderingHintsin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setRenderingHints
public void setRenderingHints(java.awt.RenderingHints renderingHints)
- Specified by:
setRenderingHintsin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getToolTip
public TreeMapToolTip<N,Row,Column,Color,Font> getToolTip()
Returns the tooltip used for probing (aka mouse over).- Specified by:
getToolTipin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Returns:
- the tooltip used for probing
-
setToolTip
public void setToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)
Sets the tooltip used for probing (aka mouse over).- Specified by:
setToolTipin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
tooltip- the tooltip used for probing
-
getSelectionToolTip
public TreeMapToolTip<N,Row,Column,Color,Font> getSelectionToolTip()
Returns the tooltip used for selection.- Specified by:
getSelectionToolTipin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Returns:
- the tooltip used for selection
-
setSelectionToolTip
public void setSelectionToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)
Sets the tooltip used for selection.- Specified by:
setSelectionToolTipin interfaceTreeMapView<C,N,Row,Column,Color,Font>- Parameters:
tooltip- the tooltip used for selection
-
repaint
public void repaint()
-
repaint
protected abstract void repaint(long delay)
-
updateSize
protected abstract void updateSize()
-
isSelectionMode
public boolean isSelectionMode()
- Specified by:
isSelectionModein interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setSelectionMode
public void setSelectionMode(boolean value)
- Specified by:
setSelectionModein interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getScreenTransform
public com.macrofocus.transform.twod.TwoDScreenTransform getScreenTransform()
- Specified by:
getScreenTransformin interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
drill
public void drill(int x, int y)
-
drillDown
public void drillDown()
-
drillUp
public void drillUp()
-
zoomIn
public void zoomIn()
-
-