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.ColorbandColorprivate booleanisIndicatorVisibleprivate java.lang.StringlastLabelDrawnprivate java.awt.PointlastLabelLocprivate java.awt.ShapelastShapeDrawnprivate java.awt.PointmousePointprivate java.awt.ColororiginalColorprivate java.awt.FontoriginalFontprivate java.awt.StrokeoriginalStroke
-
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 voidclearIndicator()private voidclearShape(java.awt.Graphics2D graphics)private voiddrawShapeXOR(java.awt.Graphics2D g)private voiddrawShapeXOR(java.awt.Graphics2D graphics, java.awt.Shape shape, java.lang.String label, java.awt.Point labelLoc)private java.lang.StringgetLabel()protected java.awt.ShapegetShape()Gets the shape for displaying the current state of the action.booleanisIndicatorVisible()Important for XOR drawing.voidmouseDragged(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent e)private voidrecordLabel(java.awt.Point p)protected voidredrawIndicator()private voidredrawShape(java.awt.Graphics2D graphics)private voidsetIndicatorVisible(boolean isIndicatorVisible)private voidsetup(java.awt.Graphics2D graphics)private voidteardown(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:
mouseDraggedin interfacejava.awt.event.MouseMotionListener- Overrides:
mouseDraggedin classBasicTool
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener- Overrides:
mouseMovedin classBasicTool
-
-