Package com.inductiveautomation.rm.tool
Class RMCrossTabTool<T extends RMCrossTab>
- java.lang.Object
-
- com.inductiveautomation.snap.ui.UIOwner<SwingEvent,javax.swing.JComponent>
-
- com.inductiveautomation.snap.swing.SwingOwner
-
- com.inductiveautomation.rm.tool.RMTool<T>
-
- com.inductiveautomation.rm.tool.RMCrossTabTool<T>
-
public class RMCrossTabTool<T extends RMCrossTab> extends RMTool<T>
This class provides support for UI editing of RMCrossTab.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.inductiveautomation.rm.tool.RMTool
RMTool.RMShapeHandle
-
-
Field Summary
-
Fields inherited from class com.inductiveautomation.rm.tool.RMTool
HandleE, HandleN, HandleNE, HandleNW, HandleS, HandleSE, HandleSW, HandleW, HandleWidth, SPLIT_RESET
-
Fields inherited from class com.inductiveautomation.snap.ui.UIOwner
DragDrop, DragEnter, DragEvents, DragExit, DragOver, KeyEvents, KeyFinished, KeyPressed, KeyReleased, KeyTyped, MouseClicked, MouseDragged, MouseEntered, MouseEvents, MouseExited, MouseFinished, MouseMoved, MousePressed, MouseReleased
-
-
Constructor Summary
Constructors Constructor Description RMCrossTabTool()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
addCrossTab(RMEditor anEditor)
Adds a crosstab to the given editor with the given list key.static void
addCrossTab(RMEditor anEditor, java.lang.String aKeyPath)
Adds a crosstab to the given editor with the given list key.static void
addCrossTab(RMEditor anEditor, java.lang.String aKeyPath, RMPoint anchorPoint, RMSize tableSize)
static RMShape
addSimpleCrossTab(RMEditor anEditor, java.lang.String aKeyPath, RMPoint anchor, RMSize size)
RMCrossTabCell
getCell()
Returns the selected cell.java.awt.Rectangle
getCellRect(RMCrossTab aCTab, java.awt.geom.Rectangle2D aRect)
Returns the cell rect for the given rectangle2d.int
getHandleCount(T aShape)
Returns the number of handles for this shape.java.awt.Cursor
getHandleCursor(T aShape, int aHandle)
Returns the cursor for given handle.RMPoint
getHandlePoint(T aShape, int aHandle, boolean isSuperSelected)
Editor method.java.lang.Class
getShapeClass()
Returns the shape class this tool edits (RMTable).RMCrossTab
getTable()
Returns the selected table.java.lang.String
getWindowTitle()
Returns the display name for this tool ("Table Inspector").boolean
isSuperSelectable(RMShape aShape)
Overridden to make crosstab super-selectable.boolean
isUngroupable(RMShape aShape)
Overridden to make crosstab ungroupable.void
mouseDragged(T aCTab, java.awt.event.MouseEvent anEvent)
Handle CrossTab mouse dragged.void
mouseMoved(T aCTab, java.awt.event.MouseEvent anEvent)
Event handling - overridden to set a custom cursor.void
mousePressed(T aCTab, java.awt.event.MouseEvent anEvent)
Handles Shape MousePressed.void
mouseReleased(T aCTab, java.awt.event.MouseEvent anEvent)
Handle crosstab mouse released.void
moveShapeHandle(T aShape, int aHandle, RMPoint aPoint)
Editor method.void
paintShapeHandles(T aShape, java.awt.Graphics2D g, boolean isSuperSelected)
Highlights the selected cells or dividers.void
processKeyEvent(T aCTab, java.awt.event.KeyEvent anEvent)
Key event handler for crosstab editing.void
resetUI()
Resets the Swing UI from current selected crosstab.void
respondUI(SwingEvent anEvent)
Updates currently selected crosstab from Swing UI.void
runContextMenu(java.awt.event.MouseEvent anEvent)
Runs a context menu for the given event.-
Methods inherited from class com.inductiveautomation.rm.tool.RMTool
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, getHandleOpposing, getHandleRect, getIcon, getIcon, getPointsFromUnits, getSelectedShape, getSelectedShapes, getSelectTool, getShapeFillInspector, getShapeHandleAtPoint, getTool, getTool, getToolTipText, getUnitsFromPoints, isSelected, isSuperSelected, mouseDragged, mouseMoved, mousePressed, mousePressedSelection, mouseReleased, newInstance, paintTool, reactivateTool, setFont, setFontBold, setFontBoldDeep, setFontFamily, setFontFamilyDeep, setFontItalic, setFontItalicDeep, setFontName, setFontNameDeep, setFontSize, setFontSizeDeep, willLoseSuperSelectionInEditor
-
Methods inherited from class com.inductiveautomation.snap.swing.SwingOwner
addKeyActionEvent, createTimer, createUI, createWindow, getNode, getNode, getNodeHelper, getTimer, getTimer, getUI, getWindow, isEventThread, isWindowVisible, requestFocus, requestFocusImpl, runLater, sendEvent, setWindowVisible
-
Methods inherited from class com.inductiveautomation.snap.ui.UIOwner
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, runLaterDelayed, runLaterOnce, sendEvent, sendNodeAction, setBindingModelValue, setBindingNodeValue, setFirstFocus, setModelValue, setNodeAction, setNodeEnabled, setNodeItemDisplayKey, setNodeItems, setNodeItems, setNodeSelectedIndex, setNodeSelectedItem, setNodeText, setNodeValue, setSendEventDisabled
-
-
-
-
Method Detail
-
resetUI
public void resetUI()
Resets the Swing UI from current selected crosstab.- Overrides:
resetUI
in classUIOwner<SwingEvent,javax.swing.JComponent>
-
respondUI
public void respondUI(SwingEvent anEvent)
Updates currently selected crosstab from Swing UI.- Overrides:
respondUI
in classUIOwner<SwingEvent,javax.swing.JComponent>
-
mouseMoved
public void mouseMoved(T aCTab, java.awt.event.MouseEvent anEvent)
Event handling - overridden to set a custom cursor.- Overrides:
mouseMoved
in classRMTool<T extends RMCrossTab>
-
mousePressed
public void mousePressed(T aCTab, java.awt.event.MouseEvent anEvent)
Handles Shape MousePressed.- Overrides:
mousePressed
in classRMTool<T extends RMCrossTab>
-
mouseDragged
public void mouseDragged(T aCTab, java.awt.event.MouseEvent anEvent)
Handle CrossTab mouse dragged.- Overrides:
mouseDragged
in classRMTool<T extends RMCrossTab>
-
mouseReleased
public void mouseReleased(T aCTab, java.awt.event.MouseEvent anEvent)
Handle crosstab mouse released.- Overrides:
mouseReleased
in classRMTool<T extends RMCrossTab>
-
processKeyEvent
public void processKeyEvent(T aCTab, java.awt.event.KeyEvent anEvent)
Key event handler for crosstab editing.- Overrides:
processKeyEvent
in classRMTool<T extends RMCrossTab>
-
runContextMenu
public void runContextMenu(java.awt.event.MouseEvent anEvent)
Runs a context menu for the given event.
-
paintShapeHandles
public void paintShapeHandles(T aShape, java.awt.Graphics2D g, boolean isSuperSelected)
Highlights the selected cells or dividers.- Overrides:
paintShapeHandles
in classRMTool<T extends RMCrossTab>
-
getTable
public RMCrossTab getTable()
Returns the selected table.
-
getCell
public RMCrossTabCell getCell()
Returns the selected cell.
-
getCellRect
public java.awt.Rectangle getCellRect(RMCrossTab aCTab, java.awt.geom.Rectangle2D aRect)
Returns the cell rect for the given rectangle2d.
-
getShapeClass
public java.lang.Class getShapeClass()
Returns the shape class this tool edits (RMTable).- Overrides:
getShapeClass
in classRMTool<T extends RMCrossTab>
-
getWindowTitle
public java.lang.String getWindowTitle()
Returns the display name for this tool ("Table Inspector").- Overrides:
getWindowTitle
in classRMTool<T extends RMCrossTab>
-
isSuperSelectable
public boolean isSuperSelectable(RMShape aShape)
Overridden to make crosstab super-selectable.- Overrides:
isSuperSelectable
in classRMTool<T extends RMCrossTab>
-
isUngroupable
public boolean isUngroupable(RMShape aShape)
Overridden to make crosstab ungroupable.- Overrides:
isUngroupable
in classRMTool<T extends RMCrossTab>
-
getHandleCount
public int getHandleCount(T aShape)
Returns the number of handles for this shape.- Overrides:
getHandleCount
in classRMTool<T extends RMCrossTab>
-
getHandlePoint
public RMPoint getHandlePoint(T aShape, int aHandle, boolean isSuperSelected)
Editor method.- Overrides:
getHandlePoint
in classRMTool<T extends RMCrossTab>
-
getHandleCursor
public java.awt.Cursor getHandleCursor(T aShape, int aHandle)
Returns the cursor for given handle.- Overrides:
getHandleCursor
in classRMTool<T extends RMCrossTab>
-
moveShapeHandle
public void moveShapeHandle(T aShape, int aHandle, RMPoint aPoint)
Editor method.- Overrides:
moveShapeHandle
in classRMTool<T extends RMCrossTab>
-
addCrossTab
public static void addCrossTab(RMEditor anEditor, java.lang.String aKeyPath)
Adds a crosstab to the given editor with the given list key.
-
addCrossTab
public static void addCrossTab(RMEditor anEditor)
Adds a crosstab to the given editor with the given list key.
-
addCrossTab
public static void addCrossTab(RMEditor anEditor, java.lang.String aKeyPath, RMPoint anchorPoint, RMSize tableSize)
-
-