public abstract class AbstractIgnitionRMTool<T extends RMParentShape> extends RMTool<T>
This class provides the base for any RMTool class that we want to allow drag-to-size RMShape creation for. To add a new tool, simply extend this class and implement createShapeTool to create a new instance of the RMTool you'd like to create. Note that some RMTools do not have native methods to create an Shape at an arbitrary location/size, so a new constructor may be required.
RMTool.RMShapeHandle
Modifier and Type | Field and Description |
---|---|
protected RMEditor |
currentEditor |
protected com.google.common.eventbus.EventBus |
eventBus |
protected double |
height |
protected RMParentShape |
parent |
static java.lang.String |
TOOL_USED |
protected double |
width |
protected double |
x |
protected double |
y |
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 |
---|
AbstractIgnitionRMTool(RMEditor currentEditor,
com.google.common.eventbus.EventBus eventBus) |
Modifier and Type | Method and Description |
---|---|
abstract RMShape |
createShapeTool(RMEditor editor,
java.lang.String keyPath,
double x,
double y,
double width,
double height) |
void |
mouseDragged(java.awt.event.MouseEvent anEvent)
Event handling for shape creation, collect the location of the drag to size the new tool
|
void |
mousePressed(java.awt.event.MouseEvent anEvent)
Event handling for shape creation.
|
void |
mouseReleased(java.awt.event.MouseEvent anEvent)
On release, we want to get rid of the rectangle and create a new Tool in its place, then notify the palette
the tool was used to turn off the button toggle.
|
acceptsDrag, activateTool, attachEventBus, createUI, deactivateTool, didBecomeSuperSelectedShapeInEditor, dragEnter, dragExit, dragOver, drop, dropClass, dropColor, dropDragKey, dropFiles, dropString, flavorForClass, flushChanges, getAcceptsChildren, getBoundsSuperSelected, getDatasetEntity, getDragDisplayBounds, getEditor, getEditorPane, getFont, getFontDeep, getGalleryClone, getHandleAtPoint, getHandleCount, getHandleCursor, getHandleOpposing, getHandlePoint, getHandleRect, getIcon, getIcon, getPointsFromUnits, getSelectedShape, getSelectedShapes, getSelectTool, getShapeClass, getShapeFillInspector, getShapeHandleAtPoint, getTool, getTool, getToolTipText, getUnitsFromPoints, getWindowTitle, isSelected, isSuperSelectable, isSuperSelected, isUngroupable, mouseDragged, mouseMoved, mouseMoved, mousePressed, mousePressedSelection, mouseReleased, moveShapeHandle, newInstance, paintShapeHandles, paintTool, processKeyEvent, reactivateTool, setFont, setFontBold, setFontBoldDeep, setFontFamily, setFontFamilyDeep, setFontItalic, setFontItalicDeep, setFontName, setFontNameDeep, setFontSize, setFontSizeDeep, willLoseSuperSelectionInEditor
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, respondUI, runLaterDelayed, runLaterOnce, sendEvent, sendNodeAction, setBindingModelValue, setBindingNodeValue, setFirstFocus, setModelValue, setNodeAction, setNodeEnabled, setNodeItemDisplayKey, setNodeItems, setNodeItems, setNodeSelectedIndex, setNodeSelectedItem, setNodeText, setNodeValue, setSendEventDisabled
public static final java.lang.String TOOL_USED
protected double x
protected double y
protected double width
protected double height
protected RMEditor currentEditor
protected com.google.common.eventbus.EventBus eventBus
protected RMParentShape parent
public AbstractIgnitionRMTool(RMEditor currentEditor, com.google.common.eventbus.EventBus eventBus)
public abstract RMShape createShapeTool(RMEditor editor, java.lang.String keyPath, double x, double y, double width, double height)
public void mousePressed(java.awt.event.MouseEvent anEvent)
RMTool
mousePressed
in class RMTool<T extends RMParentShape>
public void mouseDragged(java.awt.event.MouseEvent anEvent)
mouseDragged
in class RMTool<T extends RMParentShape>
public void mouseReleased(java.awt.event.MouseEvent anEvent)
mouseReleased
in class RMTool<T extends RMParentShape>