Extension SDK 10.1.2

oracle.ide.panels
Class MDDPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byoracle.ide.panels.DefaultTraversablePanel
                      extended byoracle.ide.panels.AbstractUIContainer
                          extended byoracle.ide.panels.MDDPanel
All Implemented Interfaces:
javax.accessibility.Accessible, ApplyListener, ApplyNotifier, java.util.EventListener, GridBagConstants, java.awt.image.ImageObserver, java.awt.MenuContainer, oracle.ide.panels.NavigableUIContainer, java.io.Serializable, Traversable

public class MDDPanel
extends oracle.ide.panels.AbstractUIContainer

This implementation of NavigableUIContainer is a "master-detail-detail" panel, hence the name MDDPanel. It subdivides its contents into three areas:

    ------------------------------------------------------
    |            |                                       |
    |            |                                       |
    |   master   |                                       |
    |    tree    |                                       |
    |            |                                       |
    |            |             detail-detail             |
    |            |                 panel                 |
    |            |                                       |
    |------------|                                       |
    |            |                                       |
    |   detail   |                                       |
    |    tree    |                                       |
    |            |                                       |
    |            |                                       |
    |            |                                       |
    ------------------------------------------------------

Each area is contained by a JSplitPane so they are all resizeable. There is a flag in one of the constructors that is used to disable the detail tree if it is not needed; when the detail tree is hidden, then any tree nodes that would normally be shown in the detail tree will be shown as child nodes in the master tree instead, with the detail nodes appearing before child nodes.

When a dialog is required, an instance of MDDPanel should be hosted by a TDialogLauncher. Certain MDDPanel methods cannot be be called until the MDDPanel's onEntry method has been called.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String CURRENT_TRAVERSABLE
           
static java.lang.String CURRENT_TREE1
           
static java.lang.String CURRENT_TREE1_MODEL
           
static java.lang.String CURRENT_TREE1_NODE
           
static java.lang.String NAVIGABLE_UI_CONTAINER
          Constant used to get an instance of NavigableUIContainer from TraversableContext.getDesignTimeObject(String).
static java.lang.String TREE_PANEL_EAST
          Layout constraint for addTreePanelComponent(..).
static java.lang.String TREE_PANEL_NORTH
          Layout constraint for addTreePanelComponent(..).
static java.lang.String TREE_PANEL_SOUTH
          Layout constraint for addTreePanelComponent(..).
static java.lang.String TREE_PANEL_WEST
          Layout constraint for addTreePanelComponent(..).
 
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 oracle.ide.controls.GridBagConstants
ANCHOR_C, ANCHOR_E, ANCHOR_N, ANCHOR_NE, ANCHOR_NW, ANCHOR_S, ANCHOR_SE, ANCHOR_SW, ANCHOR_W, FILL_NONE, FILL_X, FILL_XY, FILL_Y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected MDDPanel()
          This constructor should only be used by subclasses that will build the Navigable list from within the onEntry method.
  MDDPanel(Navigable rootNavigable)
          Constructs a new MDDPanel with a single root node in the master tree.
  MDDPanel(Navigable[] rootNavigables)
          Constructs a new MDDPanel with the specified nodes as root nodes in the master tree.
  MDDPanel(Navigable[] rootNavigables, boolean useDetailTree)
          Constructs a new MDDPanel with the specified nodes as root nodes in the master tree.
 
Method Summary
 void addApplyListener(ApplyListener applyListener)
          Adds an ApplyListener that will be called when the user applies or cancels changes.
protected  void addListener(java.lang.Class eventClass, java.util.EventListener listener)
           
 void addMDDListener(oracle.ide.panels.MDDListener listener)
           
 void addTreePanelComponent(java.awt.Component comp, java.lang.Object layoutConstraint)
           
 void apply(ApplyEvent e)
          This method is called when the changes made in the NavigableUIContainer are to be committed to the original data structures.
 void cancel(ApplyEvent e)
          This method is called when the changes made in the NavigableUIContainer are to be discarded.
 boolean displayDetailNodesAsChildren()
          Returns true if the UI container is displaying detail nodes with the children rather than in a separate tree.
 boolean enableSelectionDelay(boolean selectionDelay)
           
 void expandTree1Path(java.lang.String[] expandPath)
          Expands the specified path.
 void expandTree1ToDepth(int depth)
          Expands the master tree up to and including the number of levels specified by the depth parameter.
protected  void fireApply(ApplyEvent event)
          Fires the "apply" message to all registered ApplyListener objects.
protected  void fireCancel(ApplyEvent event)
          Fires the "cancel" message to all registered ApplyListener objects.
protected  void fireTraversableEntered(TraversableContext tc)
           
 java.util.Comparator getChildComparator()
          Returns the Comparator to use for sorting the root Navigable children of this MDDPanel.
protected  Navigable getCurrentNavigable()
          Concrete subclasses must implement this method to return the Navigable that is currently selected in the UI.
protected  Traversable getCurrentTraversable()
          Concrete subclasses must implement this method to return the Traversable that is currently selected in the UI.
 java.util.Comparator getDefaultChildComparator()
          Returns the Comparator to use for sorting Navigable children for this MDDPanel.
protected  javax.swing.JSplitPane getDetailSplitPane()
           
 java.lang.String getHelpID()
          Returns the context-sensitive help topic ID to use for this Traversable.
protected  java.util.Iterator getListenerIterator(java.lang.Class listenerClass)
           
protected  javax.swing.JSplitPane getMainSplitPane()
           
protected  Navigable[] getRootNavigables()
           
 java.lang.String[] getTree1SelectionPath()
          Note: The onEntry must have already been called before this method will have an effect.
protected  void maybeRefreshUI(TraversableContext tc)
           
protected  TraversableContext newTraversableContext()
          Adds design-time objects to the TraversableContext.
 void onEntry(TraversableContext tc)
          This method is called when the Traversable is being entered.
 void onExit(TraversableContext tc)
          This method is called when the Traversable is being exited.
protected  void refreshUI(TraversableContext dataScope)
           
 void removeApplyListener(ApplyListener applyListener)
          Removes a previously added ApplyListener so that it no longer receives notification when the user applies or cancels changes.
protected  void removeListener(java.lang.Class eventClass, java.util.EventListener listener)
           
 void removeMDDListener(oracle.ide.panels.MDDListener listener)
           
 void setChildComparator(java.util.Comparator childComparator)
          Sets the Comparator to use for sorting just the root Navigable children of this MDDPanel; if null is specified, then the root Navigable children will not be sorted.
 void setDefaultChildComparator(java.util.Comparator defaultChildComparator)
          Sets the Comparator to use for sorting Navigable children for this MDDPanel; if null is specified, then no Navigable children will be sorted.
 void setDetailDividerLocation(double proportionalLocation)
          Sets the position of the detail divider bar as a percentage of the detail split pane's size.
 void setDetailDividerSize(int dividerSize)
          Sets the size of the divider bar that separates the master tree from the detail tree.
 void setDetailResizeWeight(double weight)
          Sets the initial resize weight of the detail divider bar.
 void setMainDividerLocation(double proportionalLocation)
          Sets the position of the main divider bar as a percentage of the main split pane's size.
 void setMainDividerSize(int dividerSize)
          Sets the size of the divider bar that separates the master tree from the detail-detail content area.
 void setMainResizeWeight(double weight)
          Sets the initial resize weight of the main divider bar.
 void setRootNavigables(Navigable[] rootNavigables)
          Sets the root-level Navigable instances for the UI.
 void setTree1SelectionPath(java.lang.String[] selectionPath)
          Note: The onEntry must have already been called before this method will have an effect.
 void setTree1SelectionRow(int row)
          Changes the selection in the master tree to the specified row.
 
Methods inherited from class oracle.ide.panels.DefaultTraversablePanel
gbc, gbc, getComponent, getDefaultTitle, getExitTransition, getText, setDefaultTitle, setHelpID
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 
Methods inherited from interface oracle.ide.panels.Traversable
getComponent, getExitTransition
 

Field Detail

CURRENT_TREE1

public static final java.lang.String CURRENT_TREE1
See Also:
Constant Field Values

CURRENT_TREE1_MODEL

public static final java.lang.String CURRENT_TREE1_MODEL
See Also:
Constant Field Values

CURRENT_TREE1_NODE

public static final java.lang.String CURRENT_TREE1_NODE
See Also:
Constant Field Values

CURRENT_TRAVERSABLE

public static final java.lang.String CURRENT_TRAVERSABLE
See Also:
Constant Field Values

TREE_PANEL_NORTH

public static final java.lang.String TREE_PANEL_NORTH
Layout constraint for addTreePanelComponent(..).

See Also:
Constant Field Values

TREE_PANEL_SOUTH

public static final java.lang.String TREE_PANEL_SOUTH
Layout constraint for addTreePanelComponent(..).

See Also:
Constant Field Values

TREE_PANEL_EAST

public static final java.lang.String TREE_PANEL_EAST
Layout constraint for addTreePanelComponent(..).

See Also:
Constant Field Values

TREE_PANEL_WEST

public static final java.lang.String TREE_PANEL_WEST
Layout constraint for addTreePanelComponent(..).

See Also:
Constant Field Values

NAVIGABLE_UI_CONTAINER

public static final java.lang.String NAVIGABLE_UI_CONTAINER
Constant used to get an instance of NavigableUIContainer from TraversableContext.getDesignTimeObject(String).

See Also:
Constant Field Values
Constructor Detail

MDDPanel

protected MDDPanel()
This constructor should only be used by subclasses that will build the Navigable list from within the onEntry method.


MDDPanel

public MDDPanel(Navigable rootNavigable)
Constructs a new MDDPanel with a single root node in the master tree.


MDDPanel

public MDDPanel(Navigable[] rootNavigables)
Constructs a new MDDPanel with the specified nodes as root nodes in the master tree.


MDDPanel

public MDDPanel(Navigable[] rootNavigables,
                boolean useDetailTree)
Constructs a new MDDPanel with the specified nodes as root nodes in the master tree. Any Navigable's that have detail Navigables will have additional nodes shown in the detail tree.

Method Detail

displayDetailNodesAsChildren

public boolean displayDetailNodesAsChildren()
Description copied from interface: oracle.ide.panels.NavigableUIContainer
Returns true if the UI container is displaying detail nodes with the children rather than in a separate tree. That is:


onEntry

public void onEntry(TraversableContext tc)
Description copied from interface: Traversable
This method is called when the Traversable is being entered. The data that the Traversable should use to populate its UI components comes from the specified TraversableContext.

When the same Traversable is entered more than once in the course of interacting with the user, the Traversable needs to reload the data directly from the TraversableContext rather than caching data objects. Some reasons for this include:

Loading data directly from the TraversableContext is the best way to ensure that the Traversable will not be editing the wrong data.

The Traversable should not even cache references to data objects between invocations of onEntry and Traversable.onExit(TraversableContext) because the UI container is not required to guarantee that the references will be identical.


onExit

public void onExit(TraversableContext tc)
            throws TraversalException
Description copied from interface: Traversable
This method is called when the Traversable is being exited. At this point, the Traversable should copy the data from its associated UI back into the data structures in the TraversableContext.

If the Traversable should not be exited because the user has entered either incomplete, invalid, or inconsistent data, then this method can throw a TraversalException to indicate to the property dialog or wizard that validation failed and that the user should not be allowed to exit the current Traversable. Refer to the TraversalException javadoc for details on passing the error message that should be shown to the user.

Throws:
TraversalException

expandTree1ToDepth

public void expandTree1ToDepth(int depth)
Expands the master tree up to and including the number of levels specified by the depth parameter.

Note: The onEntry must have already been called before this method will have an effect. The most common way that the onEntry method gets called is by passing the MDDPanel instance into the TDialogLauncher constructor. Once the MDDPanel has been associated with a TDialogLauncher, then this method may be called.


expandTree1Path

public void expandTree1Path(java.lang.String[] expandPath)
Expands the specified path. Note: The onEntry must have already been called before this method will have an effect. The most common way that the onEntry method gets called is by passing the MDDPanel instance into the TDialogLauncher constructor. Once the MDDPanel has been associated with a TDialogLauncher, then this method may be called.


setTree1SelectionRow

public void setTree1SelectionRow(int row)
Changes the selection in the master tree to the specified row. Note: The onEntry must have already been called before this method will have an effect. The most common way that the onEntry method gets called is by passing the MDDPanel instance into the TDialogLauncher constructor. Once the MDDPanel has been associated with a TDialogLauncher, then this method may be called.


setTree1SelectionPath

public void setTree1SelectionPath(java.lang.String[] selectionPath)
Note: The onEntry must have already been called before this method will have an effect. The most common way that the onEntry method gets called is by passing the MDDPanel instance into the TDialogLauncher constructor. Once the MDDPanel has been associated with a TDialogLauncher, then this method may be called.


getTree1SelectionPath

public java.lang.String[] getTree1SelectionPath()
Note: The onEntry must have already been called before this method will have an effect. The most common way that the onEntry method gets called is by passing the MDDPanel instance into the TDialogLauncher constructor. Once the MDDPanel has been associated with a TDialogLauncher, then this method may be called.


setMainDividerLocation

public void setMainDividerLocation(double proportionalLocation)
Sets the position of the main divider bar as a percentage of the main split pane's size.


setMainDividerSize

public void setMainDividerSize(int dividerSize)
Sets the size of the divider bar that separates the master tree from the detail-detail content area.


setMainResizeWeight

public void setMainResizeWeight(double weight)
Sets the initial resize weight of the main divider bar.


setDetailDividerLocation

public void setDetailDividerLocation(double proportionalLocation)
Sets the position of the detail divider bar as a percentage of the detail split pane's size.


setDetailDividerSize

public void setDetailDividerSize(int dividerSize)
Sets the size of the divider bar that separates the master tree from the detail tree.


setDetailResizeWeight

public void setDetailResizeWeight(double weight)
Sets the initial resize weight of the detail divider bar.


setChildComparator

public void setChildComparator(java.util.Comparator childComparator)
Sets the Comparator to use for sorting just the root Navigable children of this MDDPanel; if null is specified, then the root Navigable children will not be sorted.

If no child Comparator is specified, then the root Navigable children will be sorted using the default child Comparator, if one has been specified via setDefaultChildComparator(Comparator).


getChildComparator

public java.util.Comparator getChildComparator()
Returns the Comparator to use for sorting the root Navigable children of this MDDPanel.


setDefaultChildComparator

public void setDefaultChildComparator(java.util.Comparator defaultChildComparator)
Sets the Comparator to use for sorting Navigable children for this MDDPanel; if null is specified, then no Navigable children will be sorted. If no default child Comparator is specified, then no Navigable children will be sorted; the root Navigable children will be sorted, however, if a Comparator has been specified via setChildComparator(Comparator). This method assumes that the Navigable.createTreeNode(NavigableContext) method for each Navigable in the panel uses this Comparator to order its Navigable children before creating its tree nodes. The default Navigable does this sorting.


getDefaultChildComparator

public java.util.Comparator getDefaultChildComparator()
Returns the Comparator to use for sorting Navigable children for this MDDPanel.


addMDDListener

public void addMDDListener(oracle.ide.panels.MDDListener listener)

removeMDDListener

public void removeMDDListener(oracle.ide.panels.MDDListener listener)

addTreePanelComponent

public void addTreePanelComponent(java.awt.Component comp,
                                  java.lang.Object layoutConstraint)

enableSelectionDelay

public boolean enableSelectionDelay(boolean selectionDelay)

getCurrentNavigable

protected Navigable getCurrentNavigable()
Description copied from class: oracle.ide.panels.AbstractUIContainer
Concrete subclasses must implement this method to return the Navigable that is currently selected in the UI.


getCurrentTraversable

protected Traversable getCurrentTraversable()
Description copied from class: oracle.ide.panels.AbstractUIContainer
Concrete subclasses must implement this method to return the Traversable that is currently selected in the UI.


newTraversableContext

protected TraversableContext newTraversableContext()
Adds design-time objects to the TraversableContext.


refreshUI

protected void refreshUI(TraversableContext dataScope)

fireTraversableEntered

protected void fireTraversableEntered(TraversableContext tc)

getMainSplitPane

protected javax.swing.JSplitPane getMainSplitPane()

getDetailSplitPane

protected javax.swing.JSplitPane getDetailSplitPane()

getHelpID

public java.lang.String getHelpID()
Description copied from interface: Traversable
Returns the context-sensitive help topic ID to use for this Traversable. A null return value means that the Traversable implementation doesn't specify a help topic ID. However, there are other ways that a help topic ID could get associated with a Traversable.

Specifically, when a Traversable instance is created by a MetaTraversable such as Step or Navigable in the context of a Navigable container such as MDDPanel, TabbedPanel or FSMWizard, the help ID is searched according to the following order:

  1. MetaTraversable#getHelpID()
  2. Traversable.getHelpID(). This may lead into a recursion if the Traversable's Component is a nested Navigable container.
  3. oracle.bali.ewt.help.HelpUtils.getHelpID( Traversable.getComponent() )
  4. oracle.bali.ewt.help.HelpUtils.getHelpID(...) on the Navigable container itself.
  5. null
The search returns the first non-null help ID encountered or else null if all possible sources of a help ID returned null.

Since a Navigable wraps a Traversable, and a Traversable wraps a Component, the priority order for determining the help ID is based on giving the outer-most wrapper the opportunity to override. The Navigable container has the lowest priority because containers such as MDDPanel, TabbedPanel, and FSMWizard don't normally have a help topic ID of their own, since help topics tend to be on a per page basis.

For most cases the recommended approach is to have the Traversable specify the help ID. However, when the same Traversable can be used in different contexts, then specifying or overriding the help ID from the MetaTraversable could be better, especially if that avoids the need for conditional logic in Traversable.getHelpID(). If no dynamic behavior is needed in determining the help ID, then the implementation can probably just subclass DefaultTraversablePanel and call the DefaultTraversablePanel.setHelpID(String) method from the subclass constructor.

The getHelpID() method is called only when the user requests help, so the actual help ID may be determined dynamically (e.g. return a different ID depending on the state of the UI).

Specified by:
getHelpID in interface Traversable
Overrides:
getHelpID in class DefaultTraversablePanel

addApplyListener

public void addApplyListener(ApplyListener applyListener)
Description copied from interface: ApplyNotifier
Adds an ApplyListener that will be called when the user applies or cancels changes.

Specified by:
addApplyListener in interface ApplyNotifier

removeApplyListener

public void removeApplyListener(ApplyListener applyListener)
Description copied from interface: ApplyNotifier
Removes a previously added ApplyListener so that it no longer receives notification when the user applies or cancels changes.

Specified by:
removeApplyListener in interface ApplyNotifier

apply

public void apply(ApplyEvent e)
Description copied from interface: ApplyListener
This method is called when the changes made in the NavigableUIContainer are to be committed to the original data structures. This normally occurs when the user pushes the "OK", "Apply", or "Finish" button.

This method is called as soon as the user's action is recognized. Typically, if the NavigableUIContainer is editing a copy of the original data, there will be an ApplyListener registered that is responsible for flushing the changes from the edited data copy back to the original data structure. The API in the oracle.ide.panels package does not specify when such an ApplyListener is registered or whether one is registered at all.

If you are writing code that must depend on the registration order of such an ApplyListener, you will need to consult the documentation for the code that instantiates the NavigableUIContainer to determine if the registration order for ApplyListeners is specified there.

Specified by:
apply in interface ApplyListener
Parameters:
e - The ApplyEvent that provides contextual information about when the ApplyEvent was fired.

cancel

public void cancel(ApplyEvent e)
Description copied from interface: ApplyListener
This method is called when the changes made in the NavigableUIContainer are to be discarded. This normally occurs when the user pushes the "Cancel" button.

No data validation occurs when the user cancels, and the NavigableUIContainer may or may not call the onExit method of the currently showing Traversable. In general, onExit will not be called.

Specified by:
cancel in interface ApplyListener
Parameters:
e - The ApplyEvent that provides contextual information about when the ApplyEvent was fired.

setRootNavigables

public void setRootNavigables(Navigable[] rootNavigables)
Description copied from interface: oracle.ide.panels.NavigableUIContainer
Sets the root-level Navigable instances for the UI.

Specified by:
setRootNavigables in interface oracle.ide.panels.NavigableUIContainer

addListener

protected void addListener(java.lang.Class eventClass,
                           java.util.EventListener listener)

removeListener

protected void removeListener(java.lang.Class eventClass,
                              java.util.EventListener listener)

getRootNavigables

protected Navigable[] getRootNavigables()

maybeRefreshUI

protected final void maybeRefreshUI(TraversableContext tc)

getListenerIterator

protected java.util.Iterator getListenerIterator(java.lang.Class listenerClass)

fireApply

protected void fireApply(ApplyEvent event)
Fires the "apply" message to all registered ApplyListener objects.


fireCancel

protected void fireCancel(ApplyEvent event)
Fires the "cancel" message to all registered ApplyListener objects.


Extension SDK

 

Copyright © 1997, 2004, Oracle. All rights reserved.