Class RMTableTool<T extends RMTable>

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.
  • Constructor Details

    • RMTableTool

      public RMTableTool()
  • Method Details

    • initUI

      protected void initUI()
      Initialize UI panel.
      Overrides:
      initUI in class UIOwner<SwingEvent,JComponent>
    • resetUI

      public void resetUI()
      Updates UI panel from currently table
      Overrides:
      resetUI in class UIOwner<SwingEvent,JComponent>
    • respondUI

      public void respondUI(SwingEvent anEvent)
      Updates currently selected table from UI panel.
      Specified by:
      respondUI in interface RMSortPanel.Owner
      Overrides:
      respondUI in class UIOwner<SwingEvent,JComponent>
    • getTable

      public RMTable getTable()
      Returns the selected table.
    • getGrouping

      public RMGrouping getGrouping()
      Returns the selected grouping for this table.
      Specified by:
      getGrouping in interface RMSortPanel.Owner
    • getShapeClass

      public Class getShapeClass()
      Returns the shape class this tool edits (RMTable).
      Overrides:
      getShapeClass in class RMParentShapeTool<T extends RMTable>
    • getWindowTitle

      public String getWindowTitle()
      Returns the display name for this tool ("Table Inspector").
      Overrides:
      getWindowTitle in class RMParentShapeTool<T extends RMTable>
    • isSuperSelectable

      public boolean isSuperSelectable(RMShape aShape)
      Overridden to make table super-selectable.
      Overrides:
      isSuperSelectable in class RMTool<T extends RMTable>
    • isUngroupable

      public boolean isUngroupable(RMShape aShape)
      Overridden to make table not ungroupable.
      Overrides:
      isUngroupable in class RMTool<T extends RMTable>
    • getGroupingTablePopupMenu

      public JPopupMenu getGroupingTablePopupMenu()
      Returns the popup menu for the grouping table.
    • addGroupingKey

      public void addGroupingKey(String aKey)
      Adds a grouping key to the currently selected table.
    • addTable

      public static RMShape addTable(RMEditor anEditor, String aKeyPath, RMPoint anchorPoint, RMSize tableSize)
    • addTable

      public static void addTable(@Nonnull RMEditor anEditor, @Nullable String aKeyPath)
      Adds a new table to the given editor with the given dataset key.
    • mouseMoved

      public void mouseMoved(T aTable, MouseEvent anEvent)
      MouseMoved implementation to update cursor for resize bars.
      Overrides:
      mouseMoved in class RMTool<T extends RMTable>
    • mousePressed

      public void mousePressed(T aTable, MouseEvent anEvent)
      Event handling for table editing.
      Overrides:
      mousePressed in class RMTool<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, MouseEvent anEvent)
      Event handling for table editing.
      Overrides:
      mouseDragged in class RMTool<T extends RMTable>
    • mouseReleased

      public void mouseReleased(T aTable, MouseEvent anEvent)
      Event handling for table editing.
      Overrides:
      mouseReleased in class RMTool<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 class RMTool<T extends RMTable>