Package com.reportmill.panels
Class TableTool
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.panels.Tool
-
- com.reportmill.panels.TableTool
-
- All Implemented Interfaces:
RMArchiver.Archiving
,java.lang.Cloneable
public class TableTool extends Tool
This class provides Swing UI editing for Tables.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TableTool.TTCellRenderer
A DefaultTableCellRenderer subclass to add tool tips.static class
TableTool.TTTable
A JTable subclass to make table as big as scrollpane for drag and drop.-
Nested classes/interfaces inherited from class com.reportmill.panels.Tool
Tool.RMShapeHandle
-
-
Field Summary
Fields Modifier and Type Field Description static javax.swing.Icon
NoPageBreakIcon
static javax.swing.Icon
PageBreakIcon
static javax.swing.Icon
SortAscIcon
static javax.swing.Icon
SortDescIcon
-
Fields inherited from class com.reportmill.panels.Tool
HandleMaxXMaxY, HandleMaxXMidY, HandleMaxXMinY, HandleMidXMaxY, HandleMidXMinY, HandleMinXMaxY, HandleMinXMidY, HandleMinXMinY, HandleWidth
-
-
Constructor Summary
Constructors Constructor Description TableTool()
-
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.void
addSortingKey(java.lang.String aKey)
Adds a sorting 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 list key.int
getHandleCount(RMShape aShape)
Overrides shape implementation to declare no handles when the child of a table group.RMGrouping
getSelectedGrouping()
Returns the selected grouping for this table.RMSort
getSelectedSort()
Returns the selected sort for this table.RMTable
getSelectedTable()
Returns the selected table.java.lang.Class
getShapeClass()
Returns the shape class this tool edits (RMTable).RJPanel
getUI()
Returns the Swing UI panel for this tool.java.lang.String
getWindowTitle()
Returns the display name for this tool ("Table Inspector").void
mouseDragged(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for splitshape editing.void
mouseMoved(RMShape aShape, java.awt.event.MouseEvent anEvent)
MouseMoved implementation to update cursor for resize bars.void
mousePressed(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for table editing.void
mouseReleased(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for splitshape editing.void
moveGrouping(int index1, int index2)
Moves a grouping from the first given index to the second given index.void
moveSort(int index1, int index2)
Moves a sort from the first given index to the second given index.void
resetUI()
Updates Swing UI panel from currently selected tablevoid
respondUI(java.lang.Object anObj)
Updates currently selected table from Swing UI panel.void
runMenuForShape(RMShape aShape, int x, int y)
Opens a popup menu specific for table row divider under mouse.void
takeValueFromDrop(java.lang.Object anObj, RJAction anAction)
Handles drag and drop on grouping or sort tables.-
Methods inherited from class com.reportmill.panels.Tool
activateTool, deactivateTool, didBecomeSuperSelectedShapeInEditor, editor, flushChanges, getCoreTool, getCoreToolIndex, getHandleAtPoint, getHandlePoint, getHandleRect, getImageIcon, getImageIcon, getSelectedShape, getSelectedShapes, getSelectTool, getShapeHandleAtPoint, getTool, getTool, isInstance, isSelected, isSuperSelected, mouseDragged, mouseMoved, mousePressed, mousePressedSelection, mouseReleased, moveShapeHandle, newInstance, paintSelectedShape, paintSuperSelectedShape, paintTool, processKeyEvent, reactivateTool, willLoseSuperSelectionInEditor
-
Methods inherited from class com.reportmill.base.RMObject
clone, copy, didChange, didUndo, getAnimAttribute, getClassNameShort, initWithArchiver, undoClone, undoCopy, undoEquals
-
-
-
-
Method Detail
-
getSelectedTable
public RMTable getSelectedTable()
Returns the selected table.
-
getSelectedGrouping
public RMGrouping getSelectedGrouping()
Returns the selected grouping for this table.
-
getSelectedSort
public RMSort getSelectedSort()
Returns the selected sort for this table.
-
getUI
public RJPanel getUI()
Returns the Swing UI panel for this tool.
-
resetUI
public void resetUI()
Updates Swing UI panel from currently selected table
-
respondUI
public void respondUI(java.lang.Object anObj)
Updates currently selected table from Swing UI panel.
-
takeValueFromDrop
public void takeValueFromDrop(java.lang.Object anObj, RJAction anAction)
Handles drag and drop on grouping or sort tables.
-
getShapeClass
public java.lang.Class getShapeClass()
Returns the shape class this tool edits (RMTable).- Overrides:
getShapeClass
in classTool
-
getWindowTitle
public java.lang.String getWindowTitle()
Returns the display name for this tool ("Table Inspector").- Overrides:
getWindowTitle
in classTool
-
addGroupingKey
public void addGroupingKey(java.lang.String aKey)
Adds a grouping key to the currently selected table.
-
addSortingKey
public void addSortingKey(java.lang.String aKey)
Adds a sorting key to the currently selected table.
-
moveGrouping
public void moveGrouping(int index1, int index2)
Moves a grouping from the first given index to the second given index.
-
moveSort
public void moveSort(int index1, int index2)
Moves a sort from the first given index to the second given index.
-
addTable
public static void addTable(RMEditor anEditor, java.lang.String aKeyPath)
Adds a new table to the given editor with the given list key.
-
mouseMoved
public void mouseMoved(RMShape aShape, java.awt.event.MouseEvent anEvent)
MouseMoved implementation to update cursor for resize bars.- Overrides:
mouseMoved
in classTool
-
mousePressed
public void mousePressed(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for table editing.- Overrides:
mousePressed
in classTool
-
mouseDragged
public void mouseDragged(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for splitshape editing.- Overrides:
mouseDragged
in classTool
-
mouseReleased
public void mouseReleased(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for splitshape editing.- Overrides:
mouseReleased
in classTool
-
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(RMShape aShape)
Overrides shape implementation to declare no handles when the child of a table group.- Overrides:
getHandleCount
in classTool
-
-