edu.cmu.minorthird.text.gui
Class ViewerTracker

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by edu.cmu.minorthird.text.gui.ViewerTracker
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.swing.event.ListSelectionListener
Direct Known Subclasses:
OnlineClassifierDocumentEditor, SpanEditor, SpanLabeler

public abstract class ViewerTracker
extends javax.swing.JComponent
implements javax.swing.event.ListSelectionListener

Tracks what's selected in the documentList of a TextBaseViewer.

Author:
William Cohen
See Also:
Serialized Form

Nested Class Summary
protected  class ViewerTracker.ContextWidthSlider
           
protected  class ViewerTracker.MoveDocumentCursor
          Move through list of spans
protected  class ViewerTracker.SaveLabelsAction
           
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int contextWidth
           
protected  javax.swing.JSlider contextWidthSlider
           
protected  javax.swing.JList documentList
           
protected  Span documentSpan
           
protected  javax.swing.JButton downButton
           
protected static java.lang.String DUMMY_ID
           
protected  SpanDocument editedDoc
           
protected  MutableTextLabels editLabels
           
protected  javax.swing.JScrollPane editorHolder
           
protected  javax.swing.JTextPane editorPane
           
protected  java.io.File saveAsFile
           
protected  javax.swing.JButton saveButton
           
protected  edu.cmu.minorthird.text.gui.SpanPainter spanPainter
           
protected  StatusMessage statusMsg
           
protected  javax.swing.JButton upButton
           
protected static boolean viewEntireDocument
           
protected  TextLabels viewLabels
           
 
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
ViewerTracker(TextLabels viewLabels, MutableTextLabels editLabels, javax.swing.JList documentList, edu.cmu.minorthird.text.gui.SpanPainter spanPainter, StatusMessage statusMsg)
           
 
Method Summary
protected  void importDocumentListMarkup(java.lang.String documentId)
          Useful routine
protected  void loadSpan(Span span)
           
protected  void loadSpanHook()
          Overload this to do something special when a new document is loaded.
protected  Span nullSpan()
           
protected  void setContextWidth(int contextWidth)
          Declare how much context to show on either size of the span.
 void setSaveAs(java.io.File file)
          Activates the 'save' button, and indicates where to save.
 void setViewEntireDocument(boolean flag)
          If set, the viewer will show the entire document a span is in.
 void updateViewLabels(TextLabels newLabels)
          change the text labels
 void valueChanged(javax.swing.event.ListSelectionEvent e)
          implement ListSelectionListener, so can use this to listen to the documentList.
 
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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, 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
 

Field Detail

viewEntireDocument

protected static boolean viewEntireDocument

DUMMY_ID

protected static final java.lang.String DUMMY_ID
See Also:
Constant Field Values

statusMsg

protected StatusMessage statusMsg

documentList

protected javax.swing.JList documentList

spanPainter

protected edu.cmu.minorthird.text.gui.SpanPainter spanPainter

editorPane

protected javax.swing.JTextPane editorPane

editorHolder

protected javax.swing.JScrollPane editorHolder

editedDoc

protected SpanDocument editedDoc

documentSpan

protected Span documentSpan

viewLabels

protected TextLabels viewLabels

editLabels

protected MutableTextLabels editLabels

contextWidth

protected int contextWidth

saveAsFile

protected java.io.File saveAsFile

upButton

protected javax.swing.JButton upButton

downButton

protected javax.swing.JButton downButton

saveButton

protected javax.swing.JButton saveButton

contextWidthSlider

protected javax.swing.JSlider contextWidthSlider
Constructor Detail

ViewerTracker

public ViewerTracker(TextLabels viewLabels,
                     MutableTextLabels editLabels,
                     javax.swing.JList documentList,
                     edu.cmu.minorthird.text.gui.SpanPainter spanPainter,
                     StatusMessage statusMsg)
Parameters:
viewLabels - a superset of editLabels which may include some additional read-only information
editLabels - the labeling being modified (if there is one)
documentList - the document Span being edited is associated with the selected entry of the documentList.
spanPainter - used to repaint documentList elements
statusMsg - a JLabel used for status messages.
Method Detail

nullSpan

protected Span nullSpan()

setViewEntireDocument

public void setViewEntireDocument(boolean flag)
If set, the viewer will show the entire document a span is in.


setSaveAs

public void setSaveAs(java.io.File file)
Activates the 'save' button, and indicates where to save.


updateViewLabels

public void updateViewLabels(TextLabels newLabels)
change the text labels


valueChanged

public void valueChanged(javax.swing.event.ListSelectionEvent e)
implement ListSelectionListener, so can use this to listen to the documentList.

Specified by:
valueChanged in interface javax.swing.event.ListSelectionListener

setContextWidth

protected void setContextWidth(int contextWidth)
Declare how much context to show on either size of the span.


loadSpan

protected void loadSpan(Span span)

loadSpanHook

protected void loadSpanHook()
Overload this to do something special when a new document is loaded.


importDocumentListMarkup

protected void importDocumentListMarkup(java.lang.String documentId)
Useful routine