Package com.reportmill.panels
Class TextTool
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.panels.Tool
-
- com.reportmill.panels.TextTool
-
- All Implemented Interfaces:
RMArchiver.Archiving
,java.lang.Cloneable
- Direct Known Subclasses:
CellTool
,RBTextTool
public class TextTool extends Tool
This class provides Swing GUI editing for text shapes.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.reportmill.panels.Tool
Tool.RMShapeHandle
-
-
Field Summary
-
Fields inherited from class com.reportmill.panels.Tool
HandleMaxXMaxY, HandleMaxXMidY, HandleMaxXMinY, HandleMidXMaxY, HandleMidXMinY, HandleMinXMaxY, HandleMinXMidY, HandleMinXMinY, HandleWidth
-
-
Constructor Summary
Constructors Constructor Description TextTool()
Creates a new text tool.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activateTool()
Overrides standard tool method to deselect any currently editing text.static void
convertToText(RMShape aShape, java.lang.String aString)
Converts a shape to a text shape.void
didBecomeSuperSelectedShapeInEditor(RMShape aShape, RMEditor anEditor)
Editor method - installs this text in RMEditor's text editor.void
flushChanges(RMEditor anEditor, RMShape aShape)
Editor method - resets text's cached height-to-fit value.int
getHandleCount(RMShape aShape)
Editor method - returns handle count.RMRect
getHandleRect(RMShape aShape, int handle, boolean isSuperSelected)
Editor method - returns handle rect in editor coords.java.lang.Class
getShapeClass()
Returns the shape class that this tool edits.RJPanel
getUI()
Returns the Swing UI panel for this tool.java.lang.String
getWindowTitle()
Returns the name of this tool to be displayed by inspector.boolean
isInstance(java.lang.Object anObj)
Returns whether the given object can be edited by this tool.void
mouseDragged(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for shape editing (just forwards to text editor).void
mouseDragged(java.awt.event.MouseEvent anEvent)
Handles mouse dragged for tool.void
mouseMoved(java.awt.event.MouseEvent anEvent)
Event handling - overridden to install text cursor.void
mousePressed(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for shape editing (just forwards to text editor).void
mousePressed(java.awt.event.MouseEvent anEvent)
Handles mouse pressed for text tool.boolean
mousePressedSelection(java.awt.event.MouseEvent anEvent)
Event hook during selection.void
mouseReleased(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for shape editing (just forwards to text editor).void
mouseReleased(java.awt.event.MouseEvent e)
Event handling for text tool mouse loop.void
paintSelectedShape(RMShape aShape, java.awt.Graphics2D g)
Paints selected shape indicator, like handles (and maybe a text linking indicator).void
paintSuperSelectedShape(RMShape aShape, java.awt.Graphics2D g)
Paints super selected shape indicators, like handles.void
paintTextLinkIndicator(RMText text, java.awt.Graphics2D g)
Paints the text link indicator.void
resetUI()
Refreshes Swing UI controls from currently selected text shape.void
respondUI(java.lang.Object anObj)
Handles changes from Swing UI panel controls.void
willLoseSuperSelectionInEditor(RMShape aShape, RMEditor anEditor)
Editor method - unistalls this text from RMEditor's text editor and removes new text if empty.-
Methods inherited from class com.reportmill.panels.Tool
deactivateTool, editor, getCoreTool, getCoreToolIndex, getHandleAtPoint, getHandlePoint, getImageIcon, getImageIcon, getSelectedShape, getSelectedShapes, getSelectTool, getShapeHandleAtPoint, getTool, getTool, isSelected, isSuperSelected, mouseMoved, moveShapeHandle, newInstance, paintTool, processKeyEvent, reactivateTool
-
Methods inherited from class com.reportmill.base.RMObject
clone, copy, didChange, didUndo, getAnimAttribute, getClassNameShort, initWithArchiver, undoClone, undoCopy, undoEquals
-
-
-
-
Method Detail
-
getUI
public RJPanel getUI()
Returns the Swing UI panel for this tool.
-
resetUI
public void resetUI()
Refreshes Swing UI controls from currently selected text shape.
-
respondUI
public void respondUI(java.lang.Object anObj)
Handles changes from Swing UI panel controls.
-
activateTool
public void activateTool()
Overrides standard tool method to deselect any currently editing text.- Overrides:
activateTool
in classTool
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent anEvent)
Event handling - overridden to install text cursor.- Overrides:
mouseMoved
in classTool
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent anEvent)
Handles mouse pressed for text tool. Special support to super select any text hit by tool mouse pressed.- Overrides:
mousePressed
in classTool
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent anEvent)
Handles mouse dragged for tool. If user doesn't really drag, then default text box should align the base line of the text about the pressed point. If they do really drag, then text box should be the rect they drag out.- Overrides:
mouseDragged
in classTool
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
Event handling for text tool mouse loop.- Overrides:
mouseReleased
in classTool
-
mousePressed
public void mousePressed(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for shape editing (just forwards to text editor).- Overrides:
mousePressed
in classTool
-
mouseDragged
public void mouseDragged(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for shape editing (just forwards to text editor).- Overrides:
mouseDragged
in classTool
-
mouseReleased
public void mouseReleased(RMShape aShape, java.awt.event.MouseEvent anEvent)
Event handling for shape editing (just forwards to text editor).- Overrides:
mouseReleased
in classTool
-
didBecomeSuperSelectedShapeInEditor
public void didBecomeSuperSelectedShapeInEditor(RMShape aShape, RMEditor anEditor)
Editor method - installs this text in RMEditor's text editor.- Overrides:
didBecomeSuperSelectedShapeInEditor
in classTool
-
mousePressedSelection
public boolean mousePressedSelection(java.awt.event.MouseEvent anEvent)
Event hook during selection.- Overrides:
mousePressedSelection
in classTool
-
paintSelectedShape
public void paintSelectedShape(RMShape aShape, java.awt.Graphics2D g)
Paints selected shape indicator, like handles (and maybe a text linking indicator).- Overrides:
paintSelectedShape
in classTool
-
paintSuperSelectedShape
public void paintSuperSelectedShape(RMShape aShape, java.awt.Graphics2D g)
Paints super selected shape indicators, like handles.- Overrides:
paintSuperSelectedShape
in classTool
-
paintTextLinkIndicator
public void paintTextLinkIndicator(RMText text, java.awt.Graphics2D g)
Paints the text link indicator.
-
getHandleCount
public int getHandleCount(RMShape aShape)
Editor method - returns handle count.- Overrides:
getHandleCount
in classTool
-
getHandleRect
public RMRect getHandleRect(RMShape aShape, int handle, boolean isSuperSelected)
Editor method - returns handle rect in editor coords.- Overrides:
getHandleRect
in classTool
-
willLoseSuperSelectionInEditor
public void willLoseSuperSelectionInEditor(RMShape aShape, RMEditor anEditor)
Editor method - unistalls this text from RMEditor's text editor and removes new text if empty.- Overrides:
willLoseSuperSelectionInEditor
in classTool
-
flushChanges
public void flushChanges(RMEditor anEditor, RMShape aShape)
Editor method - resets text's cached height-to-fit value.- Overrides:
flushChanges
in classTool
-
getShapeClass
public java.lang.Class getShapeClass()
Returns the shape class that this tool edits.- Overrides:
getShapeClass
in classTool
-
isInstance
public boolean isInstance(java.lang.Object anObj)
Returns whether the given object can be edited by this tool.- Overrides:
isInstance
in classTool
-
getWindowTitle
public java.lang.String getWindowTitle()
Returns the name of this tool to be displayed by inspector.- Overrides:
getWindowTitle
in classTool
-
convertToText
public static void convertToText(RMShape aShape, java.lang.String aString)
Converts a shape to a text shape.
-
-