org.netbeans.spi.viewmodel
Interface ReorderableTreeModel
- All Superinterfaces:
- Model, TreeModel
- All Known Implementing Classes:
- Models.CompoundModel
public interface ReorderableTreeModel
- extends TreeModel
Data model for tree that supports reordering
of child nodes. The created Node
will contain
an implementation of Index
in it's lookup
if canReorder(java.lang.Object)
returns true
.
When used together with DnDNodeModel
, children can be reordered
by Drag and Drop.
- Since:
- 1.25
Fields inherited from interface org.netbeans.spi.viewmodel.TreeModel |
ROOT |
Method Summary |
boolean |
canReorder(Object parent)
Provide if this model implementation can reorder children nodes. |
void |
reorder(Object parent,
int[] perm)
Reorder children nodes with a given permutation. |
canReorder
boolean canReorder(Object parent)
throws UnknownTypeException
- Provide if this model implementation can reorder children nodes.
- Parameters:
parent
- The parent node of children that are test for reorder
- Returns:
true
if this model can handle reordering of children,
false
otherwise
- Throws:
UnknownTypeException
- if this model implementation is not
able to decide the reorder capability for given node type
reorder
void reorder(Object parent,
int[] perm)
throws UnknownTypeException
- Reorder children nodes with a given permutation.
- Parameters:
parent
- The parent node of children that are being reorderedperm
- permutation with the length of current child nodes. The permutation
lists the new positions of the original nodes, that is, for nodes
[A,B,C,D]
and permutation [0,3,1,2]
, the final
order would be [A,C,D,B]
.
- Throws:
IllegalArgumentException
- if the permutation is not valid
UnknownTypeException
- if this model implementation is not
able to perform the reorder for given node type