Selection in nested managers

The IlvManager class provides the methods that allow you to query the selection status of objects in a hierarchy of nested managers and also to listen for selection events in such a hierarchy of managers.

Selection method for a nested manager

An IlvManager object allows you to select objects that it contains. See Selection in a manager for more information about object selection. When a manager contains other managers, objects located in a nested manager can be selected using the same method of IlvManager : setSelected.

Selection methods for a hierarchy of nested managers

The following methods allow you to deal with the specific case of selections in a hierarchy of nested managers.
void selectAll(boolean traverse, boolean redraw)  
This method selects all the objects in the manager and also all the objects in nested managers when the traverse parameter is true .
void deSelectAll(boolean traverse,boolean redraw)  
This method deselects all the selected objects in the manager and also all the selected objects in nested managers when the traverse parameter is true .
IlvGraphicEnumeration getSelectedObjects(boolean traverse)  
This method returns an enumeration that contains all the selected objects in this manager and in nested managers if the traverse parameter is set to true.
int getSelectedObjectsCount(boolean traverse)  
This method returns the number of selected objects of this manager and in the nested managers if the traverse parameter is set to true .
void deleteSelections(boolean redraw, boolean traverse, boolean redraw)  
This method removes the selected objects in the manager and also removes the selected objects in nested managers when the traverse parameter is set to true .
IlvSelection getSelection(IlvPoint p, IlvManagerView view, boolean traverse)  
This method returns the selection object under the specified point. The method will search for selection objects in nested managers if the traverse parameter is set to true .

Selection Events

When a graphic object is selected or deselected, the manager fires a selection event. This is described in Listener for the selections in a manager.
You can register a selection listener in the manager using the method:
void addManagerSelectionListener(ManagerSelectionListener listener)  
The listener will only receive selection events for selections and deselections that occur in the manager where the listener was registered.
To listen to selections that are taking place throughout a hierarchy of nested managers, the IlvManager class provides the following methods:
void addManagerTreeSelectionListener(ManagerSelectionListener listener)  
void removeManagerTreeSelectionListener(ManagerSelectionListener listener)  
When you register a selection listener using these methods, whenever an object is selected or deselected from a manager that is a submanager in the hierarchy of this manager, the listener will receive the event.
Such a listener placed on the top-level manager of a hierarchy will receive all the selection events of the hierarchy. To distinguish which submanager has sent an event, you can use the method getManager on the event; the event is an instance of the class ManagerSelectionChangedEvent and contains the method:
IlvManager getManager()