DefaultTreeItem (クラス)
public DefaultTreeItem {inherits TreeItem}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.CONTROL-LOGICAL.

TreeNodeTreeControl に表示するために通常使用されるクラス。

説明

この項目は関連する TreeNode をラベルとして表示します。アイコンが指定されている場合は、そのラベルの左側に表示されます。
DefaultTreeItem.icon プロパティによって指定されたアイコンは、ノードの現在の状態のさまざまな局面を反映させてカスタマイズできます。詳細については、DefaultTreeIcon を参照してください。
ラベルの既定値は単に TreeNode.node-label プロパティそのものです。このラベルは、キャプションの変更を反映させるため項目がリフレッシュされるたびに更新されます。ラベルのグラフィック表示、またはその元となるデータのいずれかをカスタマイズするには、DefaultTreeItem.get-label メソッドをオーバーライドします。
この項目はまた、TreeItem.current? および TreeItem.selected? プロパティの既定アフォーダンスも提供します。current?true のときは、そのラベルを囲む細いボーダーを描画することで、自分自身を描画します。selected?true のときは、ラベルを含むフレームの background および color を、選択に適した色に設定します。詳細については、DefaultTreeItem.modify-for-selected および DefaultTreeItem.modify-for-current を参照してください。
この項目の起点は、すべての TreeItem のように、項目をツリー コネクタおよびツリーの他のツリー 項目で揃える方法を決定します。特に、この項目のトグル ボタンからの水平の関連線はその垂直の起点に引かれ、この項目の子のトグル ボタンへの垂直の関連線は水平の起点に引かれます。詳細については、TreeItem を参照してください。
このオブジェクト本来の垂直起点および配置は、HBox と同様、DefaultTreeItem.valign の設定と項目の内容の起点の組み合わせにより決定されます。既定では、valign は「center」に設定され、アイコン、ラベル、トグル ボタンを中央に配置します。既定値は1 行のラベルに適しますが、大きな、または複数行ラベルの場合は、「origin」または「top」がより適切な場合があります。
non-null の場合は、このオブジェクトの本来の水平起点は、アイコンの水平起点です。したがって、このオブジェクトのアイコンは通常、水平方向にその起点を中央に配置し、ツリー コネクタおよびその子のトグル ボタンに適切に揃えます。アイコンが指定されていない場合、水平起点は、アイコンが配置された位置で、ラベルの左端の DefaultTreeItem.spacing です。
既定では、このオブジェクトはその text-breakable? オプションを false に設定します。

注意事項

このオブジェクトは、"DefaultTreeItem"のスタイル ルールを記述することによってスタイル化することが出来ます。詳細は スキンが適用されたツリーコントロール をご覧下さい。
導入: バージョン 4.0

コンストラクタ
default:このオブジェクトを作成します。
コンストラクタ public {DefaultTreeItem.default
node:TreeNode,
icon:#DefaultTreeIcon = null,
...
}

プロパティ
icon:この項目のために表示されるアイコン。
アクセサ public DefaultTreeItem.icon:#DefaultTreeIcon
セッター public DefaultTreeItem.icon:#DefaultTreeIcon
selected-background:選択中の背景色を変更するために使用するFillPattern
非ローカル オプション public DefaultTreeItem.selected-background:Background
selected-color:選択時のcolorを変更する際に使用する値。
非ローカル オプション public DefaultTreeItem.selected-color:FillPattern
spacing:この DefaultTreeItem のアイコンとラベルの間の間隔を指定します。
ローカル オプション public DefaultTreeItem.spacing:any =5px
style-element:スタイリングの目的のための、この Visual の "要素" や "型" です。
アクセサ public DefaultTreeItem.style-element:String
valign:icon および label の縦位置を指定します。
ローカル オプション public DefaultTreeItem.valign:any =0.5
vstretch?:icon または label が相互に適応できるよう垂直方向に伸長されるかどうかを指定します。
ローカル オプション public DefaultTreeItem.vstretch?:bool =false
プロパティ 継承 TreeItem: control, current?, expanded?, node, selectable?, selected?
プロパティ 継承 BaseFrame: child, clonable-class?, completely-clonable-children?, graphical-children, halign-spec, hstretch?-spec, ordered-children, reverse-ordered-children, valign-spec, vstretch?-spec, width-first?
プロパティ 継承 GetBoundsBox: layout-locally-valid?, layout-valid?
プロパティ 継承 Box: clip-child-shadows?
プロパティ 継承 Graphic: avoid-page-break?, background, border-color, border-spec, border-style, border-width, cell-border-spec, cell-border-width, cell-margin, discrete-select-in-range?, display-context, enabled?, graphic-selectable, height, horigin, is-paginating?, layout, margin, opaque-to-events?, option-parent, outside-margin, pagination-state, parent, possibly-displayed?, selection-context, shadow-color, shadow-spec, visible?, visual-parent, vorigin, width
プロパティ 継承 Visual: _style-element, cursor, data-source, dragee, font-size, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 OptionListInterface: option-register-proc, options-present-here, registered-option-keys

メソッド
after-reposition:Graphic が移動またはサイズ変更されたことを、Graphic に通知します。
public {DefaultTreeItem.after-reposition
layout-context:LayoutContext
}:void
before-reposition:Graphic が移動またはサイズ変更されることを、Graphic に対して通知します。
public {DefaultTreeItem.before-reposition
layout-context:LayoutContext
}:void
connector-anchor:関連線で接続される、この項目の起点を取り囲む四角形。
public {DefaultTreeItem.connector-anchor
}:(lextent:Distance, rextent:Distance, ascent:Distance, descent:Distance)
draw:このオブジェクトの可視表現を描画します。
public {DefaultTreeItem.draw r2d:Renderer2d}:void
get-label:この項目のために表示されるラベル。
public {DefaultTreeItem.get-label}:any
modify-for-current:このオブジェクトの TreeItem.current? プロパティの状態を示すように、このオブジェクトを視覚的に変更します。
protected {DefaultTreeItem.modify-for-current current?:bool}:void
modify-for-selected:このオブジェクトの TreeItem.selected? プロパティの状態を示すように、このオブジェクトを視覚的に変更します。
protected {DefaultTreeItem.modify-for-selected selected?:bool}:void
refresh:この項目の表示状態を基底 TreeNode からリフレッシュします。
public {DefaultTreeItem.refresh}:void
メソッド 継承 TreeItem: fire-action, toggle-node
メソッド 継承 BaseFrame: add-internal, allocate-layout-object, attempt-revalidate-layout, clone-appearance-helper, compute-child-bounds, compute-parent-elastic, constrain-height, constrain-width, end-pagination, get-height-preference, get-text, get-width-preference, install-child-bounds, internal-remove-child, note-attached, note-detaching, notify-option-children, paginate, pick-child, propagate-request-layout, register-options, set-size
メソッド 継承 BasicBox: contains-point?, find-graphic-at, handle-crossing, on-pointer-envelope-event, pointer-enter-occurred, pointer-leave-occurred
メソッド 継承 GetBoundsBox: get-bounds, get-elastic-bounds-into, get-nonparent-bounds-into, request-layout, validate-layout
メソッド 継承 Box: clear, compare-children, find-test-children, get-delimited-child-text-selection, get-gui-path-to-child, get-range-as-selected-text, get-visible-rect-in-root-into, graphical-child-visible-at, make-gui-mark, search-next-here, search-prev-here
メソッド 継承 Graphic: create-pagination-state, detach, draw-range-as-selected, draw-shadow, find-ancestor, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-top-left-in-ancestor, get-visible-bounds-into, on-drag-enter, on-inspection, on-pointer-enter, option-changed, paint-with-decorations, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, set-layout, start-pagination, xy-offset-to
メソッド 継承 Visual: add, add-from-init-args, animate, change-cursor, clonable-appearance?, clone-appearance, get-focus-manager, get-layout-context, get-test-parent, get-test-property, get-view, maybe-fire-attach-event, maybe-fire-detach-event, non-keyword-init-arg, note-caret-position, on-drag-leave, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, refresh-style-options, release-key-focus, request-key-focus, scroll-to-include, test-record, test-run, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 GuiEventTarget: handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-key-event, on-key-press, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-press, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 OptionListInterface: add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, option-change-notify, option-lookup, option-lookup-here, option-propagate-notify, option-set?, propagate-option-change, remove-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {DefaultTreeItem.default
node:TreeNode,
icon:#DefaultTreeIcon = null,
...
}

このオブジェクトを作成します。

node: この項目が表示する TreeNode
icon: GraphicDefaultTreeItem.icon の初期値です。
...: オプションおよびイベント ハンドラ。



プロパティ詳細
icon (アクセサ)
アクセサ public DefaultTreeItem.icon:#DefaultTreeIcon
セッター public DefaultTreeItem.icon:#DefaultTreeIcon

この項目のために表示されるアイコン。

説明

指定されている場合は、non-null icon の水平起点は項目全体の既定の水平起点です。したがって、このプロパティに使用されるアイコンは通常その起点を中心に配置にする必要があります。詳細については DefaultTreeItem の主要ドキュメントを参照してください。
DefaultTreeItem.refresh の既定の実装では、このアイコンで DefaultTreeIcon.refresh を呼び出し、項目が変わるたびにアイコンが更新できるようにします。


selected-background (非ローカル オプション)
public DefaultTreeItem.selected-background:Background

選択中の背景色を変更するために使用するFillPattern

導入: バージョン 7.0


selected-color (非ローカル オプション)
public DefaultTreeItem.selected-color:FillPattern

選択時のcolorを変更する際に使用する値。

導入: バージョン 7.0


spacing (ローカル オプション)
public DefaultTreeItem.spacing:any =5px

この DefaultTreeItem のアイコンとラベルの間の間隔を指定します。

説明

このプロパティは HBox.spacing と同じような意味になります。


style-element (アクセサ)
アクセサ public DefaultTreeItem.style-element:String

スタイリングの目的のための、この Visual の "要素" や "型" です。

説明

この実装によって Visual._style-elementの値が返されますが、通常は定数を返すためにオーバーライドされます。

オーバーライド

Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入: バージョン 6.0


valign (ローカル オプション)
public DefaultTreeItem.valign:any =0.5

icon および label の縦位置を指定します。

説明

このプロパティは、HBox.valign と同じような意味になり、特にこのオブジェクトの垂直起点全体を決定します。既定値は 0.5 または「center」であることに注意してください。


vstretch? (ローカル オプション)
public DefaultTreeItem.vstretch?:bool =false

icon または label が相互に適応できるよう垂直方向に伸長されるかどうかを指定します。

説明

このプロパティは HBox.vstretch? プロパティと同じような意味になります。





メソッド詳細
after-reposition (メソッド)
public {DefaultTreeItem.after-reposition
layout-context:LayoutContext
}:void

Graphic が移動またはサイズ変更されたことを、Graphic に通知します。

layout-context: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。

プログラミング注意事項

この Graphic を移動またはサイズ変更した操作の前に、Graphic.before-reposition を呼び出した場合、このメソッドはこの操作後に呼び出されます。この操作の前にオブジェクトが見えなかったとしても、操作前に Graphic.before-reposition を呼び出さなかった場合は、この操作後に、Graphic.after-reposition でなく Graphic.request-draw が呼び出されます。

Graphic に対して g.after-reposition g が呼び出されるのは、この操作の前に g.before-reposition を呼び出した場合のみです。ただし、この操作の前に g.before-reposition を呼び出しても、この操作の後に g.after-reposition が呼び出されない場合もあります。このような事態が発生するのは、オブジェクトを移動やサイズ変更がなかったと (g の親などが) 判断した場合、あるいは他のオブジェクトが、操作前と操作後の両方で、g の位置の可視境界全体に対する LayoutContext.request-draw-rect-in-root 操作を 1 回以上呼び出した場合です。

Graphic.before-repositionGraphic.after-reposition はともに、オブジェクトの位置が有効な場合にしか呼び出されません。

オーバーライド

既定の定義 Graphic.after-reposition は、単に Graphic.request-draw を呼び出すだけです。Graphic.request-draw は、Graphic.before-repositionの既定の実装でも使用されていることを前提とした適切な処理方法です。ただし、Graphic.before-reposition をオーバーライドする場合は、Graphic.after-reposition もオーバーライドする必要があります。


before-reposition (メソッド)
public {DefaultTreeItem.before-reposition
layout-context:LayoutContext
}:void

Graphic が移動またはサイズ変更されることを、Graphic に対して通知します。

layout-context: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。

プログラミング注意事項

このメソッドは、レイアウト ネゴシエーションまたはその他の操作で可視オブジェクトを移動またはサイズ変更するときに必ず呼び出します。このメソッドは、オブジェクトが見えない場合でも呼び出すことができます。また、このメソッドを呼び出したとしても、その後オブジェクトを移動またはサイズ変更しなくてもかまいません。

オーバーライド

既定の定義 Graphic.before-reposition は、 単にGraphic.request-draw を呼び出します。これは常に正しい処理です。ただし、高度なオブジェクトでは、このメソッドを次のいずれかのコードでオーバーライドできます。


connector-anchor (メソッド)
public {DefaultTreeItem.connector-anchor
}:(lextent:Distance, rextent:Distance, ascent:Distance, descent:Distance)

関連線で接続される、この項目の起点を取り囲む四角形。

説明

UI デリゲートはこのオブジェクトの兄弟や子からこのオブジェクトの起点まで関連線を描画します。この四角形はこれらの線がこのオブジェクトの境界内に描画される範囲を定義します。

プログラミング注意事項

このメソッドは、項目間に関連線を引く場所を決定する場合に TreeControlUI によって呼び出される必要があります。

オーバーライド

既定の実装では、コネクタ線を起点に直接引くことを通知して、空の四角形を返します。DefaultTreeItem は、このメソッドをオーバーライドしてコネクタが内部アイコンの端に描画されるようにます。境界ボックス内に描画しないサブクラスは、Layout.get-bounds の結果を返すためにこのメソッドをオーバーライドします。


draw (メソッド)
public {DefaultTreeItem.draw r2d:Renderer2d}:void

このオブジェクトの可視表現を描画します。

renderer2d: このオブジェクトを使用してそれ自身を描画する Renderer2d

オーバーライド

既定のメソッド Graphic.draw は何もしません。Graphic のサブクラスは、必要とされる描画の操作を実行するコードでこのメソッドをオーバーライドしなければなりません。
このメソッドをオーバーライドする場合は、再描画が必要となる時はいつでも、描画する Graphic の範囲が有効でない事を確認しなければなりません。たとえば、データの値を更新するために描画をする時は、データの値が変わる時にアプレットは必ず Graphic.request-drawGraphic.request-draw-rectを呼び出さなければなりません。


get-label (メソッド)
public {DefaultTreeItem.get-label}:any

この項目のために表示されるラベル。

説明

このメソッドが返す値は、項目のアイコンの右側に表示されます。この値は、Graphic でなければ、Graphic にキャストされます。
既定では、このメソッドは関連するノードの TreeNode.node-label を返すだけです。
このノードで TreeItem.refresh メソッドが呼び出されると、常にこのメソッドが呼び出されます。したがって、この項目の特定の current?selected?、および expanded? 状態を表す、さまざまなラベルが返されることがあります。

オーバーライド

効率性を考えれば、できるだけ、サブクラスがこのメソッドからのキャッシュ済みまたは既存の値を返すようにする必要があります。前回の呼び出しから戻り値が変わっていなければ、このオブジェクトは余分な処理をしなくて済みます。

注意事項

戻り値が Graphic でない場合は、実際に表示される暗黙的に作成されたラベルに、1 ピクセル幅のマージンが適用されます。


modify-for-current (メソッド)
protected {DefaultTreeItem.modify-for-current current?:bool}:void

このオブジェクトの TreeItem.current? プロパティの状態を示すように、このオブジェクトを視覚的に変更します。

説明

このメソッドの既定実装では、項目が現在選択されている項目で、TreeControlUI.has-key-focus?true であるとき、ラベルを囲むボーダーが描画されます。
通常は直接呼び出されません。このメソッドは、必要なときに DefaultTreeItem.refresh によって呼び出されます。

オーバーライド

このメソッドをオーバーライドして、current? 状態を別の方法で表示するようにします。


modify-for-selected (メソッド)
protected {DefaultTreeItem.modify-for-selected selected?:bool}:void

このオブジェクトの TreeItem.selected? プロパティの状態を示すように、このオブジェクトを視覚的に変更します。

説明

このメソッドの既定実装は、選択された背景をラベルの下に描画し、ラベルが継承する色プロパティを選択された前景色に変更します。
通常は直接呼び出されません。このメソッドは、必要なときに DefaultTreeItem.refresh によって呼び出されます。

オーバーライド

このメソッドをオーバーライドして、選択を別の方法で表示するようにします。


refresh (メソッド)
public {DefaultTreeItem.refresh}:void

この項目の表示状態を基底 TreeNode からリフレッシュします。

説明

このメソッドの使用法と実装要件の詳細については、TreeItem を参照してください。
このメソッドをこのように実装すると、表示されるラベルとアイコンがリフレッシュされます。詳細に関しては DefaultTreeItem.get-label および DefaultTreeItem.icon を参照してください。
さらに、このメソッドをこのように実装すると、DefaultTreeItem.modify-for-selectedDefaultTreeItem.modify-for-current に対する必要な呼び出しが生成されます。

オーバーライド

このメソッドをオーバーライドする場合は、スーパー実装を呼び出す必要があります。