Package com.inductiveautomation.rm.tool
Class RMTableTool<T extends RMTable>
- 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.RMParentShapeTool<T>
-
- com.inductiveautomation.rm.tool.RMTableTool<T>
-
- All Implemented Interfaces:
RMSortPanel.Owner
public class RMTableTool<T extends RMTable> extends RMParentShapeTool<T> implements RMSortPanel.Owner
This class provides Swing UI editing for Tables.
-
-
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 RMTableTool()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addGroupingKey(java.lang.String aKey)
Adds a grouping key to the currently selected table.static void
addTable(RMEditor anEditor, java.lang.String aKeyPath)
Adds a new table to the given editor with the given dataset key.static RMShape
addTable(RMEditor anEditor, java.lang.String aKeyPath, RMPoint anchorPoint, RMSize tableSize)
RMGrouping
getGrouping()
Returns the selected grouping for this table.javax.swing.JPopupMenu
getGroupingTablePopupMenu()
Returns the popup menu for the grouping table.int
getHandleCount(T aShape)
Overrides shape implementation to declare no handles when the child of a table group.double
getResizeBarPopupX(RMTableRow aTableRow)
Returns the x location of the given resize bar popup.java.lang.Class
getShapeClass()
Returns the shape class this tool edits (RMTable).RMTable
getTable()
Returns the selected table.java.lang.String
getWindowTitle()
Returns the display name for this tool ("Table Inspector").protected void
initUI()
Initialize UI panel.boolean
isSuperSelectable(RMShape aShape)
Overridden to make table super-selectable.boolean
isUngroupable(RMShape aShape)
Overridden to make table not ungroupable.void
mouseDragged(T aTable, java.awt.event.MouseEvent anEvent)
Event handling for table editing.void
mouseMoved(T aTable, java.awt.event.MouseEvent anEvent)
MouseMoved implementation to update cursor for resize bars.void
mousePressed(T aTable, java.awt.event.MouseEvent anEvent)
Event handling for table editing.void
mouseReleased(T aTable, java.awt.event.MouseEvent anEvent)
Event handling for table editing.void
resetUI()
Updates UI panel from currently tablevoid
respondUI(SwingEvent anEvent)
Updates currently selected table from UI panel.void
runMenuForShape(RMShape aShape, int x, int y)
Opens a popup menu specific for table row divider under mouse.-
Methods inherited from class com.inductiveautomation.rm.tool.RMParentShapeTool
dropString
-
Methods inherited from class com.inductiveautomation.rm.tool.RMTool
acceptsDrag, activateTool, attachEventBus, createUI, deactivateTool, didBecomeSuperSelectedShapeInEditor, dragEnter, dragExit, dragOver, drop, dropClass, dropColor, dropDragKey, dropFiles, flavorForClass, flushChanges, getAcceptsChildren, getBoundsSuperSelected, getDatasetEntity, getDragDisplayBounds, getEditor, getEditorPane, getFont, getFontDeep, getGalleryClone, getHandleAtPoint, getHandleCursor, getHandleOpposing, getHandlePoint, getHandleRect, getIcon, getIcon, getPointsFromUnits, getSelectedShape, getSelectedShapes, getSelectTool, getShapeFillInspector, getShapeHandleAtPoint, getTool, getTool, getToolTipText, getUnitsFromPoints, isSelected, isSuperSelected, mouseDragged, mouseMoved, mousePressed, mousePressedSelection, mouseReleased, moveShapeHandle, newInstance, paintShapeHandles, paintTool, processKeyEvent, 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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.rm.tool.RMSortPanel.Owner
getSelectedShape
-
-
-
-
Method Detail
-
initUI
protected void initUI()
Initialize UI panel.- Overrides:
initUI
in classUIOwner<SwingEvent,javax.swing.JComponent>
-
resetUI
public void resetUI()
Updates UI panel from currently table- Overrides:
resetUI
in classUIOwner<SwingEvent,javax.swing.JComponent>
-
respondUI
public void respondUI(SwingEvent anEvent)
Updates currently selected table from UI panel.- Specified by:
respondUI
in interfaceRMSortPanel.Owner
- Overrides:
respondUI
in classUIOwner<SwingEvent,javax.swing.JComponent>
-
getTable
public RMTable getTable()
Returns the selected table.
-
getGrouping
public RMGrouping getGrouping()
Returns the selected grouping for this table.- Specified by:
getGrouping
in interfaceRMSortPanel.Owner
-
getShapeClass
public java.lang.Class getShapeClass()
Returns the shape class this tool edits (RMTable).- Overrides:
getShapeClass
in classRMParentShapeTool<T extends RMTable>
-
getWindowTitle
public java.lang.String getWindowTitle()
Returns the display name for this tool ("Table Inspector").- Overrides:
getWindowTitle
in classRMParentShapeTool<T extends RMTable>
-
isSuperSelectable
public boolean isSuperSelectable(RMShape aShape)
Overridden to make table super-selectable.- Overrides:
isSuperSelectable
in classRMTool<T extends RMTable>
-
isUngroupable
public boolean isUngroupable(RMShape aShape)
Overridden to make table not ungroupable.- Overrides:
isUngroupable
in classRMTool<T extends RMTable>
-
getGroupingTablePopupMenu
public javax.swing.JPopupMenu getGroupingTablePopupMenu()
Returns the popup menu for the grouping table.
-
addGroupingKey
public void addGroupingKey(java.lang.String aKey)
Adds a grouping key to the currently selected table.
-
addTable
public static RMShape addTable(RMEditor anEditor, java.lang.String aKeyPath, RMPoint anchorPoint, RMSize tableSize)
-
addTable
public static void addTable(@Nonnull RMEditor anEditor, @Nullable java.lang.String aKeyPath)
Adds a new table to the given editor with the given dataset key.
-
mouseMoved
public void mouseMoved(T aTable, java.awt.event.MouseEvent anEvent)
MouseMoved implementation to update cursor for resize bars.- Overrides:
mouseMoved
in classRMTool<T extends RMTable>
-
mousePressed
public void mousePressed(T aTable, java.awt.event.MouseEvent anEvent)
Event handling for table editing.- Overrides:
mousePressed
in classRMTool<T extends RMTable>
-
getResizeBarPopupX
public double getResizeBarPopupX(RMTableRow aTableRow)
Returns the x location of the given resize bar popup.
-
mouseDragged
public void mouseDragged(T aTable, java.awt.event.MouseEvent anEvent)
Event handling for table editing.- Overrides:
mouseDragged
in classRMTool<T extends RMTable>
-
mouseReleased
public void mouseReleased(T aTable, java.awt.event.MouseEvent anEvent)
Event handling for table editing.- Overrides:
mouseReleased
in classRMTool<T extends RMTable>
-
runMenuForShape
public void runMenuForShape(RMShape aShape, int x, int y)
Opens a popup menu specific for table row divider under mouse.
-
getHandleCount
public int getHandleCount(T aShape)
Overrides shape implementation to declare no handles when the child of a table group.- Overrides:
getHandleCount
in classRMTool<T extends RMTable>
-
-