org.vizzini.ui.help
Class HelpDialogSwing

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JOptionPane
                  extended by org.vizzini.ui.AbstractOptionPane
                      extended by org.vizzini.ui.help.HelpDialogSwing
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class HelpDialogSwing
extends AbstractOptionPane

Provides a Swing dialog to display help information.

This dialog uses an instance of HelpModel to access HTML files in the help subdirectory of the owning class package. The HTML files must use the suffix .html.

A file called topicList.txt must contain the ordered topic list.

Since:
v0.2
Version:
v0.3
Author:
Jeffrey M. Thompson
See Also:
HelpModel, Serialized Form

Nested Class Summary
(package private)  class HelpDialogSwing.MyTreeSelectionListener
          Provides a tree selection listener with an active flag so it can be turned off.
 
Nested classes/interfaces inherited from class javax.swing.JOptionPane
JOptionPane.AccessibleJOptionPane
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.vizzini.ui.AbstractOptionPane
_title, APPLY_OPTION, CUSTOM_CANCEL_APPLY_OPTION, CUSTOM_CANCEL_OPTION, CUSTOM_OPTION, OK_CANCEL_APPLY_OPTION
 
Fields inherited from class javax.swing.JOptionPane
CANCEL_OPTION, CLOSED_OPTION, DEFAULT_OPTION, ERROR_MESSAGE, icon, ICON_PROPERTY, INFORMATION_MESSAGE, INITIAL_SELECTION_VALUE_PROPERTY, INITIAL_VALUE_PROPERTY, initialSelectionValue, initialValue, INPUT_VALUE_PROPERTY, inputValue, message, MESSAGE_PROPERTY, MESSAGE_TYPE_PROPERTY, messageType, NO_OPTION, OK_CANCEL_OPTION, OK_OPTION, OPTION_TYPE_PROPERTY, options, OPTIONS_PROPERTY, optionType, PLAIN_MESSAGE, QUESTION_MESSAGE, SELECTION_VALUES_PROPERTY, selectionValues, UNINITIALIZED_VALUE, value, VALUE_PROPERTY, WANTS_INPUT_PROPERTY, wantsInput, WARNING_MESSAGE, YES_NO_CANCEL_OPTION, YES_NO_OPTION, YES_OPTION
 
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
HelpDialogSwing(Frame frame, String ownerTitle)
          Construct this object with the given parameters.
HelpDialogSwing(Frame frame, String ownerTitle, Class owningClass)
          Construct this object with the given parameters.
 
Method Summary
 void backActionPerformed(ActionEvent event)
          Callback for the back action.
protected  void checkActions()
          Check the action enabled states.
protected  JComponent createDocumentUI()
          Create the document pane.
protected  HyperlinkListener createHyperlinkListener()
          Create a hyperlink listener.
protected  JComponent createNavigationUI()
          Create the navigation pane.
protected  JComponent createTopicUI()
          Create the topic tree component.
protected  HelpDialogSwing.MyTreeSelectionListener createTreeSelectionListener()
          Create a tree selection listener.
 void displayDocument(String topic)
          Display the document which corresponds to the given topic.
 void displayDocument(URL url, boolean doSelectTopicNode)
          Display the document at the given URL.
protected  void fillMainPanel(JPanel mainPanel)
          Fill the main panel which is placed in the message area of the option pane.
 void forwardActionPerformed(ActionEvent event)
          Callback for the forward action.
protected  Action getBackAction()
          Return the home action.
protected  Action getForwardAction()
          Return the home action.
protected  Action getHomeAction()
          Return the home action.
protected  String getHomeTopic()
          Return the home topic.
protected  URL getHomeUrl()
          Return the home URL.
protected  URL getSystemResourceFor(String topic)
          Return the URL which corresponds to the given topic.
protected  String getTitleKey()
          Return the title string key.
protected  String getTopicFor(URL url)
          Return the URL which corresponds to the given topic.
 void homeActionPerformed(ActionEvent event)
          Callback for the home action.
protected  void logTreeNodesMap()
          Debug method to log the tree nodes map.
protected  void saveToNext()
          Save the current document URL on the next stack.
protected  void saveToPrevious()
          Save the current document URL on the previous stack.
protected  void selectNodeFor(String topic)
          Select the node for the given topic.
protected  void selectNodeFor(URL url)
          Select the node for the given URL.
 
Methods inherited from class org.vizzini.ui.AbstractOptionPane
applyActionPerformed, cancelActionPerformed, checkComponents, closedActionPerformed, createMainPanel, fillMainPanel, findAndSetDefaultButton, getDialog, getMainPanel, getOptionType, getOwnerTitle, getResult, init, initializeOptionStrings, isActionApproved, isDirty, noActionPerformed, okActionPerformed, performUpdates, processResult, setCursorBusy, setDirty, setOptionType, setOptionType, setTitle
 
Methods inherited from class javax.swing.JOptionPane
createDialog, createInternalFrame, getAccessibleContext, getDesktopPaneForComponent, getFrameForComponent, getIcon, getInitialSelectionValue, getInitialValue, getInputValue, getMaxCharactersPerLineCount, getMessage, getMessageType, getOptions, getRootFrame, getSelectionValues, getUI, getUIClassID, getValue, getWantsInput, paramString, selectInitialValue, setIcon, setInitialSelectionValue, setInitialValue, setInputValue, setMessage, setMessageType, setOptions, setRootFrame, setSelectionValues, setUI, setValue, setWantsInput, showConfirmDialog, showConfirmDialog, showConfirmDialog, showConfirmDialog, showInputDialog, showInputDialog, showInputDialog, showInputDialog, showInputDialog, showInputDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalInputDialog, showInternalInputDialog, showInternalInputDialog, showInternalMessageDialog, showInternalMessageDialog, showInternalMessageDialog, showInternalOptionDialog, showMessageDialog, showMessageDialog, showMessageDialog, showOptionDialog, 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, 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, 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, setEnabled, 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, 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
 

Constructor Detail

HelpDialogSwing

public HelpDialogSwing(Frame frame,
                       String ownerTitle)
Construct this object with the given parameters.

Parameters:
frame - Parent frame.
ownerTitle - Owner title.
Since:
v0.2

HelpDialogSwing

public HelpDialogSwing(Frame frame,
                       String ownerTitle,
                       Class owningClass)
Construct this object with the given parameters.

Parameters:
frame - Parent frame.
ownerTitle - Owner title.
owningClass - Class whose package to use to locate the help subdirectory. used to locate the help files.
Since:
v0.2
Method Detail

backActionPerformed

public void backActionPerformed(ActionEvent event)
Callback for the back action.

Since:
v0.2

displayDocument

public void displayDocument(String topic)
Display the document which corresponds to the given topic.

Parameters:
topic - Topic to display.
Since:
v0.2

displayDocument

public void displayDocument(URL url,
                            boolean doSelectTopicNode)
Display the document at the given URL.

Parameters:
url - URL to display.
doSelectTopicNode - Flag indicating whether to select the topic node in the topic tree.
Since:
v0.2

forwardActionPerformed

public void forwardActionPerformed(ActionEvent event)
Callback for the forward action.

Since:
v0.2

homeActionPerformed

public void homeActionPerformed(ActionEvent event)
Callback for the home action.

Since:
v0.2

checkActions

protected void checkActions()
Check the action enabled states.

Since:
v0.2

createDocumentUI

protected JComponent createDocumentUI()
Create the document pane.

Since:
v0.2

createHyperlinkListener

protected HyperlinkListener createHyperlinkListener()
Create a hyperlink listener.

Since:
v0.2

createNavigationUI

protected JComponent createNavigationUI()
Create the navigation pane.

Since:
v0.2

createTopicUI

protected JComponent createTopicUI()
Create the topic tree component.

Since:
v0.2

createTreeSelectionListener

protected HelpDialogSwing.MyTreeSelectionListener createTreeSelectionListener()
Create a tree selection listener.

Since:
v0.2

fillMainPanel

protected void fillMainPanel(JPanel mainPanel)
Fill the main panel which is placed in the message area of the option pane.

Specified by:
fillMainPanel in class AbstractOptionPane
Since:
v0.2

getBackAction

protected Action getBackAction()
Return the home action.

Since:
v0.2

getForwardAction

protected Action getForwardAction()
Return the home action.

Since:
v0.2

getHomeAction

protected Action getHomeAction()
Return the home action.

Since:
v0.2

getHomeTopic

protected String getHomeTopic()
Return the home topic.

Since:
v0.2

getHomeUrl

protected URL getHomeUrl()
Return the home URL.

Since:
v0.2

getSystemResourceFor

protected URL getSystemResourceFor(String topic)
Return the URL which corresponds to the given topic.

Parameters:
topic - Topic.
Since:
v0.2

getTitleKey

protected String getTitleKey()
Return the title string key.

Specified by:
getTitleKey in class AbstractOptionPane
Since:
v0.2

getTopicFor

protected String getTopicFor(URL url)
Return the URL which corresponds to the given topic.

Parameters:
url - URL to the topic's html page.
Since:
v0.2

logTreeNodesMap

protected void logTreeNodesMap()
Debug method to log the tree nodes map.

Since:
v0.2

saveToNext

protected void saveToNext()
Save the current document URL on the next stack.

Since:
v0.2

saveToPrevious

protected void saveToPrevious()
Save the current document URL on the previous stack.

Since:
v0.2

selectNodeFor

protected void selectNodeFor(URL url)
Select the node for the given URL.

Since:
v0.2

selectNodeFor

protected void selectNodeFor(String topic)
Select the node for the given topic.

Since:
v0.2


Copyright 2007 Vizzini.org. All Rights Reserved. 2007.12.25.03.00.02