eTextReader
Class QuickNoteWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by javax.swing.JWindow
                  extended by eTextReader.QuickNoteWindow
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer

public class QuickNoteWindow
extends javax.swing.JWindow

An extension of JWindow to provide a small window for displaying quick_note type annotations.

Version:
2.0 10/2002, 3.0 9/2006 - very significant enhancements made to make it actually work
Author:
Marty Kane, Ryan McFall
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JWindow
javax.swing.JWindow.AccessibleJWindow
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
private static int CURSOR_PADDING
          An extra amount to nudge the location of the window down to attempt to get past the mouse cursor Since the java.awt.Cursor class doesn't provide a method to determine the height of the cursor, this is the best we can do
private static int TEXT_BORDER
          An extra amount of spaces to pad the window with so that the characters aren't jammed up against the edges
 javax.swing.JTextPane textPane
          The component used to display the text
 
Fields inherited from class javax.swing.JWindow
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
QuickNoteWindow(java.awt.Frame owner)
           
QuickNoteWindow(java.lang.String text, java.awt.Frame owner)
           
 
Method Summary
protected  java.awt.Point computeLocationOnScreen(javax.swing.text.Element linkElement, ScrollingContentPane scrollingContentPane)
          This method computes where this quick note should be shown in relation to the element whose activation caused it to be displayed.
 java.lang.String getText()
           
protected  Notation loadNotation(NotationEvent ne, DBClient client)
           
 void setPage(java.lang.String page)
           
protected  java.awt.Dimension setPopupText(NotationEvent ne, ScrollingContentPane scrollingContentPane, Notation notation)
           
 void setText(java.lang.String text)
           
 void setType(java.lang.String type)
           
 void showAnnotation(NotationEvent ne, ScrollingContentPane scrollingContentPane)
          This method shows the annotation indicated by the given notation event in the scrolling content pane, utilizing the database client to retrieve information about the annotation.
 
Methods inherited from class javax.swing.JWindow
addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, remove, setContentPane, setGlassPane, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update, windowInit
 
Methods inherited from class java.awt.Window
addNotify, addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CURSOR_PADDING

private static final int CURSOR_PADDING
An extra amount to nudge the location of the window down to attempt to get past the mouse cursor Since the java.awt.Cursor class doesn't provide a method to determine the height of the cursor, this is the best we can do

See Also:
Constant Field Values

TEXT_BORDER

private static final int TEXT_BORDER
An extra amount of spaces to pad the window with so that the characters aren't jammed up against the edges

See Also:
Constant Field Values

textPane

public javax.swing.JTextPane textPane
The component used to display the text

Constructor Detail

QuickNoteWindow

public QuickNoteWindow(java.awt.Frame owner)

QuickNoteWindow

public QuickNoteWindow(java.lang.String text,
                       java.awt.Frame owner)
Method Detail

getText

public java.lang.String getText()

setText

public void setText(java.lang.String text)

setPage

public void setPage(java.lang.String page)

setType

public void setType(java.lang.String type)

computeLocationOnScreen

protected java.awt.Point computeLocationOnScreen(javax.swing.text.Element linkElement,
                                                 ScrollingContentPane scrollingContentPane)
                                          throws javax.swing.text.BadLocationException
This method computes where this quick note should be shown in relation to the element whose activation caused it to be displayed. It is imperative that the correct size for the window have been set before calling this method

Parameters:
linkElement -
scrollingContentPane -
Returns:
a Point in screen coordinates where the pop-up window should be displayed
Throws:
javax.swing.text.BadLocationException

showAnnotation

public void showAnnotation(NotationEvent ne,
                           ScrollingContentPane scrollingContentPane)
This method shows the annotation indicated by the given notation event in the scrolling content pane, utilizing the database client to retrieve information about the annotation. By default, it puts the tip directly below the element that triggered the showing of the annotation. It will adjust that position to ensure that it doesn't go outside the right boundary of the ContentPane owned by the given ScrollingContentPane, or below it

Parameters:
ne - the notation event that caused this annotation to be shown
scrollingContentPane - the scrolling content pane that contains the document

setPopupText

protected java.awt.Dimension setPopupText(NotationEvent ne,
                                          ScrollingContentPane scrollingContentPane,
                                          Notation notation)
Parameters:
ne -
scrollingContentPane -
notation -
Returns:
the size window needed to display the text

loadNotation

protected Notation loadNotation(NotationEvent ne,
                                DBClient client)