public class SelectionToolLineVisualization.Instance extends AbstractParallelVisualization<NumberVector> implements DragableArea.DragListener
Modifier and Type | Field and Description |
---|---|
private static String |
CSS_RANGEMARKER
CSS class of the selection rectangle while selecting.
|
(package private) Element |
etag
Element for the rectangle to add listeners
|
(package private) Element |
rtag
Element for selection rectangle
|
axsep, proj, relation
context, layer, svgp, task
Constructor and Description |
---|
SelectionToolLineVisualization.Instance(VisualizationTask task,
VisualizationPlot plot,
double width,
double height,
Projection proj)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addCSSClasses(SVGPlot svgp)
Adds the required CSS-Classes
|
private boolean |
checkSelected(int[] ar,
double[] yPos,
double x1,
double x2,
double y1,
double y2) |
private void |
deleteChildren(Element container)
Delete the children of the element
|
boolean |
duringDrag(org.w3c.dom.svg.SVGPoint startPoint,
org.w3c.dom.svg.SVGPoint dragPoint,
Event evt,
boolean inside)
Method called during drags.
|
boolean |
endDrag(org.w3c.dom.svg.SVGPoint startPoint,
org.w3c.dom.svg.SVGPoint dragPoint,
Event evt,
boolean inside)
Method called when a drag was ended.
|
void |
fullRedraw()
Request a full redrawing of the visualization.
|
private int[] |
getAxisRange(double x1,
double x2) |
private SelectionToolLineVisualization.Mode |
getInputMode(Event evt)
Get the current input mode, on each mouse event.
|
boolean |
startDrag(org.w3c.dom.svg.SVGPoint startPoint,
Event evt)
Action to do on drag start.
|
private void |
updateSelection(SelectionToolLineVisualization.Mode mode,
org.w3c.dom.svg.SVGPoint p1,
org.w3c.dom.svg.SVGPoint p2)
Updates the selection in the context.
|
getAxisSep, getMarginLeft, getMarginTop, getSizeX, getSizeY, getVisibleAxisX, setupCanvas, visualizationChanged
addListeners, contentChanged, destroy, getHeight, getLayer, getWidth, incrementalRedraw, resultAdded, resultChanged, resultRemoved
private static final String CSS_RANGEMARKER
Element rtag
Element etag
public SelectionToolLineVisualization.Instance(VisualizationTask task, VisualizationPlot plot, double width, double height, Projection proj)
task
- Taskplot
- Plot to draw towidth
- Embedding widthheight
- Embedding heightproj
- Projectionpublic void fullRedraw()
Visualization
fullRedraw
in interface Visualization
fullRedraw
in class AbstractParallelVisualization<NumberVector>
private void deleteChildren(Element container)
container
- SVG-Elementpublic boolean startDrag(org.w3c.dom.svg.SVGPoint startPoint, Event evt)
DragableArea.DragListener
startDrag
in interface DragableArea.DragListener
startPoint
- Point where the drag was started.evt
- The event objecttrue
to start the drag operationpublic boolean duringDrag(org.w3c.dom.svg.SVGPoint startPoint, org.w3c.dom.svg.SVGPoint dragPoint, Event evt, boolean inside)
DragableArea.DragListener
duringDrag
in interface DragableArea.DragListener
startPoint
- Drag starting pointdragPoint
- Drag end pointevt
- The event objectinside
- Inside the tracked elementtrue
to continue the dragpublic boolean endDrag(org.w3c.dom.svg.SVGPoint startPoint, org.w3c.dom.svg.SVGPoint dragPoint, Event evt, boolean inside)
DragableArea.DragListener
endDrag
in interface DragableArea.DragListener
startPoint
- Drag starting pointdragPoint
- Drag end pointevt
- The event objectinside
- Whether the end point was inside the areatrue
to complete the dragprivate SelectionToolLineVisualization.Mode getInputMode(Event evt)
evt
- Mouse event.private void updateSelection(SelectionToolLineVisualization.Mode mode, org.w3c.dom.svg.SVGPoint p1, org.w3c.dom.svg.SVGPoint p2)
mode
- Input modep1
- first point of the selected rectanglep2
- second point of the selected rectangleprivate int[] getAxisRange(double x1, double x2)
private boolean checkSelected(int[] ar, double[] yPos, double x1, double x2, double y1, double y2)
protected void addCSSClasses(SVGPlot svgp)
svgp
- SVG-PlotCopyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.