入れ子マネージャーにおける内容変更イベント

例えば、オブジェクトが追加または削除されたとき、またはオブジェクトのバウンディング・ボックスが変更されたときにマネージャーの内容が変更されると、マネージャーは ManagerContentChangedEvent イベントを実行します。どのクラスでも、 ManagerContentChangedListener インターフェースを実装すると、マネージャーの内容の変更を監視できます。このメカニズムの詳細は、「マネージャー内容のリスナー」を参照してください。
マネージャーの addManagerContentChangedListener メソッドを使用してマネージャーにそのようなリスナーを登録すると、リスナーは、そのリスナーが登録されているマネージャー内で発生する変更に対する内容変更イベントのみを受け取ります。例えば、サブマネージャーに新規グラフィック・オブジェクトが追加されたときには、このメソッドで登録されたリスナーには通知されません。
メモ
しかし、このようなリスナーもサブマネージャーにおける何らかの変更によるイベントを間接的に受け取ることはできます。例えば、マネージャー A のサブマネージャー B に新規のグラフィック・オブジェクトが追加されると、入れ子マネージャー B のサイズが変更され、A に登録されたリスナーは、B に新規グラフィック・オブジェクトが挿入されたため、ObjectBBoxChangedEvent を受け取ります。
入れ子マネージャーの階層の内容変更イベントをすべて受け取ることができるように、IlvManager クラスを使用すると、次のメソッドでグローバル・リスナーを登録できます。
void addManagerTreeContentChangedListener (ManagerContentChangedListener 
listener)  
void removeManagerTreeContentChangedListener (ManagerContentChangedListener 
listener)  
階層の上位レベル・マネージャーに登録されたリスナーは、その階層の内容変更イベントをすべて受け取ります。どのサブマネージャーがイベントを送信したかを区別するには、イベントの getManager メソッドを使用できます。そのイベントはクラス ManagerContentChangedEvent のインスタンスで、次のメソッドが含まれています。
IlvManager getManager()  
メモ
上位レベル・マネージャーにグローバル内容変更リスナーを登録して、マネージャーの階層におけるサブマネージャーの挿入をすべて検出できます。この場合は、 既にマネージャーを含んでいるマネージャーもマネージャーに追加される可能性があることを考慮しておく必要があります。この場合、リスナーはこれらの各マネージャーのイベントは受け取りません。