org.icepdf.ri.common.views
Class AbstractDocumentView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.icepdf.ri.common.views.AbstractDocumentView
All Implemented Interfaces:
java.awt.event.AdjustmentListener, java.awt.event.FocusListener, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, DocumentView
Direct Known Subclasses:
CollectionDocumentView, OneColumnPageView, OnePageView, TwoColumnPageView, TwoPageView

public abstract class AbstractDocumentView
extends javax.swing.JComponent
implements DocumentView, java.beans.PropertyChangeListener, java.awt.event.MouseListener

The AbstractDocumentView class is implemented by the four predefined page views; OneColumnPageView, OnePageView, TwoColumnPageView and TwoPageView. Most of common work is implemented in this class which aid developers in defining their own custom page views.

Since:
2.5
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.awt.Color BACKGROUND_COLOUR
           
protected  org.icepdf.core.pobjects.Document currentDocument
           
protected  ToolHandler currentTool
           
protected  boolean disposing
           
protected  javax.swing.JScrollPane documentScrollpane
           
protected  DocumentViewController documentViewController
           
protected  DocumentViewModel documentViewModel
           
static int horizontalSpace
           
static int layoutInserts
           
protected  MouseWheelZoom mouseWheelZoom
           
protected  javax.swing.JPanel pagesPanel
           
static int verticalSpace
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface org.icepdf.ri.common.views.DocumentView
LEFT_VIEW, RIGHT_VIEW
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AbstractDocumentView(DocumentViewController documentViewController, javax.swing.JScrollPane documentScrollpane, DocumentViewModel documentViewModel)
          Creates a new instance of AbstractDocumentView.
 
Method Summary
 void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
           
 void dispose()
          Dispose all resources associated with this views.
 void focusGained(java.awt.event.FocusEvent e)
           
 void focusLost(java.awt.event.FocusEvent e)
           
 ToolHandler getCurrentToolHandler()
           
 javax.swing.JScrollPane getDocumentScrollpane()
           
 DocumentViewController getParentViewController()
          Parent document view controller
 DocumentViewModel getViewModel()
          Gets the view model associated with this document view.
 void installCurrentTool(ToolHandler currentTool)
           
 void invalidate()
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void paintComponent(java.awt.Graphics g)
          Paints the selection box for this page view.
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void setToolMode(int viewToolMode)
          Sets the tool type/mode that is to be enabled for the particular view.
 ToolHandler uninstallCurrentTool()
           
abstract  void updateDocumentView()
          invalidates page components
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, 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.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, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.icepdf.ri.common.views.DocumentView
getDocumentSize, getNextPageIncrement, getPreviousPageIncrement
 

Field Detail

BACKGROUND_COLOUR

public static java.awt.Color BACKGROUND_COLOUR

verticalSpace

public static int verticalSpace

horizontalSpace

public static int horizontalSpace

layoutInserts

public static int layoutInserts

documentViewController

protected DocumentViewController documentViewController

documentScrollpane

protected javax.swing.JScrollPane documentScrollpane

pagesPanel

protected javax.swing.JPanel pagesPanel

disposing

protected boolean disposing

currentDocument

protected org.icepdf.core.pobjects.Document currentDocument

documentViewModel

protected DocumentViewModel documentViewModel

currentTool

protected ToolHandler currentTool

mouseWheelZoom

protected MouseWheelZoom mouseWheelZoom
Constructor Detail

AbstractDocumentView

public AbstractDocumentView(DocumentViewController documentViewController,
                            javax.swing.JScrollPane documentScrollpane,
                            DocumentViewModel documentViewModel)
Creates a new instance of AbstractDocumentView.

Parameters:
documentViewController - controller for MVC
documentScrollpane - scrollpane used to view pages
documentViewModel - model to represent view
Method Detail

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

getParentViewController

public DocumentViewController getParentViewController()
Description copied from interface: DocumentView
Parent document view controller

Specified by:
getParentViewController in interface DocumentView
Returns:
document view controller

getViewModel

public DocumentViewModel getViewModel()
Description copied from interface: DocumentView
Gets the view model associated with this document view.

Specified by:
getViewModel in interface DocumentView
Returns:
document view model used by this view.

invalidate

public void invalidate()
Overrides:
invalidate in class java.awt.Container

dispose

public void dispose()
Description copied from interface: DocumentView
Dispose all resources associated with this views.

Specified by:
dispose in interface DocumentView

updateDocumentView

public abstract void updateDocumentView()
invalidates page components

Specified by:
updateDocumentView in interface DocumentView

uninstallCurrentTool

public ToolHandler uninstallCurrentTool()

installCurrentTool

public void installCurrentTool(ToolHandler currentTool)

getCurrentToolHandler

public ToolHandler getCurrentToolHandler()

setToolMode

public void setToolMode(int viewToolMode)
Description copied from interface: DocumentView
Sets the tool type/mode that is to be enabled for the particular view. Mouse and keyboard listeners are associated with this call. No actual state is stored in the view this is only for setup purposes. The tool state is stored in the DocumentViewModel.

Specified by:
setToolMode in interface DocumentView
Parameters:
viewToolMode - tool mode type.

paintComponent

public void paintComponent(java.awt.Graphics g)
Paints the selection box for this page view.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - Java graphics context to paint to.

adjustmentValueChanged

public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
Specified by:
adjustmentValueChanged in interface java.awt.event.AdjustmentListener

focusGained

public void focusGained(java.awt.event.FocusEvent e)
Specified by:
focusGained in interface java.awt.event.FocusListener

focusLost

public void focusLost(java.awt.event.FocusEvent e)
Specified by:
focusLost in interface java.awt.event.FocusListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

getDocumentScrollpane

public javax.swing.JScrollPane getDocumentScrollpane()