(クラス)
TreeModel 内のノードの抽象スーパークラス。
プログラミング注意事項
このクラスの既定ファクトリは
DefaultTreeNode を作成することに、注意してください。
DefaultTreeNode には、子を持つ基本ノードを作成するために必要な状態と実装がすべて含まれます。
TreeNode のサブクラスを作成しようとしているアプリケーションは、まず
DefaultTreeNode またはそのサブクラス
LazyTreeNode (これは動的に生成された子をサポートするものです) のサブクラス化を検討する必要があります。
説明
オーバーライド
このクラスのインスタンスのプロパティが変わる場合は (子ノードのコレクションの内容が変わる場合も含めて)、サブクラスが必ず
TreeNode.notify-change を呼び出すようにする必要があります。詳細については、個々のプロパティの資料を参照してください。
改訂
このクラスは同じ名前の古いクラスを置き換えます。既存のアプレットを RTE バージョン 3.0 と 4.0 の両方で実行させる古いクラスが必要なデベロッパーをサポートするため、古いツリー コントロール、TreeControl、BaseTreeNode、TreeNode および TreeNodeState に関連付けられたクラスは CURL.GUI.OLD パッケージから利用することができます。バージョン 4.0 アプレットで古いクラスを使用するには、override = true に設定してインポートします。以下の例を参照してください。
{import * from CURL.GUI.OLD, override? = true}
古いクラスドキュメントを参照するには、3.0 IDE をインストールし、バージョン 3.0 のドキュメント ビューアを開かなければなりません。
アクセサ public TreeNode.has-children?:
bool
フィールド protected TreeNode.modifying-internally?:
bool =false
アクセサ public TreeNode.next-sibling:#
TreeNode
アクセサ public TreeNode.node-data:
any セッター public TreeNode.node-data:
any
アクセサ public TreeNode.node-label:
any
アクセサ public abstract TreeNode.parent:#
TreeNode セッター public abstract TreeNode.parent:#
TreeNode
アクセサ public TreeNode.previous-sibling:#
TreeNode
アクセサ public TreeNode.read-only?:
bool
アクセサ public abstract TreeNode.tree-model:#
TreeModel セッター public abstract TreeNode.tree-model:#
TreeModel
メソッド 継承 Sequence-of:
append, clear, clone, clone-range, concat, equal?, filter, filter-clone, filter-keys, filter-keys-clone, find, insert, key-exists?, keys-to-Iterator, pop, push, reverse, set, sort, splice, to-Iterator, top-of-stack
(ファクトリ)
このファクトリは DefaultTreeNode のインスタンスを作成します。
...: このノードに子として追加されるゼロ個以上の TreeNode。
(アクセサ)
アクセサ public TreeNode.has-children?:
bool このノードに子はありますか?
説明
このプロパティは、このノードがリーフであるかどうかを効率的に決定するために、呼び出し元が使用する必要があります。例えば、このプロパティは、縮小されているノードに展開アフォーダンスを提供する必要があるかどうかを決定するために、標準 UI オブジェクトによって調べられます。
オーバーライド
このメソッドの既定実装は、単に
Sequence-of.size プロパティを参照するだけです。実際にこのプロパティを呼び出すと子を動的に生成することになるようであれば、これは効率が悪いことになります。サブクラス、特に子の "遅延" 生成に依存するようなサブクラスは、より効率の良い実装を提供する必要があります。
(フィールド)
protected TreeNode.modifying-internally?:
bool =false
このノードの変更が内部で処理されることを通知します。したがって、read-only? ノードにも許可されます。
プログラミング注意事項
通常、このフィールドは最終的にその元の値に戻るよう with コンストラクタを使用して設定する必要があります。
(アクセサ)
アクセサ public TreeNode.next-sibling:#
TreeNode この TreeNode の後に続く兄弟。
オーバーライド
このメソッドの既定実装は、
Sequence-of.find を使用し、親ノードをスキャンして、このノードのインデックスを見つける必要があります。このメソッドのより効率の良い (つまり恒常的な) 実装を提供できるサブクラスは、そうする必要があります。
(アクセサ)
アクセサ public TreeNode.node-data:
any セッター public TreeNode.node-data:
any このノードに関連付けられる基本状態。
説明
オーバーライド
(アクセサ)
アクセサ public TreeNode.node-label:
any このノードのラベル。
説明
このプロパティはこのタイプのノードを表示するために
DefaultTreeItem によって使用されます。通常このプロパティはテキスト、またはラベルとしての使用に適した
Graphic を返します。
(アクセサ)
アクセサ public abstract TreeNode.parent:#
TreeNode セッター public abstract TreeNode.parent:#
TreeNode この TreeNode の親。
説明
null の場合は、このノードがツリーのルートであるとみなす必要があります。
(アクセサ)
アクセサ public TreeNode.previous-sibling:#
TreeNode この TreeNode に先行する兄弟。
オーバーライド
このメソッドの既定実装は、
Sequence-of.find を使用し、親ノードをスキャンして、このノードのインデックスを見つける必要があります。このメソッドのより効率の良い (つまり恒常的な) 実装を提供できるサブクラスは、そうする必要があります。
(アクセサ)
アクセサ public TreeNode.read-only?:
bool この TreeNode は変更できないようにロックされていますか?
説明
この値が true の場合は、プロパティあるいはこのノードが含むノードのコレクションを変更すると、エラーがスローされます。
オーバーライド
変更をサポートしないサブクラスは、
true を返すようにこのメソッドをオーバーライドすることができます。ただし、ノードが読み取り専用の
TreeModel に関連付けられているときは、サブクラスが
false を返さないようにする必要があります。
(アクセサ)
アクセサ public abstract TreeNode.tree-model:#
TreeModel セッター public abstract TreeNode.tree-model:#
TreeModel
(メソッド)
このノードが変更されたことを示す TreeModelChange を生成して転送します。
change: このノードで発生した TreeModelChange。
プログラミング注意事項
このメソッドは、ノードが変わったことを示すために、このクラスの実装で呼び出す必要があります。
オーバーライド
このメソッドは、このノードでの変更を認識するために、サブクラスによってオーバーライドされることがあります。ただし、このメソッドのオーバーライドは通常、スーパー実装を呼び出す必要があります。