edu.northwestern.at.wordhoard.swing.calculator.menus
Class BaseMenu

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.AbstractButton
                  extended by javax.swing.JMenuItem
                      extended by javax.swing.JMenu
                          extended by edu.northwestern.at.wordhoard.swing.calculator.menus.BaseMenu
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.MenuElement, javax.swing.SwingConstants
Direct Known Subclasses:
AnalysisMenu, AuthorMenu, EditMenu, FileMenu, FindMenu, HelpMenu, QueryMenu, SetsMenu, ViewsMenu, WindowsMenu

public class BaseMenu
extends javax.swing.JMenu

See Also:
Serialized Form

Nested Class Summary
protected  class BaseMenu.GenericActionListener
          Generic action listener that invokes action methods using reflection.
protected  class BaseMenu.OutputResults
          Holds output results.
 
Nested classes/interfaces inherited from class javax.swing.JMenu
javax.swing.JMenu.AccessibleJMenu, javax.swing.JMenu.WinListener
 
Nested classes/interfaces inherited from class javax.swing.JMenuItem
javax.swing.JMenuItem.AccessibleJMenuItem
 
Nested classes/interfaces inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
 
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
protected  javax.swing.JMenuBar menuBar
          The menu bar to which this menu belongs.
protected  java.lang.String menuName
          The menu name.
protected  AbstractWindow parentWindow
          The window to which this menu is attached.
static int RADIOBUTTONMENUITEM
           
static int TEXTMENUITEM
          Menu item types supported here.
 
Fields inherited from class javax.swing.JMenu
popupListener
 
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BaseMenu(java.lang.String menuName)
          Create a menu.
BaseMenu(java.lang.String menuName, AbstractWindow parentWindow)
          Create a menu.
BaseMenu(java.lang.String menuName, javax.swing.JMenuBar menuBar)
          Create a menu.
BaseMenu(java.lang.String menuName, javax.swing.JMenuBar menuBar, AbstractWindow parentWindow)
          Create a menu.
 
Method Summary
 javax.swing.JButton addACancelButton(DialogPanel panel, ProgressPanel progressPanel)
          Add a cancel button to a progress panel.
protected  javax.swing.JButton addACloseButton(DialogPanel panel, java.lang.String outputTitle)
          Add a close button to a dialog panel.
protected  javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu, java.lang.String menuItemName, java.awt.event.ActionListener actionListener)
          Add a menu item to a menu.
protected  javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu, java.lang.String menuItemName, java.awt.event.ActionListener actionListener, javax.swing.KeyStroke acceleratorKey)
          Add a menu item to a menu.
protected  javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu, java.lang.String menuItemName, java.awt.event.ActionListener actionListener, javax.swing.KeyStroke acceleratorKey, boolean visible, boolean enabled)
          Add a menu item to a menu.
protected  javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu, java.lang.String menuItemName, int menuItemType, java.awt.event.ActionListener actionListener, javax.swing.KeyStroke acceleratorKey, boolean visible, boolean enabled)
          Add a menu item to a menu.
protected  javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName, java.awt.event.ActionListener actionListener)
          Add a menu item to a menu.
protected  javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName, java.awt.event.ActionListener actionListener, javax.swing.KeyStroke acceleratorKey)
          Add a menu item to a menu.
protected  javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName, java.awt.event.ActionListener actionListener, javax.swing.KeyStroke acceleratorKey, boolean visible, boolean enabled)
          Add a menu item to a menu.
protected  javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName, int menuItemType, java.awt.event.ActionListener actionListener, javax.swing.KeyStroke acceleratorKey, boolean visible, boolean enabled)
          Add a menu item to a menu.
 void cancelToClose(javax.swing.JButton button, java.awt.Component component)
          Change cancel button to a close button.
protected  void closePersistenceManager()
          Close the current thread's persistence manager.
protected  void createMenuItems()
          Create the menu items.
protected  BaseMenu.OutputResults createProgressPanel(java.lang.String title, java.lang.String initLabel)
          Create a progress panel for displaying a progress report.
protected  void displayErrorMessage(java.lang.String errorMessage)
          Display error message dialog.
protected  WordHoardCalculatorWindow getCalculatorWindow()
          Get Calculator's main window.
 bsh.util.JConsole getConsole()
          Get the interpreter console.
 EditMenu getEditMenu()
          Get the edit menu.
protected  javax.swing.text.JTextComponent getFocusedTextComponent(java.awt.Window window)
          Gets the currently focused text component.
 javax.swing.JTextPane getInputTextPane()
          Get the interpreter's input text pane.
 bsh.Interpreter getInterpreter()
          Get the interpreter.
protected  WordHoardTabbedPane getMainTabbedPane()
          Get Calculator's main tabbed pane.
protected  java.lang.String getNextOutputWindowTitle()
          Get next output panel title.
protected  java.lang.String getNextOutputWindowTitle(boolean show)
          Get next output panel title.
static ResultsPanel getResultsPanel(java.awt.Component component)
          Extract results panel from body of a dialog panel.
protected  TableOfContentsWindow getTableOfContentsWindow()
          Get Reader's table of contents window.
 void handleLoggedIn(boolean loggedIn)
          Handle menu changes when logged-in status changes.
 void handleLogin()
          Handle menu changes when logging in.
 void handleLogout()
          Handle menu changes when logging out.
protected  void notYetImplemented()
          Display "not yet implemented" message box.
protected  void performAction(java.awt.event.ActionEvent event, java.awt.event.ActionListener actionListener)
          Perform an action.
protected  void performAction(java.awt.event.ActionEvent event, java.lang.String methodName)
          Perform an action.
protected  void setBusyCursor()
          Set the busy cursor.
protected  void setDefaultCursor()
          Set the default cursor.
 
Methods inherited from class javax.swing.JMenu
add, add, add, add, add, addMenuListener, addSeparator, applyComponentOrientation, createActionChangeListener, createActionComponent, createWinListener, doClick, fireMenuCanceled, fireMenuDeselected, fireMenuSelected, getAccessibleContext, getComponent, getDelay, getItem, getItemCount, getMenuComponent, getMenuComponentCount, getMenuComponents, getMenuListeners, getPopupMenu, getPopupMenuOrigin, getSubElements, getUIClassID, insert, insert, insert, insertSeparator, isMenuComponent, isPopupMenuVisible, isSelected, isTearOff, isTopLevelMenu, menuSelectionChanged, paramString, processKeyEvent, remove, remove, remove, removeAll, removeMenuListener, setAccelerator, setComponentOrientation, setDelay, setMenuLocation, setModel, setPopupMenuVisible, setSelected, updateUI
 
Methods inherited from class javax.swing.JMenuItem
actionPropertyChanged, addMenuDragMouseListener, addMenuKeyListener, configurePropertiesFromAction, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getMenuDragMouseListeners, getMenuKeyListeners, init, isArmed, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setArmed, setEnabled, setUI
 
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
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, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, 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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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, 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 javax.swing.MenuElement
processKeyEvent, processMouseEvent
 

Field Detail

menuName

protected java.lang.String menuName
The menu name.


menuBar

protected javax.swing.JMenuBar menuBar
The menu bar to which this menu belongs.


parentWindow

protected AbstractWindow parentWindow
The window to which this menu is attached.


TEXTMENUITEM

public static final int TEXTMENUITEM
Menu item types supported here.

See Also:
Constant Field Values

RADIOBUTTONMENUITEM

public static final int RADIOBUTTONMENUITEM
See Also:
Constant Field Values
Constructor Detail

BaseMenu

public BaseMenu(java.lang.String menuName,
                javax.swing.JMenuBar menuBar,
                AbstractWindow parentWindow)
Create a menu.

Parameters:
menuName - The menu name.
menuBar - The menu bar to which to attach this menu.
parentWindow - The parent window of this menu.

BaseMenu

public BaseMenu(java.lang.String menuName,
                javax.swing.JMenuBar menuBar)
Create a menu.

Parameters:
menuName - The menu name.
menuBar - The menu bar to which to attach this menu.

BaseMenu

public BaseMenu(java.lang.String menuName,
                AbstractWindow parentWindow)
Create a menu.

Parameters:
menuName - The menu name.
parentWindow - Parent window for menu.

BaseMenu

public BaseMenu(java.lang.String menuName)
Create a menu.

Parameters:
menuName - The menu name.
Method Detail

createMenuItems

protected void createMenuItems()
Create the menu items. Override in subclasses.


addMenuItem

protected javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu,
                                            java.lang.String menuItemName,
                                            int menuItemType,
                                            java.awt.event.ActionListener actionListener,
                                            javax.swing.KeyStroke acceleratorKey,
                                            boolean visible,
                                            boolean enabled)
Add a menu item to a menu.

Parameters:
menu - Menu to which to add menu item.
menuItemName - The name of the menu item.
menuItemType - Menu item type. = TEXTMENUITEM: ordinary menu item = RADIOBUTTONMENUITEM: radio button
actionListener - The action listener for the menu item.
acceleratorKey - Accelerator for menu item.
visible - True if menu item is initially visible.
enabled - True if menu item is initially enabled.
Returns:
JMenuItem for the menu item.

addMenuItem

protected javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu,
                                            java.lang.String menuItemName,
                                            java.awt.event.ActionListener actionListener,
                                            javax.swing.KeyStroke acceleratorKey,
                                            boolean visible,
                                            boolean enabled)
Add a menu item to a menu.

Parameters:
menu - Menu to which to add menu item.
menuItemName - The name of the menu item.
actionListener - The action listener for the menu item.
acceleratorKey - Accelerator for menu item.
visible - True if menu item is initially visible.
enabled - True if menu item is initially enabled.
Returns:
JMenuItem for the menu item.

addMenuItem

protected javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName,
                                            int menuItemType,
                                            java.awt.event.ActionListener actionListener,
                                            javax.swing.KeyStroke acceleratorKey,
                                            boolean visible,
                                            boolean enabled)
Add a menu item to a menu.

Parameters:
menuItemName - The name of the menu item.
menuItemType - Menu item type. = TEXTMENUITEM: ordinary menu item = RADIOBUTTONMENUITEM: radio button
actionListener - The action listener for the menu item.
acceleratorKey - Accelerator for menu item.
visible - True if menu item is initially visible.
enabled - True if menu item is initially enabled.
Returns:
JMenuItem for the menu item.

addMenuItem

protected javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName,
                                            java.awt.event.ActionListener actionListener,
                                            javax.swing.KeyStroke acceleratorKey,
                                            boolean visible,
                                            boolean enabled)
Add a menu item to a menu.

Parameters:
menuItemName - The name of the menu item.
actionListener - The action listener for the menu item.
acceleratorKey - Accelerator for menu item.
visible - True if menu item is initially visible.
enabled - True if menu item is initially enabled.
Returns:
JMenuItem for the menu item.

addMenuItem

protected javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu,
                                            java.lang.String menuItemName,
                                            java.awt.event.ActionListener actionListener,
                                            javax.swing.KeyStroke acceleratorKey)
Add a menu item to a menu.

Parameters:
menu - Menu to which to add menu item.
menuItemName - The name of the menu item.
actionListener - The action listener for the menu item.
acceleratorKey - Accelerator key for menu item.
Returns:
JMenuItem for the menu item.

addMenuItem

protected javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName,
                                            java.awt.event.ActionListener actionListener,
                                            javax.swing.KeyStroke acceleratorKey)
Add a menu item to a menu.

Parameters:
menuItemName - The name of the menu item.
actionListener - The action listener for the menu item.
acceleratorKey - Accelerator key for menu item.
Returns:
JMenuItem for the menu item.

addMenuItem

protected javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu,
                                            java.lang.String menuItemName,
                                            java.awt.event.ActionListener actionListener)
Add a menu item to a menu.

Parameters:
menu - Menu to which to add menu item.
menuItemName - The name of the menu item.
actionListener - The action listener for the menu item.
Returns:
JMenuItem for the menu item.

addMenuItem

protected javax.swing.JMenuItem addMenuItem(java.lang.String menuItemName,
                                            java.awt.event.ActionListener actionListener)
Add a menu item to a menu.

Parameters:
menuItemName - The name of the menu item.
actionListener - The action listener for the menu item.
Returns:
JMenuItem for the menu item.

closePersistenceManager

protected void closePersistenceManager()
Close the current thread's persistence manager.


createProgressPanel

protected BaseMenu.OutputResults createProgressPanel(java.lang.String title,
                                                     java.lang.String initLabel)
Create a progress panel for displaying a progress report.

Parameters:
title - Title for the progress report.
initLabel - The initial label for the progress report.
Returns:
OutputResults object with progress panel and close button.

displayErrorMessage

protected void displayErrorMessage(java.lang.String errorMessage)
Display error message dialog.

Parameters:
errorMessage - The error message text.

getCalculatorWindow

protected WordHoardCalculatorWindow getCalculatorWindow()
Get Calculator's main window.

Returns:
The Calculator's main window.

getConsole

public bsh.util.JConsole getConsole()
Get the interpreter console.

Returns:
Interpreter console.

getEditMenu

public EditMenu getEditMenu()
Get the edit menu.

Returns:
The edit menu.

getFocusedTextComponent

protected javax.swing.text.JTextComponent getFocusedTextComponent(java.awt.Window window)
Gets the currently focused text component.

Parameters:
window - The window in which to locate the text component.
Returns:
The currently focused text component, or null if none.

getInputTextPane

public javax.swing.JTextPane getInputTextPane()
Get the interpreter's input text pane.

Returns:
The intepreter's input text pane.

getInterpreter

public bsh.Interpreter getInterpreter()
Get the interpreter.

Returns:
The main script interpreter.

getMainTabbedPane

protected WordHoardTabbedPane getMainTabbedPane()
Get Calculator's main tabbed pane.

Returns:
The Calculator's main tabbed pane.

getNextOutputWindowTitle

protected java.lang.String getNextOutputWindowTitle(boolean show)
Get next output panel title.

Parameters:
show - True to ensure calculator window is visible.
Returns:
Title for next output window panel.

getNextOutputWindowTitle

protected java.lang.String getNextOutputWindowTitle()
Get next output panel title.

Returns:
Title for next output window panel.

Calculator window is also made visible.


getResultsPanel

public static ResultsPanel getResultsPanel(java.awt.Component component)
Extract results panel from body of a dialog panel.


getTableOfContentsWindow

protected TableOfContentsWindow getTableOfContentsWindow()
                                                  throws java.lang.Exception
Get Reader's table of contents window.

Throws:
java.lang.Exception

handleLogin

public void handleLogin()
Handle menu changes when logging in. Override in subclasses.


handleLogout

public void handleLogout()
Handle menu changes when logging out. Override in subclasses.


handleLoggedIn

public void handleLoggedIn(boolean loggedIn)
Handle menu changes when logged-in status changes.

Parameters:
loggedIn - true if logged in, false otherwise.

performAction

protected void performAction(java.awt.event.ActionEvent event,
                             java.lang.String methodName)
Perform an action.

Parameters:
event - The action event.
methodName - The name of the method to invoke.

Calls the specified method using reflection on the Swing event thread. This ensures that an action handler for a menu item does not end up stacked deeply which can cause problems when the action handler takes a long time to execute. The method called must either take no argument or a single ActionEvent argument.


performAction

protected void performAction(java.awt.event.ActionEvent event,
                             java.awt.event.ActionListener actionListener)
Perform an action.

Parameters:
event - The action event.
actionListener - The action listener.

Calls the specified action method in the actionListener.


setBusyCursor

protected void setBusyCursor()
Set the busy cursor.


setDefaultCursor

protected void setDefaultCursor()
Set the default cursor.


notYetImplemented

protected void notYetImplemented()
Display "not yet implemented" message box.


addACloseButton

protected javax.swing.JButton addACloseButton(DialogPanel panel,
                                              java.lang.String outputTitle)
Add a close button to a dialog panel.

Parameters:
panel - Dialog panel to which to add close button.
outputTitle - Title of tabbed panel holding dialog panel.

addACancelButton

public javax.swing.JButton addACancelButton(DialogPanel panel,
                                            ProgressPanel progressPanel)
Add a cancel button to a progress panel.

Parameters:
panel - Dialog panel to which to add close button.
progressPanel - Progress panel to which to tie cancel action.

cancelToClose

public void cancelToClose(javax.swing.JButton button,
                          java.awt.Component component)
Change cancel button to a close button.

Parameters:
button - The cancel button to change to a close button.
component - Component in tabbed panel holding button.