| Interface | Description | 
|---|---|
| ApplyListener | 
 This interface defines the messages that are sent in association
  with applying or canceling from a  
NavigableUIContainer. | 
| ApplyNotifier | 
 An object that implements  
ApplyNotifier is capable
  of firing ApplyEvents to registered ApplyListeners. | 
| CommitListener | 
 This interface defines the messages that are sent when commiting (finishing)
 or canceling from an  
FSMWizard. | 
| CommitNotifier | 
 An object that implements  
CommitNotifier is capable
  of firing CommitEvents to registered CommitListeners. | 
| MDDListener | 
 To allow time to evolve this interface without breaking binary
  compatibility, MDDListener is currently not declared public. 
 | 
| NavigableUIContainer | |
| ProvidesDebugInformation | 
 A Traversable which implements ProvidesDebugInformation
 will show extended information in a tooltip when the ide is in a mode which
 shows debug tooltips on MDDPanel. 
 | 
| ProvidesSearchTags | 
 A  
Navigable which also implements
 ProvidesSearchTags supports searching using tags in MDDPanel. | 
| Traversable | 
 The methods defined in the  
Traversable interface
  specify the operations that a UI component must support in order
  to be traversed in complex UI widgets such as a property dialog,
  a wizard, or any other panel-based UI. | 
| Class | Description | 
|---|---|
| ActionDescriptionPanel | |
| ActionDescriptionPanel.OptionSelectionChangedEvent | 
 The event that gets triggered when the selected option has changed. 
 | 
| ActionDescriptionPanel.OptionSelectionChangedListener | 
 The listener that get notified when the selected option has changed. 
 | 
| ApplyEvent | 
 The  
ApplyEvent is the event object used in the methods
  that are part of the ApplyListener interface. | 
| DefaultTraversablePanel | 
 Complete default implementation of  
Traversable that
  subclasses JPanel. | 
| DetailNavigable | |
| DialogCallbacks | 
 This interface defines callback methods that are implemented by a
  a  
Traversable-based Launcher dialog for the sake of
  Traversable dailog that need to update the state of the
  Launcher dialog's components. | 
| LinkPanel | |
| MDDAdapter | 
 Default implementation of the MDDListener interface. 
 | 
| MDDEvent | |
| MDDPanel | 
 This implementation of  
NavigableUIContainer is a
  "master-detail-detail" panel, hence the name
  MDDPanel. | 
| MetaTraversable | 
 The  
MetaTraversable class is responsible for
  specifying metadata for a Traversable that has not yet
  been instantiated. | 
| Navigable | 
 Each instance of the  
Navigable class represents a
  single tree node. | 
| Navigable.NavigableComparator | 
Comparator implementation used for sorting child Navigable instances by label. | 
| NavigableContext | 
 An instance of NavigableContext is used by Navigable instances and
  a NavigableUIContainer instance to coordinate the
  
    association of each Navigable with a data scope
    creation of tree nodes for a tree-based NavigableUIContainer
   
 | 
| NavigableRegistry | 
 A registry class for  
Navigables. | 
| NewWorkspacePanel | 
 The  
NewWorkspacePanel class implements the UI
 to create a new workspace. | 
| NodeTDialogLauncher | 
 Subclass of TDialogLauncher that disables the OK button if any
  of the Nodes specified in the constructor are read-only. 
 | 
| PanelsArb | |
| PanelsArb_ar | |
| PanelsArb_cs | |
| PanelsArb_da | |
| PanelsArb_de | |
| PanelsArb_el | |
| PanelsArb_en | |
| PanelsArb_es | |
| PanelsArb_fi | |
| PanelsArb_fr | |
| PanelsArb_fr_CA | |
| PanelsArb_hu | |
| PanelsArb_it | |
| PanelsArb_iw | |
| PanelsArb_ja | |
| PanelsArb_ko | |
| PanelsArb_nl | |
| PanelsArb_no | |
| PanelsArb_pl | |
| PanelsArb_pt | |
| PanelsArb_pt_BR | |
| PanelsArb_ro | |
| PanelsArb_ru | |
| PanelsArb_sk | |
| PanelsArb_sv | |
| PanelsArb_th | |
| PanelsArb_tr | |
| PanelsArb_zh_CN | |
| PanelsArb_zh_TW | |
| SavedTreeState | 
 Saves and restores the state of a tree. 
 | 
| TabbedPanel | 
 This is a  
NavigableUIContainer implementation whose
  appearance is based on JTabbedPane; each page of a
  TabbedPanel is a Traversable and the order of
  the pages is specified by an array of Navigables. | 
| TDialog | 
 Subclass of JEWTDialog that is designed to interoperate with
   
TDialogLauncher and Traversable. | 
| TDialogLauncher | 
 This classes launches a dialog whose content area is a single
   
Traversable, thus the "T" prefix. | 
| TitledPanel | 
 A panel with a gradient titlebar in bold text at the top and
  arbitrary content below. 
 | 
| TraversableContext | 
 The  
TraversableContext class provides the means for
  a Traversable to find the data objects that it is
  responsible for editing whenever it is entered or exited. | 
| Exception | Description | 
|---|---|
| DetailedTraversalException | 
 The  
DetailedTraversalException should be thrown from
  Traversable.onExit(TraversableContext) method if
  the user has entered incomplete, invalid, or inconsistent data
  that causes validation to fail, and you want deatiled exception
  information presented to the user. | 
| TraversalException | 
 The  
TraversalException can be thrown by the
  Traversable.onExit(TraversableContext) method if
  the user has entered incomplete, invalid, or inconsistent data
  that causes validation to fail. | 
Provides a framework for building panel-based UI.
The core of the package are the Traversable interface and the Navigable class, which define the core interactions between panels and the UI container that hosts the panels.
The Traversable interface is intended to be implemented by the panels themselves, and contains methods that are called by a UI container when a panel is being entered and existed. Data is passed into and out of a Traversable panel via the TraversableContext.
A sequence of Navigable objects represents the selection structure for a collection of Traversables. A Navigable is a light-weight object that can be instantiated before a Traversable is instantiated, thus providing a way for Traversable panels to be lazy-loaded. Each Navigable instance is capable of representing the root of a subtree, so a sequence of Navigables naturally represents a tree structure.
The MDDPanel is the most commonly used UI container from this package. The MDDPanel is itself a Traversable, which allows MDDPanel to be nested inside any other Traversable, including another instance of MDDPanel. A typical MDDPanel shows a tree to the left side, with a large panel area to the right where Traversable panels are swapped in. More specialized usages of MDDPanel allow for a second tree to show up, which serves as a "detail" tree to the "master" tree. The "MDD" name is derived from the potential "master-detail-detail" relationship that the MDDPanel is capable of representing.
The TabbedPanel is another UI container for Navigable sequences that represent Traversables. It is similar to JTabbedPane, except that each tab-panel follows the semantics of the Traversable interface.
The FSMWizard is a wizard container that uses the Traversable interface for its panels and uses a separate finite-state-machine (FSM) object for driving the sequence of wizard panels. This separates the logic that determines the sequence of the panels from the panels themselves, allowing the wizard to be modeled by an FSM.
The TDialogLauncher is a class for launching any Traversable panel in its own dialog. Using TDialogLauncher makes it possible to implement all UI as panels and only using TDialogLauncher as a wrapper to produce a dialog.