(クラス)
コンストラクタ public | {TreeModel.default} |
アクセサ public TreeModel.batch-notify?:
bool セッター public TreeModel.batch-notify?:
bool
アクセサ public TreeModel.read-only?:
bool セッター public TreeModel.read-only?:
bool
walk-nodes: | この TreeModel の一部に対して depth-first トラバースを実行します。 |
(コンストラクタ)
public | {TreeModel.default} |
(アクセサ)
アクセサ public TreeModel.batch-notify?:
bool セッター public TreeModel.batch-notify?:
bool このオブジェクトでの変更をオブザーバーに通知しないようにするために true に設定されます。
説明
このオブジェクトは、false に戻されると、フラグが true であったときにモデルの状態に加えられた変更を示すために、必要なすべての通知を行います。
プログラミング注意事項
このプロパティは通常は明示的に設定できません。with マクロの中で true に設定して使用するのが最善の方法です。これは、フラグに対するネストされた変更を許可するほかに、すべてのクラスで最終的に false に戻ることを保証します。
次の例は、batch-notify? を使用して、モデルが作成された後、監視コントロールを 1 回だけ更新できるようにするものです。
例:
let tm:TreeModel ={TreeModel null}
{TreeControl data-model = tm}
{with tm.batch-notify? = true do
|| Add and manipulate node-structure in tm.
|| This may involve many small changes to the model.
}
オーバーライド
より高い効率を望むサブクラスは、このセッターのほかに、特定の変更を追跡できる note-tree-model-change もオーバーライドする必要があります。
(アクセサ)
アクセサ public TreeModel.read-only?:
bool セッター public TreeModel.read-only?:
bool この TreeModel は変更できないようにロックされていますか?
説明
false の場合は、このモデルの構造や内容を変更すると、エラーがスローされます。
(アクセサ)
(メソッド)
モデルに、そのノードの 1 つに変更があることを通知します。
説明
このメソッドは、このクラスの実装または
TreeNode の実装によって、モデルの変更を通知するために呼び出されます。
オーバーライド
より高度で効率の良いバッチ更新を実装するためには、batch-notify? のセッターとともに、このメソッドをオーバーライドしてください。
(メソッド)
この TreeModel の一部に対して depth-first トラバースを実行します。
action: 各ノードに適用される proc。この proc がどれかのノードで true を返すと、トラバースが停止されます。
root: トラバースされるサブツリーのルートである
TreeNode。既定値はこのオブジェクトの
root です。
null の場合、このメソッドは何もしません。
説明
戻り値
トラバースが停止された TreeNode。すべてのノードにアクセスした場合は null。
オーバーライド
通常はオーバーライドされません。