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 void
addPostRenderer(TreeMapRenderer renderer)
protected void
addPreProgressiveRenderer(TreeMapRenderer renderer)
protected void
addPreRenderer(TreeMapRenderer renderer)
protected void
addProgressiveRenderer(TreeMapRenderer renderer)
boolean
contains(java.awt.Point p, java.awt.Shape shape)
void
drill(int x, int y)
void
drillDown()
void
drillUp()
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.N
getNode(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.Progressive
getProgressive()
Returns whether progressive display mode is enabled.java.lang.Iterable<TreeMapRenderer>
getProgressiveRenderers()
java.awt.Shape
getRenderedShape(N node)
Returns the shape of the node according to its rendered position in screen coordinates.java.awt.RenderingHints
getRenderingHints()
com.macrofocus.rubberband.RubberBand
getRubberBand()
com.macrofocus.transform.twod.TwoDScreenTransform
getScreenTransform()
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.Rectangle2D
getViewport()
java.awt.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()
protected abstract void
repaint(long delay)
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
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
setRenderingHints(java.awt.RenderingHints renderingHints)
void
setSelectionMode(boolean value)
void
setSelectionToolTip(TreeMapToolTip<N,Row,Column,Color,Font> tooltip)
Sets the tooltip used for selection.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.protected abstract void
updateSize()
java.awt.Rectangle
worldToScreen(java.awt.geom.Rectangle2D r)
Convert the specified rectangle to screen coordinates.java.awt.Shape
worldToScreen(java.awt.Shape shape)
java.awt.Shape
worldToScreen(N node)
Returns the shape of the node according to its layout position in screen coordinates.java.awt.geom.Rectangle2D
worldToScreenPrecise(java.awt.geom.Rectangle2D r)
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()
-
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:
getHeadless
in 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:
isUpdateModelDimension
in 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:
setUpdateModelDimension
in 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:
getProgressive
in 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:
isShowTiming
in 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:
setModel
in 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:
getModel
in 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:
worldToScreen
in 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:
worldToScreen
in 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:
getRenderedShape
in 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:
getViewport
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getWorld
public java.awt.geom.Rectangle2D getWorld()
-
screenToWorldX
public double screenToWorldX(int x)
- Specified by:
screenToWorldX
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
screenToWorldY
public double screenToWorldY(int y)
- Specified by:
screenToWorldY
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
worldToScreenX
public int worldToScreenX(double x)
- Specified by:
worldToScreenX
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
worldToScreenY
public int worldToScreenY(double y)
- Specified by:
worldToScreenY
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getXRangeModel
public MutableBoundedInterval getXRangeModel()
- Specified by:
getXRangeModel
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getYRangeModel
public MutableBoundedInterval getYRangeModel()
- Specified by:
getYRangeModel
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getPreRenderers
public java.lang.Iterable<TreeMapRenderer> getPreRenderers()
- Specified by:
getPreRenderers
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getPreProgressiveRenderers
public java.lang.Iterable<TreeMapRenderer> getPreProgressiveRenderers()
- Specified by:
getPreProgressiveRenderers
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getProgressiveRenderers
public java.lang.Iterable<TreeMapRenderer> getProgressiveRenderers()
- Specified by:
getProgressiveRenderers
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getPostRenderers
public java.lang.Iterable<TreeMapRenderer> getPostRenderers()
- Specified by:
getPostRenderers
in 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:
getRubberBand
in 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:
worldToScreen
in 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:
worldToScreenPrecise
in 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:
getZoomFactor
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getLabelRenderer
public TreeMapLabelRenderer<C,N,Row,Column,Color,Font> getLabelRenderer()
- Specified by:
getLabelRenderer
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setLabelRenderer
public void setLabelRenderer(TreeMapLabelRenderer<C,N,Row,Column,Color,Font> renderer)
- Specified by:
setLabelRenderer
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getHeaderRenderer
public TreeMapHeaderRenderer<N,Row,Column,Color,Font> getHeaderRenderer()
- Specified by:
getHeaderRenderer
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setHeaderRenderer
public void setHeaderRenderer(TreeMapHeaderRenderer<N,Row,Column,Color,Font> renderer)
- Specified by:
setHeaderRenderer
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getTooltipRenderer
public TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> getTooltipRenderer()
- Specified by:
getTooltipRenderer
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setTooltipRenderer
public void setTooltipRenderer(TreeMapTooltipRenderer<C,N,Row,Column,Color,Font> renderer)
- Specified by:
setTooltipRenderer
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getRenderingHints
public java.awt.RenderingHints getRenderingHints()
- Specified by:
getRenderingHints
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setRenderingHints
public void setRenderingHints(java.awt.RenderingHints renderingHints)
- Specified by:
setRenderingHints
in 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:
getToolTip
in 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:
setToolTip
in 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:
getSelectionToolTip
in 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:
setSelectionToolTip
in 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:
isSelectionMode
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
setSelectionMode
public void setSelectionMode(boolean value)
- Specified by:
setSelectionMode
in interfaceTreeMapView<C,N,Row,Column,Color,Font>
-
getScreenTransform
public com.macrofocus.transform.twod.TwoDScreenTransform getScreenTransform()
- Specified by:
getScreenTransform
in 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()
-
-