public class RMPolygonShapeTool<T extends RMPolygonShape> extends RMTool<T>
RMTool.RMShapeHandle
Modifier and Type | Field and Description |
---|---|
static int |
_mouseDownPointIndex |
HandleE, HandleN, HandleNE, HandleNW, HandleS, HandleSE, HandleSW, HandleW, HandleWidth, SPLIT_RESET
DragDrop, DragEnter, DragEvents, DragExit, DragOver, KeyEvents, KeyFinished, KeyPressed, KeyReleased, KeyTyped, MouseClicked, MouseDragged, MouseEntered, MouseEvents, MouseExited, MouseFinished, MouseMoved, MousePressed, MouseReleased
Constructor and Description |
---|
RMPolygonShapeTool() |
RMPolygonShapeTool(com.google.common.eventbus.EventBus ebus) |
Modifier and Type | Method and Description |
---|---|
void |
addNewPoint()
Add a point to the curve by subdividing the path segment at the hit point.
|
protected javax.swing.JComponent |
createUI()
Override to return empty panel.
|
void |
deactivateTool()
Overrides standard tool method to trigger polygon creation when the tool is deactivated.
|
void |
deleteSelectedPoint()
Delete the selected control point and readjust shape bounds
|
RMRect |
getBoundsSuperSelected(RMShape aShape)
Returns the bounds for this shape when it's super-selected.
|
RMSize |
getPathHandleSize(RMPolygonShape aPoly)
For hit testing - returns the size of the handles scaled to path coordinates
|
java.lang.Class |
getShapeClass()
Returns the class that this tool is responsible for.
|
boolean |
getSmoothPathOnMouseUp()
Returns whether tool should smooth path segments during creation.
|
void |
mouseDragged(java.awt.event.MouseEvent anEvent)
Handles mouse dragged for polygon creation.
|
void |
mouseDragged(T aPolygon,
java.awt.event.MouseEvent anEvent)
Event handling for shape editing.
|
void |
mouseMoved(T aPolygon,
java.awt.event.MouseEvent anEvent)
Event handling - overridden to maintain default cursor.
|
void |
mousePressed(java.awt.event.MouseEvent anEvent)
Handles mouse pressed for polygon creation.
|
void |
mousePressed(T aPolygon,
java.awt.event.MouseEvent anEvent)
Event handling for shape editing.
|
void |
mouseReleased(java.awt.event.MouseEvent anEvent)
Handles mouse released for polygon creation.
|
protected T |
newInstance()
Returns a new instance of the shape class that this tool is responsible for.
|
void |
paintTool(java.awt.Graphics2D g)
Draws the polygon tool's path durring path creation.
|
void |
processKeyEvent(T aShape,
java.awt.event.KeyEvent anEvent)
Editor method.
|
void |
reactivateTool()
Overrides standard tool method to trigger polygon creation when the tool is reactivated.
|
void |
respondUI(SwingEvent anEvent)
Handles the pop-up menu
|
void |
runContextMenu(RMPolygonShape aPolyShape,
java.awt.event.MouseEvent anEvent)
Runs a context menu for the given event.
|
void |
willLoseSuperSelectionInEditor(RMShape aShape,
RMEditor anEditor)
Editor method - called when an instance of this tool's shape in de-super-selected.
|
acceptsDrag, activateTool, attachEventBus, didBecomeSuperSelectedShapeInEditor, dragEnter, dragExit, dragOver, drop, dropClass, dropColor, dropDragKey, dropFiles, dropString, flavorForClass, flushChanges, getAcceptsChildren, getDatasetEntity, getDragDisplayBounds, getEditor, getEditorPane, getFont, getFontDeep, getGalleryClone, getHandleAtPoint, getHandleCount, getHandleCursor, getHandleOpposing, getHandlePoint, getHandleRect, getIcon, getIcon, getPointsFromUnits, getSelectedShape, getSelectedShapes, getSelectTool, getShapeFillInspector, getShapeHandleAtPoint, getTool, getTool, getToolTipText, getUnitsFromPoints, getWindowTitle, isSelected, isSuperSelectable, isSuperSelected, isUngroupable, mouseMoved, mousePressedSelection, mouseReleased, moveShapeHandle, paintShapeHandles, setFont, setFontBold, setFontBoldDeep, setFontFamily, setFontFamilyDeep, setFontItalic, setFontItalicDeep, setFontName, setFontNameDeep, setFontSize, setFontSizeDeep
addKeyActionEvent, createTimer, createUI, createWindow, getNode, getNode, getNodeHelper, getTimer, getTimer, getUI, getWindow, isEventThread, isWindowVisible, requestFocus, requestFocusImpl, runLater, sendEvent, setWindowVisible
addNodeBinding, disableEvents, enableEvents, getBindingModelValue, getBindingNodeValue, getConversionMap, getConversionMapKey, getConversionMaps, getConversionMapValue, getFirstFocus, getModelValue, getNode, getNodeAction, getNodeBoolValue, getNodeFloatValue, getNodeIntValue, getNodeItemDisplayKey, getNodeItems, getNodeSelectedIndex, getNodeSelectedItem, getNodeStringValue, getNodeText, getNodeValue, getUI, getUIHpr, initUI, initUI, isNodeEnabled, isNodeValueAdjusting, isSendEventDisabled, isUISet, processResetUI, processRespondUI, resetLater, resetNodeBindings, resetUI, runLaterDelayed, runLaterOnce, sendEvent, sendNodeAction, setBindingModelValue, setBindingNodeValue, setFirstFocus, setModelValue, setNodeAction, setNodeEnabled, setNodeItemDisplayKey, setNodeItems, setNodeItems, setNodeSelectedIndex, setNodeSelectedItem, setNodeText, setNodeValue, setSendEventDisabled
public RMPolygonShapeTool()
public RMPolygonShapeTool(com.google.common.eventbus.EventBus ebus)
protected javax.swing.JComponent createUI()
createUI
in class RMTool<T extends RMPolygonShape>
public void respondUI(SwingEvent anEvent)
respondUI
in class UIOwner<SwingEvent,javax.swing.JComponent>
public java.lang.Class getShapeClass()
getShapeClass
in class RMTool<T extends RMPolygonShape>
protected T newInstance()
newInstance
in class RMTool<T extends RMPolygonShape>
public boolean getSmoothPathOnMouseUp()
public void mousePressed(java.awt.event.MouseEvent anEvent)
mousePressed
in class RMTool<T extends RMPolygonShape>
public void mouseDragged(java.awt.event.MouseEvent anEvent)
mouseDragged
in class RMTool<T extends RMPolygonShape>
public void mouseReleased(java.awt.event.MouseEvent anEvent)
mouseReleased
in class RMTool<T extends RMPolygonShape>
public void mouseMoved(T aPolygon, java.awt.event.MouseEvent anEvent)
mouseMoved
in class RMTool<T extends RMPolygonShape>
public void mousePressed(T aPolygon, java.awt.event.MouseEvent anEvent)
mousePressed
in class RMTool<T extends RMPolygonShape>
public void mouseDragged(T aPolygon, java.awt.event.MouseEvent anEvent)
mouseDragged
in class RMTool<T extends RMPolygonShape>
public void deactivateTool()
deactivateTool
in class RMTool<T extends RMPolygonShape>
public void reactivateTool()
reactivateTool
in class RMTool<T extends RMPolygonShape>
public void willLoseSuperSelectionInEditor(RMShape aShape, RMEditor anEditor)
willLoseSuperSelectionInEditor
in class RMTool<T extends RMPolygonShape>
public void paintTool(java.awt.Graphics2D g)
paintTool
in class RMTool<T extends RMPolygonShape>
public RMRect getBoundsSuperSelected(RMShape aShape)
getBoundsSuperSelected
in class RMTool<T extends RMPolygonShape>
public void runContextMenu(RMPolygonShape aPolyShape, java.awt.event.MouseEvent anEvent)
public void deleteSelectedPoint()
public void processKeyEvent(T aShape, java.awt.event.KeyEvent anEvent)
processKeyEvent
in class RMTool<T extends RMPolygonShape>
aShape
- anEvent
- public void addNewPoint()
public RMSize getPathHandleSize(RMPolygonShape aPoly)