org.fife.help
Class HelpDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by org.fife.help.HelpDialog
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class HelpDialog
extends javax.swing.JFrame
implements java.awt.event.ActionListener

A help dialog similar to those found in most Microsoft Windows programs. The dialog contains a pane with Contents, Index, and Search tabs, each of which yields the expected way to find help. Help pages should be HTML.

Features of HelpDialog include:

Notes:

Version:
1.1
Author:
Robert Futrell
See Also:
Serialized Form

Nested Class Summary
protected  class HelpDialog.HelpListener
          Listens for events in the help dialog.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
HelpDialog(GUIApplication owner, java.lang.String contentsFile, java.lang.String baseDir)
          Creates a new help dialog.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 java.lang.String getContentsTabText()
          Returns the label on the "Contents" tab.
 java.lang.String getDisplayButtonText()
          Returns the label on the "Display" button on the Index and Search panels.
 java.lang.String getIndexTabText()
          Returns the label on the "Index" tab.
 java.lang.String getKeywordFieldLabelText()
          Returns the text label above the "Type in a keyword to find" text boxes.
 java.lang.String getListTopicsButtonText()
          Returns the label on the "List Topics" button on the Search panels.
 boolean getOpenWebUrlsInRealBrowser()
          Returns whether URLs starting with "http://" should be opened in a real web browser (assuming Java 6), instead of this Help dialog.
 java.lang.String getSearchTabText()
          Returns the label on the "Search" tab.
 java.lang.String getTopicToDisplayFieldLabelText()
          Returns the text label above the "Select topic to display" text box.
 void setBackButtonIcon(javax.swing.Icon icon)
          Sets the icon to use for the "back" button.
 void setBaseURL(java.net.URL url)
          Sets the "base URL" from which all links will be searched for.
 void setContentsTabText(java.lang.String text)
          Sets the label on the "Contents" tab.
 void setDisplayButtonText(java.lang.String text)
          Sets the label on the "Display" button on the Index and Search panels.
 void setForwardButtonIcon(javax.swing.Icon icon)
          Sets the icon to use for the "forward" button.
 void setIndexTabText(java.lang.String text)
          Sets the label on the "Index" tab.
 void setKeywordFieldLabelText(java.lang.String text)
          Sets the text label above the "Type in a keyword to find" text boxes.
 void setListTopicsButtonText(java.lang.String text)
          Sets the label on the "List Topics" button on the Search panels.
 void setOpenWebUrlsInRealBrowser(boolean inRealBrowser)
          Toggles whether URLs starting with "http://" should be opened in a real web browser (assuming Java 6), instead of this Help dialog.
 void setSearchTabText(java.lang.String text)
          Sets the label on the "Search" tab.
 void setTopicToDisplayFieldLabelText(java.lang.String text)
          Sets the text label above the "Select topic to display" text box.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, 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 java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

HelpDialog

public HelpDialog(GUIApplication owner,
                  java.lang.String contentsFile,
                  java.lang.String baseDir)
Creates a new help dialog.

Parameters:
owner - The frame that owns this dialog.
contentsFile - The XML file specifying the structure of this online help.
baseDir - The directory in which all help stuff is stored. This will also be used as the base directory for relative links in the HTML of the online help.
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

getContentsTabText

public final java.lang.String getContentsTabText()
Returns the label on the "Contents" tab.

Returns:
The text on the "Contents" tab.
See Also:
setContentsTabText(java.lang.String)

getDisplayButtonText

public final java.lang.String getDisplayButtonText()
Returns the label on the "Display" button on the Index and Search panels.

Returns:
The text on the "Display" buttons.
See Also:
setDisplayButtonText(java.lang.String)

getIndexTabText

public final java.lang.String getIndexTabText()
Returns the label on the "Index" tab.

Returns:
The text on the "Index" tab.
See Also:
setIndexTabText(java.lang.String)

getKeywordFieldLabelText

public final java.lang.String getKeywordFieldLabelText()
Returns the text label above the "Type in a keyword to find" text boxes.

Returns:
The text label.
See Also:
setKeywordFieldLabelText(java.lang.String)

getListTopicsButtonText

public final java.lang.String getListTopicsButtonText()
Returns the label on the "List Topics" button on the Search panels.

Returns:
The text on the "List Topics" button.
See Also:
setListTopicsButtonText(java.lang.String)

getOpenWebUrlsInRealBrowser

public boolean getOpenWebUrlsInRealBrowser()
Returns whether URLs starting with "http://" should be opened in a real web browser (assuming Java 6), instead of this Help dialog. The default value of this property is true, since it's assumed this is usually done to go to project home pages or more extensive online documentation, and JEditorPane can't really handle "real" HTML.

Returns:
Whether URL's starting with "http://" are opened in a real browser.
See Also:
setOpenWebUrlsInRealBrowser(boolean)

getSearchTabText

public final java.lang.String getSearchTabText()
Returns the label on the "Search" tab.

Returns:
The text on the "Search" tab.
See Also:
setSearchTabText(java.lang.String)

getTopicToDisplayFieldLabelText

public final java.lang.String getTopicToDisplayFieldLabelText()
Returns the text label above the "Select topic to display" text box.

Returns:
The text label.
See Also:
setTopicToDisplayFieldLabelText(java.lang.String)

setBackButtonIcon

public void setBackButtonIcon(javax.swing.Icon icon)
Sets the icon to use for the "back" button.

Parameters:
icon - The icon to use. If null, no icon will be used.
See Also:
setForwardButtonIcon(javax.swing.Icon)

setBaseURL

public void setBaseURL(java.net.URL url)
Sets the "base URL" from which all links will be searched for. That is, all HTML pages loaded will have their links treated as relative to this URL.

Parameters:
url - The base URL.

setContentsTabText

public void setContentsTabText(java.lang.String text)
Sets the label on the "Contents" tab.

Parameters:
text - The text for the "Contents" tab.
See Also:
getContentsTabText()

setDisplayButtonText

public void setDisplayButtonText(java.lang.String text)
Sets the label on the "Display" button on the Index and Search panels.

Parameters:
text - The text for the "Display" button.
See Also:
getDisplayButtonText()

setForwardButtonIcon

public void setForwardButtonIcon(javax.swing.Icon icon)
Sets the icon to use for the "forward" button.

Parameters:
icon - The icon to use. If null, no icon will be used.
See Also:
setBackButtonIcon(javax.swing.Icon)

setIndexTabText

public void setIndexTabText(java.lang.String text)
Sets the label on the "Index" tab.

Parameters:
text - The text for the "Index" tab.
See Also:
getIndexTabText()

setKeywordFieldLabelText

public void setKeywordFieldLabelText(java.lang.String text)
Sets the text label above the "Type in a keyword to find" text boxes.

Parameters:
text - The text label.
See Also:
getKeywordFieldLabelText()

setListTopicsButtonText

public void setListTopicsButtonText(java.lang.String text)
Sets the label on the "List Topics" button on the Search panels.

Parameters:
text - The text for the "List Topics" button.
See Also:
getListTopicsButtonText()

setOpenWebUrlsInRealBrowser

public void setOpenWebUrlsInRealBrowser(boolean inRealBrowser)
Toggles whether URLs starting with "http://" should be opened in a real web browser (assuming Java 6), instead of this Help dialog. The default value of this property is true, since it's assumed this is usually done to go to project home pages or more extensive online documentation, and JEditorPane can't really handle "real" HTML.

Parameters:
inRealBrowser - Whether to open URL's starting with "http://" in a real browser.
See Also:
getOpenWebUrlsInRealBrowser()

setSearchTabText

public void setSearchTabText(java.lang.String text)
Sets the label on the "Search" tab.

Parameters:
text - The text for the "Search" tab.
See Also:
getSearchTabText()

setTopicToDisplayFieldLabelText

public void setTopicToDisplayFieldLabelText(java.lang.String text)
Sets the text label above the "Select topic to display" text box.

Parameters:
text - The text label.
See Also:
getTopicToDisplayFieldLabelText()