TemplateJTree
A tree containing Templates and Schemes.
Changes made through this tree's interface (e.g. adding, removing, copying) are immediately reflected in the currentTemplateList. The originalTemplateList is used only as a reference point to determine what changes have occurred, for example when isModified is called or when the end user requests that changes are (partially) reverted.
If changes are made outside of this tree's interface (i.e. by directly operating on the currentTemplateList instance that was passed in the constructor), this tree's internal model becomes desynchronized, and must be resynchronized by invoking reload. Except for reload, the behaviour of this tree is undefined while desynchronized.
Internally, the currentTemplateList is loaded into a TemplateJTreeModel. The TemplateJTree class is the corresponding user interface class, which additionally provides (1) toolbars and buttons for manipulating the model, (2) node expansion and selection, and (3) handling for tracking and reversing modifications.
Parameters
the (read-only) original templates without modifications
the current templates, including modifications
Properties
The currently selected node, or null if no node is selected, or null if the root is selected.
The currently selected scheme (or template), or null if no scheme is currently selected.
The currently selected template, or the parent of the currently selected non-template scheme, or null if no scheme is currently selected.
Functions
Returns a panel containing this tree decorated with accessible action buttons.
Returns true if and only if moveSchemeByOnePosition can be invoked with these parameters.
Removes scheme from the tree, and selects an appropriate other scheme.