Class 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.
    • 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 returns Math.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:
        setView in interface TreeMapController<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: TreeMapController
        Controls whether the zooming is permitted.
        Specified by:
        setZoomingEnabled in interface TreeMapController<javax.swing.JComponent,​N,​Row,​Column,​java.awt.Color,​java.awt.Font>
        Parameters:
        zoomingEnabled - true to enable zooming, false otherwise.