CubeTwister 2.0alpha142 2012-02-11

ch.randelshofer.cubetwister
Class CubeTwisterView

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 ch.randelshofer.cubetwister.CubeTwisterView
All Implemented Interfaces:
Viewer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, org.jhotdraw.app.Disposable, org.jhotdraw.app.View

public class CubeTwisterView
extends org.jhotdraw.app.AbstractView
implements Viewer

CubeTwisterView.

Version:
1.0 January 3, 2006 Created.
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
 
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
CubeTwisterView()
          Creates a new instance.
 
Method Summary
 boolean canSaveTo(java.net.URI uri)
          Returns true, if this view can be saved to the specified URI.
 void clear()
          Clears the view, for example by emptying the contents of the view, or by reading a template contents from a file.
 void dispose()
          Gets rid of all the resources of the view.
protected  void finalize()
           
 java.awt.Component getComponent(java.awt.Component parent, java.lang.Object value)
          Sets the value of the viewer to value.
 DocumentModel getModel()
           
 void init()
          Initializes the view.
 void initFromTemplate()
          Reads the template file - if it exists.
 void read(java.net.URI uri, org.jhotdraw.gui.URIChooser chooser)
          Reads the view from the specified URI.
static DocumentModel readTemplate()
           
 void setEnabled(boolean b)
          Sets the enabled state of the view.
 void write(java.net.URI uri, org.jhotdraw.gui.URIChooser chooser)
          Writes the view to the specified URI.
 
Methods inherited from class org.jhotdraw.app.AbstractView
activate, addDisposable, deactivate, 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, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jhotdraw.app.View
addPropertyChangeListener, getActionMap, isEnabled, removePropertyChangeListener, setActionMap
 

Constructor Detail

CubeTwisterView

public CubeTwisterView()
Creates a new instance.

Method Detail

init

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

Specified by:
init in interface org.jhotdraw.app.View
Overrides:
init in class org.jhotdraw.app.AbstractView

clear

public void clear()
Description copied from interface: org.jhotdraw.app.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.

Specified by:
clear in interface org.jhotdraw.app.View

canSaveTo

public boolean canSaveTo(java.net.URI uri)
Description copied from interface: org.jhotdraw.app.View
Returns true, if this view can be saved to the specified URI. A reason why the view can't be saved to a URI, is that the view is unable to write to a file-URI with the given filename extension without losing data.

The SaveAction uses this method to decide, whether to display a save dialog before saving the URI.

Specified by:
canSaveTo in interface org.jhotdraw.app.View
Overrides:
canSaveTo in class org.jhotdraw.app.AbstractView
Parameters:
uri - An URI. If this parameter is null, a NullPointerException is thrown.

initFromTemplate

public void initFromTemplate()
Reads the template file - if it exists.

The template file is called template.xml and is expected to be at the users home directory in the subdirectory Library/Preferences/CubeTwister or in the same directory where the DocumentView class is stored.

This method may take a lot of time. Don't call it in the AWTEventDispatcher thread.


readTemplate

public static DocumentModel readTemplate()

getComponent

public java.awt.Component getComponent(java.awt.Component parent,
                                       java.lang.Object value)
Sets the value of the viewer to value.

Specified by:
getComponent in interface Viewer
Parameters:
parent - This is the component into which the viewer will be embedded.
value - This is the object to be displayed.

read

public void read(java.net.URI uri,
                 org.jhotdraw.gui.URIChooser chooser)
          throws java.io.IOException
Description copied from interface: org.jhotdraw.app.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.

Specified by:
read in interface org.jhotdraw.app.View
Parameters:
uri - 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

getModel

public DocumentModel getModel()

write

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

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

Specified by:
write in interface org.jhotdraw.app.View
Parameters:
uri - 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

dispose

public void dispose()
Description copied from class: org.jhotdraw.app.AbstractView
Gets rid of all the resources of the view. No other methods should be invoked on the view afterwards.

Specified by:
dispose in interface org.jhotdraw.app.Disposable
Specified by:
dispose in interface org.jhotdraw.app.View
Overrides:
dispose in class org.jhotdraw.app.AbstractView

setEnabled

public void setEnabled(boolean b)
Description copied from interface: org.jhotdraw.app.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 org.jhotdraw.app.View
Overrides:
setEnabled in class javax.swing.JComponent

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

(c) Werner Randelshofer.
All rights reserved.