Package com.reportmill
Class RMViewer
- java.lang.Object
- 
- java.awt.Component
- 
- java.awt.Container
- 
- javax.swing.JComponent
- 
- com.reportmill.RMViewer
 
 
 
 
- 
- All Implemented Interfaces:
- RMDocument.DocListener,- java.awt.image.ImageObserver,- java.awt.MenuContainer,- java.io.Serializable
 - Direct Known Subclasses:
- Gallery.GViewer,- RMEditor,- RMTrackballControl,- Scene3DTool.Scene3DControl
 
 public class RMViewer extends javax.swing.JComponent implements RMDocument.DocListener The RMViewer class is a JComponent subclass that can be used in Swing applications to display and/or print an RMDocument.You might use it like this to simply print a document: new RMViewer(aDocument).print(); Or you might want to allocate one and add it to a Swing component hierarchy: RMViewer viewer = new RMViewer(); JScrollPane scrollPane = new JScrollPane(viewer); myFrame.getContentPane().add(scrollPane, Border.CENTER); viewer.setDocument(new RMDocument(aSource)); - See Also:
- Serialized Form
 
- 
- 
Field SummaryFields Modifier and Type Field Description static java.awt.ColorGridColorstatic java.awt.ColorMarginColorstatic intPRINT_MODE_RASTERstatic intPRINT_MODE_VECTOR- 
Fields inherited from class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
- 
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description RMPointconvertPointFromShape(RMPoint aPoint, RMShape aShape)Returns a point converted from the coordinate space of the given shape to viewer coords.RMPointconvertPointToShape(java.awt.geom.Point2D aPoint, RMShape aShape)Returns a point converted from viewer coords to the coordinate space of the given shape.RMRectconvertRectFromShape(RMRect aRect, RMShape aShape)Returns a rect converted from the coordinate space of the given shape to viewer coords.RMRectconvertRectToShape(RMRect aRect, RMShape aShape)Returns a rect converted from viewer coords to the coordinate space of the given shape.voiddocShapeBoundsChanged(RMDocument aDoc, RMShape aShape)Doc listener method - called by editor when making bounds changes.voiddocShapeNeedsRepaint(RMDocument aDoc, RMShape aShape)Doc listener method - called before a shape makes a visual change.voiddocUndoerAddDirtyObject(RMDocument aDoc, RMObject anObj)Doc listener method - RMViewer ignores it, but RMEditor calls setUndoSelectedObjects.booleandrawsBackground()Returns whether or not the gutter, page background & dropshadow get drawn.voidflushGraphics()This method repaints the total bounds of shapes that have previously been registered by shapeNeedsRepaint.java.awt.print.BookgetBook(int orientation, java.awt.print.Paper paper)Returns a java.awt.print.Book, suitable for AWT printing.RMRectgetDirtyRect()Returns the dirty rect of shapes currently registered with shapeNeedsRepaint (and clears _dirtyShapes).RMDocumentgetDocument()Returns the RMDocument associated with this viewer.RMRectgetDocumentBounds()Returns the bounds of the viewer document.java.lang.StringgetFilename()Returns filename associated with viewer's document (or null if the document didn't come from a file).java.awt.DimensiongetMinimumSize()Standard minimum size method.RMRectgetPageBounds()Returns the bounds of the viewer document's selected page.bytegetPageLayout()Returns the page layout of the viewer's document.java.awt.DimensiongetPreferredSize()Returns the optimal size of the viewer.intgetPrintingDPI()intgetPrintingMode()java.awt.RenderingHintsgetRenderingHints()Returns the rendering hings used to paint the view.RMShapegetSelectedPage()Returns the currently selected page shape.intgetSelectedPageIndex()Returns the index of the current visiable document page.RMShapegetShapeAtPoint(java.awt.geom.Point2D aPoint, boolean goDeep)Returns the first shape hit by the given point.RMShapePaintergetShapePainter()Returns the object that is actually responsible for paining shapes in the viewer.booleangetShapeRepaintEnabled()Returns whether changes to shapes cause repaints.java.awt.geom.AffineTransformgetTransformFromShape(RMShape aShape)Returns the transform from given shape to viewer.RMUndoergetUndoer()Returns the undoer associated with the viewer's document.floatgetZoomFactor()Returns the viewer's zoom factor (1 by default).voidmouseDragged(java.awt.event.MouseEvent anEvent)Handle mouse dragged event.voidmouseMoved(java.awt.event.MouseEvent anEvent)Handle mouse moved event.voidmousePressed(java.awt.event.MouseEvent anEvent)Handle mouse pressed event.voidmouseReleased(java.awt.event.MouseEvent anEvent)Handle mouse released event.voidpageBack()Selects the previous page.voidpageForward()Selects the next page.voidpaintComponent(java.awt.Graphics g)Overrides JComponent implementation to paint viewer shapes and page, margin, grid, etc.voidpaintComponentAbove(java.awt.Graphics2D g)Provides a hook for subclasses to paint above standard viewer drawing.voidperformActionURLClick(java.lang.String aURL)Viewer callback - called when shape with URL is clicked (opens URL).voidprint()This method tells the RMViewer to print by running the print dialog (configured to the default printer).voidprint(java.lang.String aPrinterName, boolean runPanel)This method tells the RMViewer to print to the printer with the given printer name (use null for default printer).voidprint2()voidprint2(java.lang.String aPrinterName, boolean runPanel)protected voidprocessMouseEvent(java.awt.event.MouseEvent anEvent)Handle mouse events.protected voidprocessMouseMotionEvent(java.awt.event.MouseEvent anEvent)voidrepaint(RMRect aRect)Requests a repaint for the area represented by the given rect.voidrunZoomPanel()Runs a dialog panel to request a percentage zoom (which is then set with setZoomFactor).voidsetDocument(RMDocument aDoc)Sets the RMDocument associated with this viewer.voidsetPrintingDPI(int printingDPI)voidsetPrintingMode(int printingMode)voidsetSelectedPageIndex(int anIndex)Sets the page of viewer's document that is visible (by index).voidsetShapePainter(RMShapePainter aPainter)Sets the object that is actually responsible for paining shapes in the viewer.voidsetShapeRepaintEnabled(boolean aFlag)Sets whether changes to shapes cause repaints.voidsetZoomFactor(float aFactor)Sets the viewer's zoom factor (1 for 100%).voidsetZoomForScreenResolution()Sets the viewer's zoom to match the current screen resolutionvoidundoerAddChildToShape(RMShape aShape, RMShape aParent)Adds a child with undo registration in the viewer's documents's undoer (convenience).voidundoerDisable()Disable's undo in the viewer's documents's undoer (convenience).voidundoerEnable()Enable's undo in the viewer's documents's undoer (convenience).booleanundoerHasUndos()Returns whether undos exist in the viewer's documents's undoer (convenience).voidundoerSetCoalesce(boolean aFlag)Turns on undo coalescing in the viewer's documents's undoer (convenience).voidundoerSetUndoTitle(java.lang.String aTitle)Sets the title of the next registered undo in the viewer's documents's undoer (convenience).protected voidupdateShapeUnderStack(RMShape aShape, java.awt.event.MouseEvent anEvent)The shape under stack should always be a stack of descendants that acceptEvents.voidzoomToggleLast()Sets the viewer's zoom to its previous value.- 
Methods inherited from class javax.swing.JComponentaddAncestorListener, 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, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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.Containeradd, 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.Componentaction, 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
 
- 
 
- 
- 
- 
Field Detail- 
PRINT_MODE_VECTORpublic static final int PRINT_MODE_VECTOR - See Also:
- Constant Field Values
 
 - 
PRINT_MODE_RASTERpublic static final int PRINT_MODE_RASTER - See Also:
- Constant Field Values
 
 - 
GridColorpublic static java.awt.Color GridColor 
 - 
MarginColorpublic static java.awt.Color MarginColor 
 
- 
 - 
Constructor Detail- 
RMViewerpublic RMViewer() Creates a new RMViewer with an empty document in it.
 - 
RMViewerpublic RMViewer(java.lang.Object aSource) Creates a new RMViewer from the given source. aSource is used to get an RMDocument and can be many different things: String file path, File object, InputStream, byte array, URL or even an RMDocument.
 
- 
 - 
Method Detail- 
getPrintingModepublic int getPrintingMode() 
 - 
setPrintingModepublic void setPrintingMode(int printingMode) 
 - 
getPrintingDPIpublic int getPrintingDPI() 
 - 
setPrintingDPIpublic void setPrintingDPI(int printingDPI) 
 - 
getDocumentpublic RMDocument getDocument() Returns the RMDocument associated with this viewer.
 - 
setDocumentpublic void setDocument(RMDocument aDoc) Sets the RMDocument associated with this viewer.
 - 
getSelectedPagepublic RMShape getSelectedPage() Returns the currently selected page shape.
 - 
getFilenamepublic java.lang.String getFilename() Returns filename associated with viewer's document (or null if the document didn't come from a file).
 - 
getPageLayoutpublic byte getPageLayout() Returns the page layout of the viewer's document.
 - 
getSelectedPageIndexpublic int getSelectedPageIndex() Returns the index of the current visiable document page.
 - 
setSelectedPageIndexpublic void setSelectedPageIndex(int anIndex) Sets the page of viewer's document that is visible (by index).
 - 
pageForwardpublic void pageForward() Selects the next page.
 - 
pageBackpublic void pageBack() Selects the previous page.
 - 
getDocumentBoundspublic RMRect getDocumentBounds() Returns the bounds of the viewer document.
 - 
getPageBoundspublic RMRect getPageBounds() Returns the bounds of the viewer document's selected page.
 - 
getShapeAtPointpublic RMShape getShapeAtPoint(java.awt.geom.Point2D aPoint, boolean goDeep) Returns the first shape hit by the given point.
 - 
getZoomFactorpublic float getZoomFactor() Returns the viewer's zoom factor (1 by default).
 - 
setZoomFactorpublic void setZoomFactor(float aFactor) Sets the viewer's zoom factor (1 for 100%).
 - 
setZoomForScreenResolutionpublic void setZoomForScreenResolution() Sets the viewer's zoom to match the current screen resolution
 - 
zoomToggleLastpublic void zoomToggleLast() Sets the viewer's zoom to its previous value.
 - 
runZoomPanelpublic void runZoomPanel() Runs a dialog panel to request a percentage zoom (which is then set with setZoomFactor).
 - 
convertPointFromShapepublic RMPoint convertPointFromShape(RMPoint aPoint, RMShape aShape) Returns a point converted from the coordinate space of the given shape to viewer coords.
 - 
convertPointToShapepublic RMPoint convertPointToShape(java.awt.geom.Point2D aPoint, RMShape aShape) Returns a point converted from viewer coords to the coordinate space of the given shape.
 - 
convertRectFromShapepublic RMRect convertRectFromShape(RMRect aRect, RMShape aShape) Returns a rect converted from the coordinate space of the given shape to viewer coords.
 - 
convertRectToShapepublic RMRect convertRectToShape(RMRect aRect, RMShape aShape) Returns a rect converted from viewer coords to the coordinate space of the given shape.
 - 
getTransformFromShapepublic java.awt.geom.AffineTransform getTransformFromShape(RMShape aShape) Returns the transform from given shape to viewer.
 - 
repaintpublic void repaint(RMRect aRect) Requests a repaint for the area represented by the given rect.
 - 
getShapePainterpublic RMShapePainter getShapePainter() Returns the object that is actually responsible for paining shapes in the viewer.
 - 
setShapePainterpublic void setShapePainter(RMShapePainter aPainter) Sets the object that is actually responsible for paining shapes in the viewer.
 - 
getRenderingHintspublic java.awt.RenderingHints getRenderingHints() Returns the rendering hings used to paint the view.
 - 
drawsBackgroundpublic boolean drawsBackground() Returns whether or not the gutter, page background & dropshadow get drawn.
 - 
paintComponentpublic void paintComponent(java.awt.Graphics g) Overrides JComponent implementation to paint viewer shapes and page, margin, grid, etc.- Overrides:
- paintComponentin class- javax.swing.JComponent
 
 - 
paintComponentAbovepublic void paintComponentAbove(java.awt.Graphics2D g) Provides a hook for subclasses to paint above standard viewer drawing.
 - 
processMouseEventprotected void processMouseEvent(java.awt.event.MouseEvent anEvent) Handle mouse events.- Overrides:
- processMouseEventin class- javax.swing.JComponent
 
 - 
processMouseMotionEventprotected void processMouseMotionEvent(java.awt.event.MouseEvent anEvent) - Overrides:
- processMouseMotionEventin class- javax.swing.JComponent
 
 - 
mousePressedpublic void mousePressed(java.awt.event.MouseEvent anEvent) Handle mouse pressed event.
 - 
mouseDraggedpublic void mouseDragged(java.awt.event.MouseEvent anEvent) Handle mouse dragged event.
 - 
mouseReleasedpublic void mouseReleased(java.awt.event.MouseEvent anEvent) Handle mouse released event.
 - 
mouseMovedpublic void mouseMoved(java.awt.event.MouseEvent anEvent) Handle mouse moved event.
 - 
updateShapeUnderStackprotected void updateShapeUnderStack(RMShape aShape, java.awt.event.MouseEvent anEvent) The shape under stack should always be a stack of descendants that acceptEvents.
 - 
performActionURLClickpublic void performActionURLClick(java.lang.String aURL) Viewer callback - called when shape with URL is clicked (opens URL).
 - 
getMinimumSizepublic java.awt.Dimension getMinimumSize() Standard minimum size method.- Overrides:
- getMinimumSizein class- javax.swing.JComponent
 
 - 
getPreferredSizepublic java.awt.Dimension getPreferredSize() Returns the optimal size of the viewer.- Overrides:
- getPreferredSizein class- javax.swing.JComponent
 
 - 
getUndoerpublic RMUndoer getUndoer() Returns the undoer associated with the viewer's document.
 - 
undoerSetUndoTitlepublic void undoerSetUndoTitle(java.lang.String aTitle) Sets the title of the next registered undo in the viewer's documents's undoer (convenience).
 - 
undoerDisablepublic void undoerDisable() Disable's undo in the viewer's documents's undoer (convenience).
 - 
undoerEnablepublic void undoerEnable() Enable's undo in the viewer's documents's undoer (convenience).
 - 
undoerSetCoalescepublic void undoerSetCoalesce(boolean aFlag) Turns on undo coalescing in the viewer's documents's undoer (convenience).
 - 
undoerHasUndospublic boolean undoerHasUndos() Returns whether undos exist in the viewer's documents's undoer (convenience).
 - 
undoerAddChildToShapepublic void undoerAddChildToShape(RMShape aShape, RMShape aParent) Adds a child with undo registration in the viewer's documents's undoer (convenience).
 - 
getShapeRepaintEnabledpublic boolean getShapeRepaintEnabled() Returns whether changes to shapes cause repaints.
 - 
setShapeRepaintEnabledpublic void setShapeRepaintEnabled(boolean aFlag) Sets whether changes to shapes cause repaints.
 - 
docShapeNeedsRepaintpublic void docShapeNeedsRepaint(RMDocument aDoc, RMShape aShape) Doc listener method - called before a shape makes a visual change. Provides a mechanism to efficiently repaint the portion of the viewer that currently displays a shape. Registers the area covered by the shape now and at event end, to efficiently repaint shapes in transition as well.- Specified by:
- docShapeNeedsRepaintin interface- RMDocument.DocListener
 
 - 
docShapeBoundsChangedpublic void docShapeBoundsChanged(RMDocument aDoc, RMShape aShape) Doc listener method - called by editor when making bounds changes.- Specified by:
- docShapeBoundsChangedin interface- RMDocument.DocListener
 
 - 
docUndoerAddDirtyObjectpublic void docUndoerAddDirtyObject(RMDocument aDoc, RMObject anObj) Doc listener method - RMViewer ignores it, but RMEditor calls setUndoSelectedObjects.- Specified by:
- docUndoerAddDirtyObjectin interface- RMDocument.DocListener
 
 - 
flushGraphicspublic void flushGraphics() This method repaints the total bounds of shapes that have previously been registered by shapeNeedsRepaint. This should only be used internally.
 - 
getDirtyRectpublic RMRect getDirtyRect() Returns the dirty rect of shapes currently registered with shapeNeedsRepaint (and clears _dirtyShapes).
 - 
printpublic void print() This method tells the RMViewer to print by running the print dialog (configured to the default printer).
 - 
printpublic void print(java.lang.String aPrinterName, boolean runPanel)This method tells the RMViewer to print to the printer with the given printer name (use null for default printer). It also offers an option to run the printer dialog.
 - 
print2public void print2() 
 - 
print2public void print2(java.lang.String aPrinterName, boolean runPanel)
 - 
getBookpublic java.awt.print.Book getBook(int orientation, java.awt.print.Paper paper)Returns a java.awt.print.Book, suitable for AWT printing.
 
- 
 
-