Class JavaFXParallelCoordinatesView<Row,C>
- java.lang.Object
-
- com.macrofocus.high_d.parallelcoordinates.AbstractParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
-
- com.macrofocus.high_d.parallelcoordinates.javafx.JavaFXParallelCoordinatesView<Row,C>
-
- All Implemented Interfaces:
com.macrofocus.crossplatform.CPComponent<javafx.scene.Node>
,com.macrofocus.crossplatform.CPInteractiveComponent<javafx.scene.Node>
,ParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
public class JavaFXParallelCoordinatesView<Row,C> extends AbstractParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
Provides a view for a ParallelCoordinatesModel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.macrofocus.high_d.parallelcoordinates.ParallelCoordinatesView
ParallelCoordinatesView.DragListener, ParallelCoordinatesView.HeaderListener, ParallelCoordinatesView.PropertyType
-
-
Field Summary
-
Fields inherited from class com.macrofocus.high_d.parallelcoordinates.AbstractParallelCoordinatesView
DEFAULT_LAYER, DRAG_LAYER, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER, properties
-
-
Constructor Summary
Constructors Constructor Description JavaFXParallelCoordinatesView()
JavaFXParallelCoordinatesView(ParallelCoordinatesModel model)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMouseListener(com.macrofocus.crossplatform.CPCanvas.MouseListener l)
void
addMouseMotionListener(com.macrofocus.crossplatform.CPCanvas.MouseMotionListener l)
protected javafx.scene.control.Button
createAxisHeaderView(com.macrofocus.high_d.axis.AxisModel axisModel)
protected void
createAxisMouseListener(javafx.scene.control.Button label)
protected com.macrofocus.high_d.axis.AxisView
createAxisView(com.macrofocus.high_d.axis.AxisModel axisModel)
protected com.macrofocus.high_d.axis.AxisView
createDummyAxisView()
void
dragAxisTo(com.macrofocus.high_d.axis.AxisView axisView, int location)
Drags divider to right location.com.macrofocus.high_d.axis.AxisView
getAndInstallAxisView(com.macrofocus.high_d.axis.AxisModel axisModel)
JavaFXAxisComponents
getAxisComponents(com.macrofocus.high_d.axis.AxisModel axisModel)
com.macrofocus.high_d.axis.group.AxisGroupView
getAxisGroupView(com.macrofocus.high_d.axis.group.AxisGroupModel axisGroup)
com.macrofocus.high_d.axis.AxisView
getAxisView(com.macrofocus.high_d.axis.AxisModel axisModel)
Gets the view associated with a given axis.int
getAxisX(com.macrofocus.high_d.axis.group.AxisGroupModel axisGroup, com.macrofocus.high_d.axis.AxisModel axisModel)
Gets the position along the X axis of an axis.Row
getClosestRow(int x, int y)
int
getHeaderAxisGroupMaximumHeight()
int
getHeaderAxisMaximumHeight()
int
getHeight()
com.macrofocus.crossplatform.CPComponent<javafx.scene.control.Button>
getLabel(com.macrofocus.high_d.axis.AxisModel axisModel)
ParallelCoordinatesModel
getModel()
Returns the ParallelCoordinatesModel that provides the data displayed by this ParallelCoordinatesView.javafx.scene.Node
getNativeComponent()
ParallelCoordinatesLayout
getParallelCoordinatesLayout()
Returns the class responsible for laying out the components of the parallel coordinates plot.java.util.Collection<Row>
getRows(com.macrofocus.geom.Rectangle2D rect)
Returns the nodes overlapping the specified rectangle.int
getWidth()
boolean
isSelectionMode()
boolean
isShowTiming()
Returns whether information about refresh rate should be displayed.void
removeMouseListener(com.macrofocus.crossplatform.CPCanvas.MouseListener l)
void
removeMouseMotionListener(com.macrofocus.crossplatform.CPCanvas.MouseMotionListener l)
void
runLayout()
void
setAntialiasing(MutableProperty<java.lang.Boolean> antialiasing)
void
setGeometry(MutableProperty<Geometry> geometry)
void
setLicenseModel(LicenseModel licenseModel)
void
setModel(ParallelCoordinatesModel model)
Sets the data model and registers with it for listener notifications from the new data model.void
setRendering(MutableProperty<com.macrofocus.crossplatform.CPCanvas.Rendering> rendering)
void
setSelectionMode(boolean value)
void
setShowFiltered(MutableProperty<java.lang.Boolean> showFiltered)
void
setShowTiming(boolean showTiming)
Sets whether information about refresh rate should be displayed.void
setStyleClass(java.lang.String... styleClasses)
void
startDragging(com.macrofocus.high_d.axis.AxisView axisView)
Start dragging an axis.void
stopDragging(com.macrofocus.high_d.axis.AxisView axisView)
Stop dragging an axis.void
waitUntilReady()
Wait until the parallel coordinates plot has been fully rendered.-
Methods inherited from class com.macrofocus.high_d.parallelcoordinates.AbstractParallelCoordinatesView
addDragListener, addHeaderListener, getAlignment, getAllowScrolling, getAntialiasing, getAxisLine, getColoredTransparency, getColorTheme, getColumnSize, getGeometry, getProbeFiltered, getRendering, getRubberBand, getShowFiltered, getShowProbedValues, getShowVisible, getTooltip, headerSelected, removeDragListener, removeHeaderListener, setAllowScrolling, setColorTheme, setTooltip
-
-
-
-
Constructor Detail
-
JavaFXParallelCoordinatesView
public JavaFXParallelCoordinatesView()
-
JavaFXParallelCoordinatesView
public JavaFXParallelCoordinatesView(ParallelCoordinatesModel model)
-
-
Method Detail
-
setStyleClass
public void setStyleClass(java.lang.String... styleClasses)
-
addMouseListener
public void addMouseListener(com.macrofocus.crossplatform.CPCanvas.MouseListener l)
-
addMouseMotionListener
public void addMouseMotionListener(com.macrofocus.crossplatform.CPCanvas.MouseMotionListener l)
-
removeMouseListener
public void removeMouseListener(com.macrofocus.crossplatform.CPCanvas.MouseListener l)
-
removeMouseMotionListener
public void removeMouseMotionListener(com.macrofocus.crossplatform.CPCanvas.MouseMotionListener l)
-
getNativeComponent
public javafx.scene.Node getNativeComponent()
-
getWidth
public int getWidth()
-
getHeight
public int getHeight()
-
isShowTiming
public boolean isShowTiming()
Description copied from interface:ParallelCoordinatesView
Returns whether information about refresh rate should be displayed.- Returns:
- true to display refresh rate information, false otherwise
-
setShowTiming
public void setShowTiming(boolean showTiming)
Description copied from interface:ParallelCoordinatesView
Sets whether information about refresh rate should be displayed.- Parameters:
showTiming
- true to display refresh rate information, false otherwise
-
setLicenseModel
public void setLicenseModel(LicenseModel licenseModel)
-
getParallelCoordinatesLayout
public ParallelCoordinatesLayout getParallelCoordinatesLayout()
Returns the class responsible for laying out the components of the parallel coordinates plot.- Returns:
- the layout engine
-
getModel
public ParallelCoordinatesModel getModel()
Returns the ParallelCoordinatesModel that provides the data displayed by this ParallelCoordinatesView.- Returns:
- the ParallelCoordinatesModel that provides the data displayed by this ParallelCoordinatesView
- See Also:
ParallelCoordinatesView.setModel(com.macrofocus.high_d.parallelcoordinates.ParallelCoordinatesModel)
-
setModel
public void setModel(ParallelCoordinatesModel 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:
ParallelCoordinatesView.getModel()
-
runLayout
public void runLayout()
-
createDummyAxisView
protected com.macrofocus.high_d.axis.AxisView createDummyAxisView()
-
getAxisX
public int getAxisX(com.macrofocus.high_d.axis.group.AxisGroupModel axisGroup, com.macrofocus.high_d.axis.AxisModel axisModel)
Gets the position along the X axis of an axis.axisModel
- the axis- Returns:
- its position along the X axis
-
getHeaderAxisGroupMaximumHeight
public int getHeaderAxisGroupMaximumHeight()
-
getHeaderAxisMaximumHeight
public int getHeaderAxisMaximumHeight()
-
startDragging
public void startDragging(com.macrofocus.high_d.axis.AxisView axisView)
Start dragging an axis.- Specified by:
startDragging
in interfaceParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
- Overrides:
startDragging
in classAbstractParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
- Parameters:
axisView
- the axis to drag
-
dragAxisTo
public void dragAxisTo(com.macrofocus.high_d.axis.AxisView axisView, int location)
Drags divider to right location. If it's continuous layout, really drag the divider; if not, only drag the shadow.- Specified by:
dragAxisTo
in interfaceParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
- Overrides:
dragAxisTo
in classAbstractParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
- Parameters:
axisView
- the axislocation
- new location
-
stopDragging
public void stopDragging(com.macrofocus.high_d.axis.AxisView axisView)
Stop dragging an axis. This will usually trigger a layout of the parallel coordinates plot.- Specified by:
stopDragging
in interfaceParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
- Overrides:
stopDragging
in classAbstractParallelCoordinatesView<javafx.scene.Node,javafx.scene.paint.Color,Row,C>
- Parameters:
axisView
- the axis that has been dragged
-
getAxisComponents
public JavaFXAxisComponents getAxisComponents(com.macrofocus.high_d.axis.AxisModel axisModel)
-
createAxisMouseListener
protected void createAxisMouseListener(javafx.scene.control.Button label)
-
createAxisHeaderView
protected javafx.scene.control.Button createAxisHeaderView(com.macrofocus.high_d.axis.AxisModel axisModel)
-
createAxisView
protected com.macrofocus.high_d.axis.AxisView createAxisView(com.macrofocus.high_d.axis.AxisModel axisModel)
-
getLabel
public com.macrofocus.crossplatform.CPComponent<javafx.scene.control.Button> getLabel(com.macrofocus.high_d.axis.AxisModel axisModel)
-
getAndInstallAxisView
public com.macrofocus.high_d.axis.AxisView getAndInstallAxisView(com.macrofocus.high_d.axis.AxisModel axisModel)
-
getAxisView
public com.macrofocus.high_d.axis.AxisView getAxisView(com.macrofocus.high_d.axis.AxisModel axisModel)
Description copied from interface:ParallelCoordinatesView
Gets the view associated with a given axis.- Parameters:
axisModel
- the axis- Returns:
-
getAxisGroupView
public com.macrofocus.high_d.axis.group.AxisGroupView getAxisGroupView(com.macrofocus.high_d.axis.group.AxisGroupModel axisGroup)
-
waitUntilReady
public void waitUntilReady()
Wait until the parallel coordinates plot has been fully rendered.
-
getClosestRow
public Row getClosestRow(int x, int y)
-
getRows
public java.util.Collection<Row> getRows(com.macrofocus.geom.Rectangle2D rect)
Description copied from interface:ParallelCoordinatesView
Returns the nodes overlapping the specified rectangle.- Parameters:
rect
- the rectangle in screen coordinates- Returns:
- the list of nodes
-
isSelectionMode
public boolean isSelectionMode()
-
setSelectionMode
public void setSelectionMode(boolean value)
-
setShowFiltered
public void setShowFiltered(MutableProperty<java.lang.Boolean> showFiltered)
-
setRendering
public void setRendering(MutableProperty<com.macrofocus.crossplatform.CPCanvas.Rendering> rendering)
-
setAntialiasing
public void setAntialiasing(MutableProperty<java.lang.Boolean> antialiasing)
-
setGeometry
public void setGeometry(MutableProperty<Geometry> geometry)
-
-