JHotDraw 7rev733

org.jhotdraw.samples.teddy
Class TeddyView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.jhotdraw.app.AbstractView
                      extended by org.jhotdraw.samples.teddy.TeddyView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, Disposable, View

public class TeddyView
extends AbstractView

Provides a view on a text document.

See View interface on how this view interacts with an application.

Version:
$Id: TeddyView.java 731 2011-01-22 09:21:06Z rawcoder $
Author:
Werner Randelshofer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
 javax.swing.JLabel caretInfoLabel
           
protected  javax.swing.JTextPane editor
           
protected  org.jhotdraw.samples.teddy.TeddyView.EditorPanel editorViewport
           
 javax.swing.JScrollPane scrollPane
           
 javax.swing.JPanel statusBar
           
protected  UndoRedoManager undoManager
          The undo/redo manager.
 
Fields inherited from class org.jhotdraw.app.AbstractView
executor, preferences, uri
 
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.jhotdraw.app.View
APPLICATION_PROPERTY, ENABLED_PROPERTY, HAS_UNSAVED_CHANGES_PROPERTY, MULTIPLE_OPEN_ID_PROPERTY, SHOWING_PROPERTY, TITLE_PROPERTY, URI_PROPERTY
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TeddyView()
          Creates a new instance.
 
Method Summary
 void clear()
          Clears the view, for example by emptying the contents of the view, or by reading a template contents from a file.
protected  javax.swing.text.StyledDocument createDocument()
           
protected  javax.swing.JTextPane createEditor()
           
 void fireEdit(javax.swing.undo.UndoableEdit edit)
           
 javax.swing.text.Document getDocument()
           
 int getLineCount()
          Determines the number of lines contained in the area.
 int getLineOfOffset(int offset)
          Accessor for text area.
 int getLineStartOffset(int line)
          Accessor for text area.
 int getSelectionEnd()
          Accessor for text area.
 int getSelectionStart()
          Accessor for text area.
 void init()
          Initializes the view.
 boolean isLineNumbersVisible()
           
 boolean isLineWrap()
           
 boolean isStatusBarVisible()
           
 void read(java.net.URI f, java.lang.String characterSet)
           
 void read(java.net.URI f, URIChooser chooser)
          Reads the view from the specified URI.
 void replaceRange(java.lang.String str, int start, int end)
          Accessor for text area.
 void select(int start, int end)
          Accessor for text area.
 void setEnabled(boolean newValue)
          Sets the enabled state of the view.
 void setLineNumbersVisible(boolean newValue)
           
 void setLineWrap(boolean newValue)
           
 void setStatusBarVisible(boolean newValue)
           
 void write(java.net.URI f, java.lang.String characterSet, java.lang.String lineSeparator)
           
 void write(java.net.URI f, URIChooser chooser)
          Writes the view to the specified URI.
 
Methods inherited from class org.jhotdraw.app.AbstractView
activate, addDisposable, canSaveTo, deactivate, dispose, execute, getApplication, getComponent, getMultipleOpenId, getTitle, getURI, hasUnsavedChanges, isEmpty, isShowing, markChangesAsSaved, removeDisposable, setApplication, setHasUnsavedChanges, setMultipleOpenId, setShowing, setTitle, setURI, start, stop
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
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, 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.jhotdraw.app.View
addPropertyChangeListener, getActionMap, isEnabled, removePropertyChangeListener, setActionMap
 

Field Detail

editor

protected javax.swing.JTextPane editor

editorViewport

protected org.jhotdraw.samples.teddy.TeddyView.EditorPanel editorViewport

undoManager

protected UndoRedoManager undoManager
The undo/redo manager.


caretInfoLabel

public javax.swing.JLabel caretInfoLabel

scrollPane

public javax.swing.JScrollPane scrollPane

statusBar

public javax.swing.JPanel statusBar
Constructor Detail

TeddyView

public TeddyView()
Creates a new instance.

Method Detail

createEditor

protected javax.swing.JTextPane createEditor()

init

public void init()
Description copied from class: AbstractView
Initializes the view. This method does nothing, subclasses don't neet to call super.

Specified by:
init in interface View
Overrides:
init in class AbstractView

setEnabled

public void setEnabled(boolean newValue)
Description copied from interface: View
Sets the enabled state of the view. The enabled state is used to prevent parallel invocation of actions on the view. If an action consists of a sequential part and a concurrent part, it must disable the view only for the sequential part. Actions that act on the view must check in their actionPerformed method whether the view is enabled. If the view is disabled, they must do nothing. If the view is enabled, they must disable the view, perform the action and then enable the view again. This is a bound property.

Specified by:
setEnabled in interface View
Overrides:
setEnabled in class javax.swing.JComponent

setStatusBarVisible

public void setStatusBarVisible(boolean newValue)

isStatusBarVisible

public boolean isStatusBarVisible()

setLineWrap

public void setLineWrap(boolean newValue)

isLineWrap

public boolean isLineWrap()

read

public void read(java.net.URI f,
                 URIChooser chooser)
          throws java.io.IOException
Description copied from interface: View
Reads the view from the specified URI.

By convention this method is never invoked on the AWT Event Dispatcher Thread.

This method implements behavior for the following feature: Open URI on launch. See org.jhotdraw.app.

Parameters:
f - The location where to write the view.
chooser - The chooser which was used for selecting the URI. This parameter is null if no chooser was used.
Throws:
java.io.IOException

read

public void read(java.net.URI f,
                 java.lang.String characterSet)
          throws java.io.IOException
Throws:
java.io.IOException

write

public void write(java.net.URI f,
                  URIChooser chooser)
           throws java.io.IOException
Description copied from interface: View
Writes the view to the specified URI.

By convention this method is never invoked on the AWT Event Dispatcher Thread.

Parameters:
f - The location where to write the view.
chooser - The chooser which was used for selecting the URI. This parameter is null if no chooser was used.
Throws:
java.io.IOException

write

public void write(java.net.URI f,
                  java.lang.String characterSet,
                  java.lang.String lineSeparator)
           throws java.io.IOException
Throws:
java.io.IOException

clear

public void clear()
Description copied from interface: View
Clears the view, for example by emptying the contents of the view, or by reading a template contents from a file. By convention this method is never invoked on the AWT Event Dispatcher Thread.

This method implements behavior for the following feature: Open URI on launch. See org.jhotdraw.app.


createDocument

protected javax.swing.text.StyledDocument createDocument()

getDocument

public javax.swing.text.Document getDocument()

select

public void select(int start,
                   int end)
Accessor for text area. This is used by Actions that need ot act on the text area of the View.


getSelectionStart

public int getSelectionStart()
Accessor for text area. This is used by Actions that need ot act on the text area of the View.


getSelectionEnd

public int getSelectionEnd()
Accessor for text area. This is used by Actions that need ot act on the project text area.


getLineCount

public int getLineCount()
Determines the number of lines contained in the area.

Returns:
the number of lines > 0

replaceRange

public void replaceRange(java.lang.String str,
                         int start,
                         int end)
Accessor for text area. This is used by Actions that need to act on the text area of the View.


getLineOfOffset

public int getLineOfOffset(int offset)
                    throws javax.swing.text.BadLocationException
Accessor for text area. This is used by Actions that need ot act on the text area of the View.

Throws:
javax.swing.text.BadLocationException

getLineStartOffset

public int getLineStartOffset(int line)
                       throws javax.swing.text.BadLocationException
Accessor for text area. This is used by Actions that need ot act on the text area of the View.

Throws:
javax.swing.text.BadLocationException

fireEdit

public void fireEdit(javax.swing.undo.UndoableEdit edit)

setLineNumbersVisible

public void setLineNumbersVisible(boolean newValue)

isLineNumbersVisible

public boolean isLineNumbersVisible()

Copyright 1996-2010 (c) by the authors and contributors of the JHotDraw project.
Some rights reserved.