Biz/Browser 5.0.0
|
|
|||
|
|
|
|
|
|
|
STreeItem |
||
|
|
|||
STreeクラスの各アイテムを操作するためのアクセッサクラスです。必ずSTreeクラスから取得して利用します。
デフォルトプロパティはValueです。ValueTypeの指定は無効です。
Append、InsertメソッドでXMLDocumentオブジェクトを用いてアイテムを追加する場合のXMLには以下のルールがあります。
・ルートノードは読み飛ばされます。
・タグ名は読み飛ばされますので、任意の値を設定してください。
・タグのtitle、openicon、closeicon、value属性に値を設定することで対応するプロパティを設定できます。
・openiconとcloseicon属性のどちらか一方のみが設定されたとき、openiconとcloseiconは両方同じ値となります。
・value属性に値を記述した場合、string型で設定されます。
XMLの記述例を以下に示します。
<xml><!-- 本タグは読み飛ばされる -->
<item1 title="abc"> <item11 title="def" openicon="1"/> <!-- openicon=closeicon=1; --> <item12 title="ghi" value="111"/> <item13 title="jkl" value="222> <item131 title="aaa"/> <item132 title="bbb"/> </item13> </item1> <item2 title="mno"/></xml>
上記XMLをAppendメソッドに指定した場合、下記構造のツリーが自身の子として追加され、タイトルが"abc"のオブジェクトのアクセッサが戻り値となります。
┌abc┬def
│ ├ghi│ └jkl┬aaa
│ └bbb└mno
STreeItemオブジェクトが指すアイテムが削除されたりアイテムが所属していたSTreeオブジェクトが削除された場合はそのアクセッサは無効となり、以降操作を受け付けなくなります。
無効なアクセッサではないことを判断するにはIdプロパティが0以外かを調べることで可能です。
Next、Prevプロパティは自身の階層上の前後のアイテムを指しますが、NextVisible、PrevVisibleプロパティは画面の表示順を基準とした前後のアイテムを指します。
選択されているアイテムを基準としたNextプロパティとNextVisibleプロパティの関係は以下の通りです。

また、選択されたアイテムを基準としたPrevプロパティとPrevVisibleプロパティの関係は以下の通りです。

Biz/Browser特有の演算子である「参照演算子」は、代入式の右辺に変更があった場合に、変更後の値を自動的に左辺に代入します。
(例)
Width &= ^.Width - 10;Height &= ^.Height - 10;
しかし、このクラスのプロパティは同じアイテムを指すSTreeItemオブジェクトを操作することで自身では検知できない変更が発生することがあります。
このようなプロパティで参照演算子を使用した場合、代入先(左辺)の処理の対象や、参照先(右辺)の値が他のプロパティやオブジェクトの状態によって異なる場合があるため、意図した結果を得ることは困難です。
そのため、STreeItemのプロパティは、参照演算子の左辺、右辺のどちらにも使用しないでください。