Class IndicatorTool
- java.lang.Object
-
- org.locationtech.jtstest.testbuilder.ui.tools.BasicTool
-
- org.locationtech.jtstest.testbuilder.ui.tools.IndicatorTool
-
- All Implemented Interfaces:
java.awt.event.KeyListener
,java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.awt.event.MouseWheelListener
,java.util.EventListener
,Tool
- Direct Known Subclasses:
BoxBandTool
,EditVertexTool
,LineBandTool
public abstract class IndicatorTool extends BasicTool
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.Color
bandColor
private boolean
isIndicatorVisible
private java.lang.String
lastLabelDrawn
private java.awt.Point
lastLabelLoc
private java.awt.Shape
lastShapeDrawn
private java.awt.Point
mousePoint
private java.awt.Color
originalColor
private java.awt.Font
originalFont
private java.awt.Stroke
originalStroke
-
Constructor Summary
Constructors Constructor Description IndicatorTool()
IndicatorTool(java.awt.Cursor cursor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
clearIndicator()
private void
clearShape(java.awt.Graphics2D graphics)
private void
drawShapeXOR(java.awt.Graphics2D g)
private void
drawShapeXOR(java.awt.Graphics2D graphics, java.awt.Shape shape, java.lang.String label, java.awt.Point labelLoc)
private java.lang.String
getLabel()
protected java.awt.Shape
getShape()
Gets the shape for displaying the current state of the action.boolean
isIndicatorVisible()
Important for XOR drawing.void
mouseDragged(java.awt.event.MouseEvent e)
void
mouseMoved(java.awt.event.MouseEvent e)
private void
recordLabel(java.awt.Point p)
protected void
redrawIndicator()
private void
redrawShape(java.awt.Graphics2D graphics)
private void
setIndicatorVisible(boolean isIndicatorVisible)
private void
setup(java.awt.Graphics2D graphics)
private void
teardown(java.awt.Graphics2D graphics)
-
Methods inherited from class org.locationtech.jtstest.testbuilder.ui.tools.BasicTool
activate, deactivate, geomModel, getCursor, getGraphics2D, getModelSnapTolerance, gridSize, keyPressed, keyReleased, keyTyped, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, mouseWheelMoved, panel, toModel, toModel, toModelCoordinate, toModelSnapped, toModelSnappedIfCloseToViewGrid, toModelSnappedToViewGrid, toView, toView
-
-
-
-
Field Detail
-
bandColor
private java.awt.Color bandColor
-
mousePoint
private java.awt.Point mousePoint
-
lastShapeDrawn
private java.awt.Shape lastShapeDrawn
-
lastLabelDrawn
private java.lang.String lastLabelDrawn
-
lastLabelLoc
private java.awt.Point lastLabelLoc
-
isIndicatorVisible
private boolean isIndicatorVisible
-
originalColor
private java.awt.Color originalColor
-
originalStroke
private java.awt.Stroke originalStroke
-
originalFont
private java.awt.Font originalFont
-
-
Method Detail
-
getShape
protected java.awt.Shape getShape()
Gets the shape for displaying the current state of the action. Subclasses should override.- Returns:
- null if nothing should be drawn
-
isIndicatorVisible
public boolean isIndicatorVisible()
Important for XOR drawing. Even if #getShape returns null, this method will return true between calls of #redrawShape and #clearShape.
-
setIndicatorVisible
private void setIndicatorVisible(boolean isIndicatorVisible)
-
clearIndicator
protected void clearIndicator()
-
redrawIndicator
protected void redrawIndicator()
-
clearShape
private void clearShape(java.awt.Graphics2D graphics)
-
redrawShape
private void redrawShape(java.awt.Graphics2D graphics) throws java.lang.Exception
- Throws:
java.lang.Exception
-
drawShapeXOR
private void drawShapeXOR(java.awt.Graphics2D g) throws java.lang.Exception
- Throws:
java.lang.Exception
-
drawShapeXOR
private void drawShapeXOR(java.awt.Graphics2D graphics, java.awt.Shape shape, java.lang.String label, java.awt.Point labelLoc)
-
setup
private void setup(java.awt.Graphics2D graphics)
-
teardown
private void teardown(java.awt.Graphics2D graphics)
-
recordLabel
private void recordLabel(java.awt.Point p)
-
getLabel
private java.lang.String getLabel()
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
- Overrides:
mouseDragged
in classBasicTool
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
- Overrides:
mouseMoved
in classBasicTool
-
-