org.openstreetmap.josm.gui.help
Class HelpBrowser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.openstreetmap.josm.gui.help.HelpBrowser
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class HelpBrowser
extends javax.swing.JDialog

See Also:
Serialized Form

Nested Class Summary
(package private) static class HelpBrowser.BackAction
           
(package private)  class HelpBrowser.EditAction
           
(package private) static class HelpBrowser.ForwardAction
           
(package private)  class HelpBrowser.HomeAction
           
(package private)  class HelpBrowser.HyperlinkHandler
           
(package private)  class HelpBrowser.OpenInBrowserAction
           
(package private)  class HelpBrowser.ReloadAction
           
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
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
private static JosmAction focusAction
           
private  javax.swing.JEditorPane help
          the help browser
private  HelpBrowserHistory history
          the help browser history
private static HelpBrowser instance
          the unique instance
private  HelpContentReader reader
           
private  java.lang.String url
          the currently displayed URL
private  javax.swing.JMenuItem windowMenuItem
          the menu item in the windows menu.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
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, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
HelpBrowser()
           
 
Method Summary
protected  void build()
           
protected  javax.swing.text.html.StyleSheet buildStyleSheet()
          Builds the style sheet used in the internal help browser
protected  javax.swing.JToolBar buildToolBar()
           
static HelpBrowser getInstance()
          Replies the unique instance of the help browser
 java.lang.String getUrl()
          Replies the current URL
protected  void handleHelpContentReaderException(java.lang.String relativeHelpTopic, HelpContentReaderException e)
          Displays a error page if a help topic couldn't be loaded because of network or IO error.
protected  void handleMissingHelpContent(java.lang.String relativeHelpTopic)
          Displays a warning page when a help topic doesn't exist yet.
static void launchBrowser(java.lang.String helpTopic)
          Launches the internal help browser and directs it to the help page for helpTopic.
protected  void loadAbsoluteHelpTopic(java.lang.String absoluteHelpTopic)
          Loads a help topic given by an absolute help topic name, i.e.
protected  void loadRelativeHelpTopic(java.lang.String relativeHelpTopic)
          Loads a help topic given by a relative help topic name (i.e.
protected  void loadTopic(java.lang.String content)
           
 void openHelpTopic(java.lang.String relativeHelpTopic)
          Loads and displays the help information for a help topic given by a relative help topic name, i.e.
 void openUrl(java.lang.String url)
          Opens an URL and displays the content.
static void setUrlForHelpTopic(java.lang.String helpTopic)
          Show the help page for help topic helpTopic.
 void setVisible(boolean visible)
           
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack
 
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, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, remove, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

instance

private static HelpBrowser instance
the unique instance


windowMenuItem

private javax.swing.JMenuItem windowMenuItem
the menu item in the windows menu. Required to properly hide on dialog close.


help

private javax.swing.JEditorPane help
the help browser


history

private HelpBrowserHistory history
the help browser history


url

private java.lang.String url
the currently displayed URL


reader

private HelpContentReader reader

focusAction

private static final JosmAction focusAction
Constructor Detail

HelpBrowser

public HelpBrowser()
Method Detail

getInstance

public static HelpBrowser getInstance()
Replies the unique instance of the help browser

Returns:
the unique instance of the help browser

setUrlForHelpTopic

public static void setUrlForHelpTopic(java.lang.String helpTopic)
Show the help page for help topic helpTopic.

Parameters:
helpTopic - the help topic

launchBrowser

public static void launchBrowser(java.lang.String helpTopic)
Launches the internal help browser and directs it to the help page for helpTopic.

Parameters:
helpTopic - the help topic

buildStyleSheet

protected javax.swing.text.html.StyleSheet buildStyleSheet()
Builds the style sheet used in the internal help browser

Returns:
the style sheet

buildToolBar

protected javax.swing.JToolBar buildToolBar()

build

protected void build()

setVisible

public void setVisible(boolean visible)
Overrides:
setVisible in class java.awt.Dialog

loadTopic

protected void loadTopic(java.lang.String content)

getUrl

public java.lang.String getUrl()
Replies the current URL

Returns:
the current URL

handleMissingHelpContent

protected void handleMissingHelpContent(java.lang.String relativeHelpTopic)
Displays a warning page when a help topic doesn't exist yet.

Parameters:
relativeHelpTopic - the help topic

handleHelpContentReaderException

protected void handleHelpContentReaderException(java.lang.String relativeHelpTopic,
                                                HelpContentReaderException e)
Displays a error page if a help topic couldn't be loaded because of network or IO error.

Parameters:
relativeHelpTopic - the help topic
e - the exception

loadRelativeHelpTopic

protected void loadRelativeHelpTopic(java.lang.String relativeHelpTopic)
Loads a help topic given by a relative help topic name (i.e. "/Action/New") First tries to load the language specific help topic. If it is missing, tries to load the topic in English.

Parameters:
relativeHelpTopic - the relative help topic

loadAbsoluteHelpTopic

protected void loadAbsoluteHelpTopic(java.lang.String absoluteHelpTopic)
Loads a help topic given by an absolute help topic name, i.e. "/De:Help/Action/New"

Parameters:
absoluteHelpTopic - the absolute help topic name

openUrl

public void openUrl(java.lang.String url)
Opens an URL and displays the content. If the URL is the locator of an absolute help topic, help content is loaded from the JOSM wiki. Otherwise, the help browser loads the page from the given URL

Parameters:
url - the url

openHelpTopic

public void openHelpTopic(java.lang.String relativeHelpTopic)
Loads and displays the help information for a help topic given by a relative help topic name, i.e. "/Action/New"

Parameters:
relativeHelpTopic - the relative help topic


JOSM