Package com.macrofocus.treemap.swing
Class DefaultTreeMapController<N,Row,Column>
- java.lang.Object
-
- com.macrofocus.treemap.swing.DefaultTreeMapController<N,Row,Column>
-
- All Implemented Interfaces:
TreeMapController<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font>
public class DefaultTreeMapController<N,Row,Column> extends java.lang.Object implements TreeMapController<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font>
Default controller mediating user interactions with a TreeMapView. It currently supports selection, zooming, panning and drilling.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultTreeMapController.ModeInteraction mode.
-
Field Summary
Fields Modifier and Type Field Description protected TreeMapView<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font>_view
-
Constructor Summary
Constructors Constructor Description DefaultTreeMapController()DefaultTreeMapController(TreeMapView<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font> view)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.awt.ComponentcreatePopupMenuEntry(N node, Column c)javax.swing.JPopupMenugetPopupMenu()booleanisImprovedBorderZooming()booleanisMultipleSelectionEnabled()booleanisSelectOnPopupTrigger()booleanisZoomingEnabled()voidsetImprovedBorderZooming(boolean improvedBorderZooming)Enabling it will make use of the DefaultTreeMapController.zoomingCenterFunction() to correct the focus point of the zoom.voidsetMultipleSelectionEnabled(boolean multipleSelectionEnabled)voidsetPopupMenu(javax.swing.JPopupMenu popupMenu)voidsetSelectOnPopupTrigger(boolean selectOnPopupTrigger)Defines whether selection will occur prior to the display of the context menu.voidsetView(TreeMapView<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font> view)Replace the view currently under control.voidsetZoomingEnabled(boolean zoomingEnabled)Controls whether the zooming is permitted.protected doublezoomingCenterFunction(double center)Currently returnsMath.tanh(x * 3).
-
-
-
Field Detail
-
_view
protected TreeMapView<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font> _view
-
-
Constructor Detail
-
DefaultTreeMapController
public DefaultTreeMapController()
-
DefaultTreeMapController
public DefaultTreeMapController(TreeMapView<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font> view)
-
-
Method Detail
-
zoomingCenterFunction
protected double zoomingCenterFunction(double center)
Currently returnsMath.tanh(x * 3). Can be overridden to use other (e.g. logistic) function.- Parameters:
center- the center within a normalized (-1..1) range- Returns:
- the new center within a normalized (-1..1) range
-
setView
public void setView(TreeMapView<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font> view)
Replace the view currently under control.- Specified by:
setViewin interfaceTreeMapController<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font>- Parameters:
view- the TreeMapView to use
-
createPopupMenuEntry
protected java.awt.Component createPopupMenuEntry(N node, Column c) throws java.net.URISyntaxException
- Throws:
java.net.URISyntaxException
-
isMultipleSelectionEnabled
public boolean isMultipleSelectionEnabled()
-
setMultipleSelectionEnabled
public void setMultipleSelectionEnabled(boolean multipleSelectionEnabled)
-
isSelectOnPopupTrigger
public boolean isSelectOnPopupTrigger()
-
setSelectOnPopupTrigger
public void setSelectOnPopupTrigger(boolean selectOnPopupTrigger)
Defines whether selection will occur prior to the display of the context menu.- Parameters:
selectOnPopupTrigger- true if selection should occur, false otherwise
-
getPopupMenu
public javax.swing.JPopupMenu getPopupMenu()
-
setPopupMenu
public void setPopupMenu(javax.swing.JPopupMenu popupMenu)
-
isImprovedBorderZooming
public boolean isImprovedBorderZooming()
-
setImprovedBorderZooming
public void setImprovedBorderZooming(boolean improvedBorderZooming)
Enabling it will make use of the DefaultTreeMapController.zoomingCenterFunction() to correct the focus point of the zoom.- Parameters:
improvedBorderZooming- true to enable customized zooming function, false otherwise.
-
setZoomingEnabled
public void setZoomingEnabled(boolean zoomingEnabled)
Description copied from interface:TreeMapControllerControls whether the zooming is permitted.- Specified by:
setZoomingEnabledin interfaceTreeMapController<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font>- Parameters:
zoomingEnabled- true to enable zooming, false otherwise.
-
isZoomingEnabled
public boolean isZoomingEnabled()
- Specified by:
isZoomingEnabledin interfaceTreeMapController<javax.swing.JComponent,N,Row,Column,java.awt.Color,java.awt.Font>
-
-