org.icepdf.ri.common.views.annotations
Class PopupAnnotationComponent

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.annotations.AbstractAnnotationComponent
                  extended by org.icepdf.ri.common.views.annotations.PopupAnnotationComponent
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.swing.event.DocumentListener, javax.swing.event.MouseInputListener, javax.swing.event.TreeSelectionListener, AnnotationComponent

public class PopupAnnotationComponent
extends AbstractAnnotationComponent
implements javax.swing.event.TreeSelectionListener, java.awt.event.ActionListener, javax.swing.event.DocumentListener

The PopupAnnotationComponent encapsulates a PopupAnnotation objects. It also provides basic editing of the parent MarkupAnnotation's review state: accepted, rejected, cancelled, completed, none. The component can also add replyTo text annotations as well as delete comments.

The PopupAnnotationComponent is slightly more complex then the other annotations components. Most annotations let the page pain the annotation but in this case PopupAnnotationComponent paints itself along with controls for editing, replying and deleting TextAnnotation comments. appearance stream.

Since:
5.0
See Also:
FreeTextAnnotationPanel, 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 backgroundColor
           
static java.awt.Color borderColor
           
protected  javax.swing.JPanel commentPanel
           
protected  javax.swing.JTree commentTree
           
protected  javax.swing.JScrollPane commentTreeScrollPane
           
protected  javax.swing.JPopupMenu contextMenu
           
protected  javax.swing.JLabel creationLabel
           
protected  javax.swing.JMenuItem deleteMenuItem
           
protected  javax.swing.JMenuItem minimizeAllMenuItem
           
protected  javax.swing.JButton minimizeButton
           
protected  javax.swing.JMenuItem openAllMenuItem
           
protected  org.icepdf.core.pobjects.annotations.PopupAnnotation popupAnnotation
           
protected  javax.swing.JMenuItem replyMenuItem
           
protected  org.icepdf.core.pobjects.annotations.MarkupAnnotation selectedMarkupAnnotation
           
protected  javax.swing.JMenuItem statusAcceptedItem
           
protected  javax.swing.JMenuItem statusCancelledMenuItem
           
protected  javax.swing.JMenuItem statusCompletedMenuItem
           
protected  javax.swing.JMenuItem statusNoneMenuItem
           
protected  javax.swing.JMenuItem statusRejectedMenuItem
           
protected  javax.swing.JTextArea textArea
           
 
Fields inherited from class org.icepdf.ri.common.views.annotations.AbstractAnnotationComponent
annotation, annotationHighlightAlpha, annotationHighlightColor, currentRotation, currentZoom, cursor, documentViewController, documentViewModel, dx, dy, endOfMousePress, isEditable, isInteractiveAnnotationsEnabled, isMousePressed, isMovable, isResizable, isRollover, isSelected, isShowInvisibleBorder, logger, messageBundle, pageViewComponent, previousAnnotationState, resizableBorder, resizeBoxSize, resized, startOfMousePress, startPos, wasResized
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PopupAnnotationComponent(org.icepdf.core.pobjects.annotations.Annotation annotation, DocumentViewController documentViewController, AbstractPageViewComponent pageViewComponent, DocumentViewModel documentViewModel)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void buildContextMenu()
           
 void changedUpdate(javax.swing.event.DocumentEvent e)
           
 void insertUpdate(javax.swing.event.DocumentEvent e)
           
 boolean isActive()
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent me)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void paintComponent(java.awt.Graphics g)
           
 void removeUpdate(javax.swing.event.DocumentEvent e)
           
 void resetAppearanceShapes()
           
 void valueChanged(javax.swing.event.TreeSelectionEvent e)
           
 
Methods inherited from class org.icepdf.ri.common.views.annotations.AbstractAnnotationComponent
additionalActionsHandler, commonBoundsNormalization, convertToPageSpace, dispose, focusGained, focusLost, getAnnotation, getDocument, getPageIndex, getPageTransform, getPageViewComponent, getParentPageView, initiateMouseMoved, isBorderStyle, isEditable, isMovable, isResizable, isRollover, isSelected, isShowInvisibleBorder, mouseClicked, mouseDragged, mouseExited, mouseReleased, refreshAnnotationRect, refreshDirtyBounds, removeMouseListeners, resize, setSelected, validate
 
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, 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, transferFocusBackward, transferFocusDownCycle, 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.AnnotationComponent
hasFocus, repaint
 

Field Detail

backgroundColor

public static java.awt.Color backgroundColor

borderColor

public static java.awt.Color borderColor

popupAnnotation

protected org.icepdf.core.pobjects.annotations.PopupAnnotation popupAnnotation

commentPanel

protected javax.swing.JPanel commentPanel

textArea

protected javax.swing.JTextArea textArea

creationLabel

protected javax.swing.JLabel creationLabel

minimizeButton

protected javax.swing.JButton minimizeButton

commentTree

protected javax.swing.JTree commentTree

commentTreeScrollPane

protected javax.swing.JScrollPane commentTreeScrollPane

selectedMarkupAnnotation

protected org.icepdf.core.pobjects.annotations.MarkupAnnotation selectedMarkupAnnotation

replyMenuItem

protected javax.swing.JMenuItem replyMenuItem

deleteMenuItem

protected javax.swing.JMenuItem deleteMenuItem

statusNoneMenuItem

protected javax.swing.JMenuItem statusNoneMenuItem

statusAcceptedItem

protected javax.swing.JMenuItem statusAcceptedItem

statusCancelledMenuItem

protected javax.swing.JMenuItem statusCancelledMenuItem

statusCompletedMenuItem

protected javax.swing.JMenuItem statusCompletedMenuItem

statusRejectedMenuItem

protected javax.swing.JMenuItem statusRejectedMenuItem

openAllMenuItem

protected javax.swing.JMenuItem openAllMenuItem

minimizeAllMenuItem

protected javax.swing.JMenuItem minimizeAllMenuItem

contextMenu

protected javax.swing.JPopupMenu contextMenu
Constructor Detail

PopupAnnotationComponent

public PopupAnnotationComponent(org.icepdf.core.pobjects.annotations.Annotation annotation,
                                DocumentViewController documentViewController,
                                AbstractPageViewComponent pageViewComponent,
                                DocumentViewModel documentViewModel)
Method Detail

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent me)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Overrides:
mouseMoved in class AbstractAnnotationComponent

mousePressed

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

mouseEntered

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

buildContextMenu

public void buildContextMenu()

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent e)
Specified by:
insertUpdate in interface javax.swing.event.DocumentListener

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent e)
Specified by:
removeUpdate in interface javax.swing.event.DocumentListener

changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent e)
Specified by:
changedUpdate in interface javax.swing.event.DocumentListener

valueChanged

public void valueChanged(javax.swing.event.TreeSelectionEvent e)
Specified by:
valueChanged in interface javax.swing.event.TreeSelectionListener

isActive

public boolean isActive()
Specified by:
isActive in class AbstractAnnotationComponent

paintComponent

public void paintComponent(java.awt.Graphics g)
Specified by:
paintComponent in class AbstractAnnotationComponent

resetAppearanceShapes

public void resetAppearanceShapes()
Specified by:
resetAppearanceShapes in interface AnnotationComponent
Specified by:
resetAppearanceShapes in class AbstractAnnotationComponent