Class AbstractRenderComponent
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.pentaho.reporting.designer.core.editor.report.AbstractRenderComponent
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,CellEditorListener
,ReportElementEditorContext
- Direct Known Subclasses:
CrosstabRenderComponent
,RootBandRenderComponent
public abstract class AbstractRenderComponent extends JComponent implements ReportElementEditorContext, CellEditorListener
Base class to handle rendering & dnd events of elements rendered inside sub-reports- Author:
- Thomas Morgner
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractRenderComponent.AsyncChangeNotifier
protected class
AbstractRenderComponent.CellEditorRemover
protected class
AbstractRenderComponent.KeyboardElementMoveHandler
protected class
AbstractRenderComponent.MouseEditorActionHandler
When you double-click on an element, you can edit it inside the canvas editor area.protected class
AbstractRenderComponent.MouseSelectionHandler
protected static class
AbstractRenderComponent.RepaintHandler
protected class
AbstractRenderComponent.RequestFocusHandler
protected class
AbstractRenderComponent.RootBandChangeHandler
protected class
AbstractRenderComponent.SelectionModelListener
protected class
AbstractRenderComponent.SelectionRectangleOverlayRenderer
protected class
AbstractRenderComponent.SettingsUpdateHandler
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRenderComponent(ReportDesignerContext designerContext, ReportDocumentContext renderContext)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
dispose()
void
editingCanceled(ChangeEvent e)
void
editingStopped(ChangeEvent e)
protected org.pentaho.reporting.engine.classic.core.Element[]
filterLocalElements(org.pentaho.reporting.engine.classic.core.Element[] originalElements)
protected org.pentaho.reporting.engine.classic.core.RootLevelBand
findRootBandForPosition(Point2D point)
protected void
finishDragOperation()
protected ReportElementInlineEditor
getCellEditor()
abstract org.pentaho.reporting.engine.classic.core.Element
getDefaultElement()
Abstract method to return the default elementReportDesignerContext
getDesignerContext()
org.pentaho.reporting.engine.classic.core.Element
getElementForLocation(Point2D point, boolean onlySelected)
protected abstract ElementRenderer
getElementRenderer()
Abstract method to retrieve the element rendererint
getGridDivisions()
double
getGridSize()
protected BreakPositionsList
getHorizontalEdgePositions()
Returns the break positions for inner-band drag-operations (snap to element).LinealModel
getHorizontalLinealModel()
HorizontalPositionsModel
getHorizontalPositionsModel()
protected double
getLeftBorder()
Dimension
getMinimumSize()
protected Point2D
getOffset()
Dimension
getPreferredSize()
ReportDocumentContext
getRenderContext()
JComponent
getRepresentationContainer()
org.pentaho.reporting.engine.classic.core.Band
getRootBand()
protected double
getTopBorder()
protected BreakPositionsList
getVerticalEdgePositions()
Returns the break positions for inner-band drag-operations (snap to element).LinealModel
getVerticalLinealModel()
protected void
initializeDragOperation(Point2D originPoint, SelectionOverlayInformation.InRangeIndicator currentIndicator)
protected boolean
installEditor(ReportElementInlineEditor inlineEditor, org.pentaho.reporting.engine.classic.core.Element element)
protected void
installLineals(LinealModel horizontalLinealModel, HorizontalPositionsModel horizontalPositionsModel)
protected void
installMouseOperationHandler()
protected boolean
isEditing()
protected boolean
isFocused()
protected abstract boolean
isLocalElement(org.pentaho.reporting.engine.classic.core.ReportElement e)
protected boolean
isMouseOperationInProgress()
protected boolean
isMouseOperationPossible()
boolean
isShowLeftBorder()
boolean
isShowTopBorder()
boolean
isTerminateEditOnFocusLost()
Point2D
normalize(Point2D e)
protected void
paintComponent(Graphics g)
protected void
paintElementAlignment(Graphics2D g2d)
protected void
paintGrid(Graphics2D g2d)
protected void
paintSelectionRectangle(Graphics2D g2)
protected void
removeEditor()
void
removeNotify()
void
repaintConditionally()
protected void
setFocused(boolean focused)
void
setShowLeftBorder(boolean showLeftBorder)
void
setShowTopBorder(boolean showTopBorder)
void
setTerminateEditOnFocusLost(boolean terminateEditOnFocusLost)
protected boolean
stopCellEditing()
protected void
updateCursorForIndicator()
protected void
updateElements(Point2D normalizedPoint, boolean snapToGrid, boolean snapToElements)
protected void
updateGridSettings()
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
AbstractRenderComponent
protected AbstractRenderComponent(ReportDesignerContext designerContext, ReportDocumentContext renderContext)
-
-
Method Detail
-
getElementRenderer
protected abstract ElementRenderer getElementRenderer()
Abstract method to retrieve the element renderer- Returns:
- ElementRenderer
-
getDefaultElement
public abstract org.pentaho.reporting.engine.classic.core.Element getDefaultElement()
Abstract method to return the default element- Specified by:
getDefaultElement
in interfaceReportElementEditorContext
- Returns:
- Element
-
getRootBand
public org.pentaho.reporting.engine.classic.core.Band getRootBand()
-
isTerminateEditOnFocusLost
public boolean isTerminateEditOnFocusLost()
-
setTerminateEditOnFocusLost
public void setTerminateEditOnFocusLost(boolean terminateEditOnFocusLost)
-
isLocalElement
protected abstract boolean isLocalElement(org.pentaho.reporting.engine.classic.core.ReportElement e)
-
installMouseOperationHandler
protected void installMouseOperationHandler()
-
isFocused
protected boolean isFocused()
-
setFocused
protected void setFocused(boolean focused)
-
isShowLeftBorder
public boolean isShowLeftBorder()
-
setShowLeftBorder
public void setShowLeftBorder(boolean showLeftBorder)
-
isShowTopBorder
public boolean isShowTopBorder()
-
setShowTopBorder
public void setShowTopBorder(boolean showTopBorder)
-
getLeftBorder
protected double getLeftBorder()
-
getTopBorder
protected double getTopBorder()
-
normalize
public Point2D normalize(Point2D e)
- Specified by:
normalize
in interfaceReportElementEditorContext
-
getOffset
protected Point2D getOffset()
-
getRenderContext
public ReportDocumentContext getRenderContext()
- Specified by:
getRenderContext
in interfaceReportElementEditorContext
-
getDesignerContext
public ReportDesignerContext getDesignerContext()
- Specified by:
getDesignerContext
in interfaceReportElementEditorContext
-
paintComponent
protected void paintComponent(Graphics g)
- Overrides:
paintComponent
in classJComponent
-
paintSelectionRectangle
protected void paintSelectionRectangle(Graphics2D g2)
-
paintGrid
protected void paintGrid(Graphics2D g2d)
-
paintElementAlignment
protected void paintElementAlignment(Graphics2D g2d)
-
updateGridSettings
protected void updateGridSettings()
-
getGridSize
public double getGridSize()
-
getGridDivisions
public int getGridDivisions()
-
getElementForLocation
public org.pentaho.reporting.engine.classic.core.Element getElementForLocation(Point2D point, boolean onlySelected)
- Specified by:
getElementForLocation
in interfaceReportElementEditorContext
-
findRootBandForPosition
protected org.pentaho.reporting.engine.classic.core.RootLevelBand findRootBandForPosition(Point2D point)
-
dispose
public void dispose()
-
removeEditor
protected void removeEditor()
-
getCellEditor
protected ReportElementInlineEditor getCellEditor()
-
installEditor
protected boolean installEditor(ReportElementInlineEditor inlineEditor, org.pentaho.reporting.engine.classic.core.Element element)
-
isEditing
protected boolean isEditing()
-
editingStopped
public void editingStopped(ChangeEvent e)
- Specified by:
editingStopped
in interfaceCellEditorListener
-
editingCanceled
public void editingCanceled(ChangeEvent e)
- Specified by:
editingCanceled
in interfaceCellEditorListener
-
getRepresentationContainer
public JComponent getRepresentationContainer()
- Specified by:
getRepresentationContainer
in interfaceReportElementEditorContext
-
getVerticalLinealModel
public LinealModel getVerticalLinealModel()
-
getHorizontalLinealModel
public LinealModel getHorizontalLinealModel()
-
getHorizontalPositionsModel
public HorizontalPositionsModel getHorizontalPositionsModel()
-
updateElements
protected void updateElements(Point2D normalizedPoint, boolean snapToGrid, boolean snapToElements)
-
getHorizontalEdgePositions
protected BreakPositionsList getHorizontalEdgePositions()
Returns the break positions for inner-band drag-operations (snap to element).- Returns:
- the edge positions of all elements.
-
getVerticalEdgePositions
protected BreakPositionsList getVerticalEdgePositions()
Returns the break positions for inner-band drag-operations (snap to element).- Returns:
- the edge positions of all elements.
-
filterLocalElements
protected org.pentaho.reporting.engine.classic.core.Element[] filterLocalElements(org.pentaho.reporting.engine.classic.core.Element[] originalElements)
-
initializeDragOperation
protected void initializeDragOperation(Point2D originPoint, SelectionOverlayInformation.InRangeIndicator currentIndicator)
-
finishDragOperation
protected void finishDragOperation()
-
repaintConditionally
public void repaintConditionally()
-
isMouseOperationInProgress
protected boolean isMouseOperationInProgress()
-
isMouseOperationPossible
protected boolean isMouseOperationPossible()
-
installLineals
protected void installLineals(LinealModel horizontalLinealModel, HorizontalPositionsModel horizontalPositionsModel)
-
getMinimumSize
public Dimension getMinimumSize()
- Overrides:
getMinimumSize
in classJComponent
-
getPreferredSize
public Dimension getPreferredSize()
- Overrides:
getPreferredSize
in classJComponent
-
removeNotify
public void removeNotify()
- Overrides:
removeNotify
in classJComponent
-
stopCellEditing
protected boolean stopCellEditing()
-
updateCursorForIndicator
protected void updateCursorForIndicator()
-
-