mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-17 06:06:00 -06:00
726 lines
No EOL
35 KiB
C++
726 lines
No EOL
35 KiB
C++
topic "TreeCtrl";
|
|
[2 $$0,0#00000000000000000000000000000000:Default]
|
|
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
|
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
|
[0 $$3,0#96390100711032703541132217272105:end]
|
|
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
|
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
|
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
|
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
|
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
|
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
|
[{_}
|
|
[ {{10000@3 [s0; [*@(229)4 TreeCtrl]]}}&]
|
|
[s3;%% &]
|
|
[s1;:TreeCtrl`:`:class: [@(0.0.255)3 class][3 _][*3 TreeCtrl][3 _:_][@(0.0.255)3 public][3 _][*@3;3 C
|
|
trl]&]
|
|
[s2;%% &]
|
|
[s2;%%
|
|
@@image:1212&1156
|
|
(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)
|
|
&]
|
|
[s0;%% &]
|
|
[s9;%% TreeCtrl hierarchy management is based on integer id numbers.
|
|
Each node in tree (item) has associated integer id unique for
|
|
the tree. Child nodes of item are organized as an array. TreeCtrl
|
|
provides operation to insert child nodes at specified array position
|
|
and to query child and parent nodes. Root item has fixed id 0.&]
|
|
[s3;%% &]
|
|
[s0;%% &]
|
|
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
|
[s3; &]
|
|
[s5;:TreeCtrl`:`:WhenOpen: [_^Callback1^ Callback1][@(0.0.255) <int>]_[* WhenOpen]&]
|
|
[s2;%% Tree item was opened, parameter is the item id. &]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenClose: [_^Callback1^ Callback1][@(0.0.255) <int>]_[* WhenClose]&]
|
|
[s2;%% Tree item was closed, parameter is the item id. &]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenLeftClick: [_^Callback^ Callback]_[* WhenLeftClick]&]
|
|
[s2;%% Tree item was clicked. Cursor identifies clicked item. You
|
|
can get the click position within the item using GetItemClickPos
|
|
method.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenLeftDouble: [_^Callback^ Callback]_[* WhenLeftDouble]&]
|
|
[s2;%% Tree item was double`-clicked. Cursor identifies clicked item.
|
|
You can get the click position within the item using GetItemClickPos
|
|
method.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenBar: [_^Callback1^ Callback1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[* WhenBa
|
|
r]&]
|
|
[s2;%% Use to supply context menu.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenSel: [_^Callback^ Callback]_[* WhenSel]&]
|
|
[s2;%% Cursor or selection has changed (including KillCursor).&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenDrag: [_^Callback^ Callback]_[* WhenDrag]&]
|
|
[s2;%% Triggered when user attempts dragging an item.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenDropItem: [_^Callback2^ Callback2][@(0.0.255) <int],
|
|
[_^PasteClip^ PasteClip][@(0.0.255) `&>]_[* WhenDropItem]&]
|
|
[s2;%% This callback manages drag`&drop into TreeCtrl items. The
|
|
first parameter is an id of item. See [^PasteClip^ PasteClip] for
|
|
more details.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenDropInsert: [_^Callback3^ Callback3][@(0.0.255) <int],
|
|
[@(0.0.255) int], [_^PasteClip^ PasteClip][@(0.0.255) `&>]_[* WhenDropInsert]&]
|
|
[s2;%% This callback manages drag`&drop into insert positions between
|
|
TreeCtrl items. The first parameter is an id of parent item,
|
|
the second parameter is insert index within parent`'s child list.
|
|
See [^PasteClip^ PasteClip] for more details.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenDrop: [_^Callback1^ Callback1][@(0.0.255) <]PasteClip[@(0.0.255) `&>]_
|
|
[* WhenDrop]&]
|
|
[s2;%% This callback manages drag`&drop when WhenDropItem and WhenDropInsert
|
|
do not apply `- drop into empty area. See [^PasteClip^ PasteClip]
|
|
for more details.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenCursor: [_^Callback^ Callback]_[* WhenCursor]&]
|
|
[s2;%% Cursor has changed (including KillCursor). Deprecated.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:WhenSelection: [_^Callback^ Callback]_[* WhenSelection]&]
|
|
[s2;%% Selection has changed. Deprecated.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetRoot`(const TreeCtrl`:`:Node`&`): [@(0.0.255) void]_[* SetRoot]([@(0.0.255) c
|
|
onst]_[_^TreeCtrl`:`:Node^ TreeCtrl`::Node][@(0.0.255) `&]_[*@3 n])&]
|
|
[s2;%% Sets the content of root item to [%-*@3 n]. Full deep copy of
|
|
[%-*@3 n] is performed.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetRoot`(const Image`&`,Value`): [@(0.0.255) void]_[* SetRoot]([@(0.0.255) c
|
|
onst]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Value^ Value]_[*@3 v])&]
|
|
[s2;%% Sets image, key and value of root item. [%-*@3 v] is used both
|
|
for key and value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetRoot`(const Image`&`,Value`,Value`): [@(0.0.255) void]_[* SetRoot]([@(0.0.255) c
|
|
onst]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Value^ Value]_[*@3 key],
|
|
[_^Value^ Value]_[*@3 text])&]
|
|
[s2;%% Sets the image, key and value of root item.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetRoot`(const Image`&`,Ctrl`&`,int`,int`): [@(0.0.255) void]_[* SetRoot
|
|
]([@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Ctrl^ Ctrl][@(0.0.255) `&]_
|
|
[*@3 ctrl], [@(0.0.255) int]_[*@3 cx]_`=_[@3 0], [@(0.0.255) int]_[*@3 cy]_`=_[@3 0])&]
|
|
[s2;%% Sets widget to be at root item. Only reference to [%-*@3 ctrl]
|
|
is stored `-> widget object lifetime must exceed TreeCtrl`'s
|
|
lifetime. Dimensions of widget should be [%-*@3 cx], [%-*@3 cy].
|
|
If either [%-*@3 cx] or [%-*@3 cy] are zero, GetMinSize dimension
|
|
is used.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Insert`(int`,int`,const TreeCtrl`:`:Node`&`): [@(0.0.255) int]_[* Insert
|
|
]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) int]_[*@3 i], [@(0.0.255) const]_[_^TreeCtrl`:`:Node^ T
|
|
reeCtrl`::Node][@(0.0.255) `&]_[*@3 n])&]
|
|
[s5;:TreeCtrl`:`:Insert`(int`,int`): [@(0.0.255) int]_[* Insert]([@(0.0.255) int]_[*@3 parent
|
|
id], [@(0.0.255) int]_[*@3 i])&]
|
|
[s5;:TreeCtrl`:`:Insert`(int`,int`,const Image`&`,Value`,bool`): [@(0.0.255) int]_[* Inse
|
|
rt]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) int]_[*@3 i], [@(0.0.255) const]_[_^Image^ I
|
|
mage][@(0.0.255) `&]_[*@3 img], [_^Value^ Value]_[*@3 value], [@(0.0.255) bool]_[*@3 withopen
|
|
]_`=_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Insert`(int`,int`,const Image`&`,Value`,Value`,bool`): [@(0.0.255) int
|
|
]_[* Insert]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) int]_[*@3 i],
|
|
[@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Value^ Value]_[*@3 key],
|
|
[_^Value^ Value]_[*@3 value], [@(0.0.255) bool]_[*@3 withopen]_`=_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Insert`(int`,int`,const Image`&`,Ctrl`&`,int`,int`,bool`): [@(0.0.255) i
|
|
nt]_[* Insert]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) int]_[*@3 i],
|
|
[@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 c
|
|
], [@(0.0.255) int]_[*@3 cx]_`=_[@3 0], [@(0.0.255) int]_[*@3 cy]_`=_[@3 0],
|
|
[@(0.0.255) bool]_[*@3 wo]_`=_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Insert`(int`,int`,const Image`&`,Value`,const String`&`,bool`): [@(0.0.255) i
|
|
nt]_[* Insert]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) int]_[*@3 i],
|
|
[@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Value^ Value]_[*@3 key],
|
|
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 value], [@(0.0.255) bool]_[*@3 with
|
|
open]_`=_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Insert`(int`,int`,const Image`&`,Value`,const char`*`,bool`): [@(0.0.255) i
|
|
nt]_[* Insert]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) int]_[*@3 i],
|
|
[@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Value^ Value]_[*@3 key],
|
|
[@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 value], [@(0.0.255) bool]_[*@3 withopen]_`=_[@(0.0.255) f
|
|
alse])&]
|
|
[s2; Inserts child item to parent specified by id. Distinct variants
|
|
set various attributes to TreeCtrl`::Node of insterted item. Returns
|
|
id of new item. Note: Last two overloads are to avoid overloading
|
|
ambiguity.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Add`(int`,const TreeCtrl`:`:Node`&`): [@(0.0.255) int]_[* Add]([@(0.0.255) i
|
|
nt]_[*@3 parentid], [@(0.0.255) const]_[_^TreeCtrl`:`:Node^ TreeCtrl`::Node][@(0.0.255) `&
|
|
]_[*@3 n])&]
|
|
[s5;:TreeCtrl`:`:Add`(int`): [@(0.0.255) int]_[* Add]([@(0.0.255) int]_[*@3 parentid])&]
|
|
[s5;:TreeCtrl`:`:Add`(int`,const Image`&`,Value`,bool`): [@(0.0.255) int]_[* Add]([@(0.0.255) i
|
|
nt]_[*@3 parentid], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img],
|
|
[_^Value^ Value]_[*@3 value], [@(0.0.255) bool]_[*@3 withopen]_`=_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Add`(int`,const Image`&`,Value`,Value`,bool`): [@(0.0.255) int]_[* Add](
|
|
[@(0.0.255) int]_[*@3 parentid], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img],
|
|
[_^Value^ Value]_[*@3 key], [_^Value^ Value]_[*@3 value], [@(0.0.255) bool]_[*@3 withopen]_`=
|
|
_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Add`(int`,const Image`&`,Ctrl`&`,int`,int`,bool`): [@(0.0.255) int]_[* A
|
|
dd]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 i
|
|
mg], [_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 ctrl], [@(0.0.255) int]_[*@3 cx]_`=_[@3 0],
|
|
[@(0.0.255) int]_[*@3 cy]_`=_[@3 0], [@(0.0.255) bool]_[*@3 withopen]_`=_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Add`(int`,const Image`&`,Value`,const String`&`,bool`): [@(0.0.255) in
|
|
t]_[* Add]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&
|
|
]_[*@3 img], [_^Value^ Value]_[*@3 key], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_
|
|
[*@3 value], [@(0.0.255) bool]_[*@3 withopen]_`=_[@(0.0.255) false])&]
|
|
[s5;:TreeCtrl`:`:Add`(int`,const Image`&`,Value`,const char`*`,bool`): [@(0.0.255) int]_
|
|
[* Add]([@(0.0.255) int]_[*@3 parentid], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 i
|
|
mg], [_^Value^ Value]_[*@3 key], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 value],
|
|
[@(0.0.255) bool]_[*@3 withopen]_`=_[@(0.0.255) false])&]
|
|
[s2; Inserts child item at the end of list of parent`'s child items.
|
|
Parent is specified by id. Distinct variants set various attributes
|
|
to TreeCtrl`::Node of insterted item. Returns id of new item.
|
|
Note: Last two overloads are to avoid overloading ambiguity.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Remove`(int`): [@(0.0.255) void]_[* Remove]([@(0.0.255) int]_[*@3 id])&]
|
|
[s2;%% Removes item with [%-*@3 id] from the tree.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:RemoveChildren`(int`): [@(0.0.255) void]_[* RemoveChildren]([@(0.0.255) in
|
|
t]_[*@3 id])&]
|
|
[s2;%% Removes all child items from parent item with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Swap`(int`,int`): [@(0.0.255) void]_[* Swap]([@(0.0.255) int]_[*@3 id1],
|
|
[@(0.0.255) int]_[*@3 id2])&]
|
|
[s2;%% Swaps two tree items.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SwapChildren`(int`,int`,int`): [@(0.0.255) void]_[* SwapChildren]([@(0.0.255) i
|
|
nt]_[*@3 parentid], [@(0.0.255) int]_[*@3 i1], [@(0.0.255) int]_[*@3 i2])&]
|
|
[s2;%% Swaps [%-*@3 parentid] children with indices [%-*@3 i1] and [%-*@3 i2].&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetChildCount`(int`)const: [@(0.0.255) int]_[* GetChildCount]([@(0.0.255) i
|
|
nt]_[*@3 id])_[@(0.0.255) const]&]
|
|
[s2;%% Returns the number of child items of parent item with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetChild`(int`,int`)const: [@(0.0.255) int]_[* GetChild]([@(0.0.255) int]_
|
|
[*@3 id], [@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&]
|
|
[s2;%% Returns the identifier of child at index [%-*@3 i] of parent
|
|
item with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetChildIndex`(int`,int`)const: [@(0.0.255) int]_[* GetChildIndex]([@(0.0.255) i
|
|
nt]_[*@3 parentid], [@(0.0.255) int]_[*@3 childid])_[@(0.0.255) const]&]
|
|
[s2;%% Returns an index of child item of [%-*@3 parentid] with id [%-*@3 childid].&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetParent`(int`)const: [@(0.0.255) int]_[* GetParent]([@(0.0.255) int]_[*@3 i
|
|
d])_[@(0.0.255) const]&]
|
|
[s2;%% Returns the parent identifier of child with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Get`(int`)const: [_^Value^ Value]_[* Get]([@(0.0.255) int]_[*@3 id])_[@(0.0.255) c
|
|
onst]&]
|
|
[s3;^Value^ &]
|
|
[s4;^Value^ &]
|
|
[s5;:TreeCtrl`:`:GetValue`(int`)const: [_^Value^ Value]_[* GetValue]([@(0.0.255) int]_[*@3 id
|
|
])_[@(0.0.255) const]&]
|
|
[s2;%% Returns the value of item with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:operator`[`]`(int`)const: [_^Value^ Value]_[* operator`[`]]([@(0.0.255) in
|
|
t]_[*@3 id])_[@(0.0.255) const]&]
|
|
[s2;%% Returns the key of item with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Set`(int`,Value`): [@(0.0.255) void]_[* Set]([@(0.0.255) int]_[*@3 id],
|
|
[_^Value^ Value]_[*@3 v])&]
|
|
[s2;%% Sets the value [/ and] key of item with [%-*@3 id].&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Set`(int`,Value`,Value`): [@(0.0.255) void]_[* Set]([@(0.0.255) int]_[*@3 id
|
|
], [_^Value^ Value]_[*@3 key], [_^Value^ Value]_[*@3 value])&]
|
|
[s2;%% Sets the value and key of item with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetValue`(const Value`&`): [@(0.0.255) void]_[* SetValue]([@(0.0.255) cons
|
|
t]_[_^Value^ Value][@(0.0.255) `&]_[*@3 v])&]
|
|
[s2;%% Sets the value of item with cursor, key is unchanged.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetDisplay`(int`,const Display`&`): [@(0.0.255) void]_[* SetDisplay]([@(0.0.255) i
|
|
nt]_[*@3 id], [@(0.0.255) const]_[_^Display^ Display][@(0.0.255) `&]_[*@3 display])&]
|
|
[s2;%% Sets the display of [%-*@3 id] item.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:RefreshItem`(int`): [@(0.0.255) void]_[* RefreshItem]([@(0.0.255) int]_[*@3 i
|
|
d])&]
|
|
[s2;%% Forces the repainting of item (e.g. when its appearance changes
|
|
in a way that cannot be detected by TreeCtrl widget).&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetLineCount`(`): [@(0.0.255) int]_[* GetLineCount]()&]
|
|
[s2;%% Gets the current number of lines `- visible items `- in TreeCtrl.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetItemAtLine`(int`): [@(0.0.255) int]_[* GetItemAtLine]([@(0.0.255) int]_
|
|
[*@3 i])&]
|
|
[s2;%% Gets the id of item at line i.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetLineAtItem`(int`): [@(0.0.255) int]_[* GetLineAtItem]([@(0.0.255) int]_
|
|
[*@3 id])&]
|
|
[s2;%% Gets the line of item with [%-*@3 id]. If item is not visible,
|
|
returns negative value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetNode`(int`)const: [_^TreeCtrl`:`:Node^ Node]_[* GetNode]([@(0.0.255) in
|
|
t]_[*@3 id])_[@(0.0.255) const]&]
|
|
[s2;%% Returns attributes of item with [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetNode`(int`,const TreeCtrl`:`:Node`&`): [@(0.0.255) void]_[* SetNode](
|
|
[@(0.0.255) int]_[*@3 id], [@(0.0.255) const]_[_^TreeCtrl`:`:Node^ TreeCtrl`::Node][@(0.0.255) `&
|
|
]_[*@3 n])&]
|
|
[s2;%% Sets attributes.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:IsOpen`(int`)const: [@(0.0.255) bool]_[* IsOpen]([@(0.0.255) int]_[*@3 id])_
|
|
[@(0.0.255) const]&]
|
|
[s2;%% Tests whether item is opened.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Open`(int`,bool`): [@(0.0.255) void]_[* Open]([@(0.0.255) int]_[*@3 id],
|
|
[@(0.0.255) bool]_[*@3 open]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Opens or closes (if [%-*@3 open] is false) item with id `- makes
|
|
all child items visible.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Close`(int`): [@(0.0.255) void]_[* Close]([@(0.0.255) int]_[*@3 id])&]
|
|
[s2;%% Same as Open(id, false).&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:OpenDeep`(int`,bool`): [@(0.0.255) void]_[* OpenDeep]([@(0.0.255) int]_[*@3 i
|
|
d], [@(0.0.255) bool]_[*@3 open]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Opens/closes item with [%-*@3 id] and all of its child items.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:CloseDeep`(int`): [@(0.0.255) void]_[* CloseDeep]([@(0.0.255) int]_[*@3 id])
|
|
&]
|
|
[s2;%% Same as OpenDeep([%-*@3 id], false).&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:MakeVisible`(int`): [@(0.0.255) void]_[* MakeVisible]([@(0.0.255) int]_[*@3 i
|
|
d])&]
|
|
[s2;%% Opens all parent items of item with [%-*@3 id] to make it visible.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetCursorLine`(int`): [@(0.0.255) void]_[* SetCursorLine]([@(0.0.255) int]_
|
|
[*@3 i])&]
|
|
[s2;%% Sets cursor in the tree to be at visible item line [%-*@3 i].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetCursorLine`(`)const: [@(0.0.255) int]_[* GetCursorLine]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;%% Returns visible item line.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:KillCursor`(`): [@(0.0.255) void]_[* KillCursor]()&]
|
|
[s2;%% Removes cursor from tree.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetCursor`(int`): [@(0.0.255) void]_[* SetCursor]([@(0.0.255) int]_[*@3 id])
|
|
&]
|
|
[s2;%% Sets cursor to item with [%-*@3 id]. If item is not visible,
|
|
MakeVisible(id) is called first.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetCursor`(`)const: [@(0.0.255) int]_[* GetCursor]()_[@(0.0.255) const]&]
|
|
[s2;%% Returns id of item that currently has cursor or negative value
|
|
if there is none.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:IsCursor`(`)const: [@(0.0.255) bool]_[* IsCursor]()_[@(0.0.255) const]&]
|
|
[s2;%% Returns true if there is cursor in the tree.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetItemClickPos`(`)const: [_^Point^ Point]_[* GetItemClickPos]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;%% Returns current mouse position within item Display rectangle
|
|
when clicked.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetScroll`(`)const: [_^Point^ Point]_[* GetScroll]()_[@(0.0.255) const]&]
|
|
[s2;%% Returns the scroll position of tree.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:ScrollTo`(Point`): [@(0.0.255) void]_[* ScrollTo]([_^Point^ Point]_[*@3 sc])
|
|
&]
|
|
[s2;%% Scrolls tree back to value previously returned by GetScroll.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Get`(`)const: [_^Value^ Value]_[* Get]()_[@(0.0.255) const]&]
|
|
[s2;%% Returns key of item with cursor or Null if there is none.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetValue`(`)const: [_^Value^ Value]_[* GetValue]()_[@(0.0.255) const]&]
|
|
[s2;%% Returns value of item with cursor or Null if there is none.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Find`(Value`): [@(0.0.255) int]_[* Find]([_^Value^ Value]_[*@3 key])&]
|
|
[s2;%% Returns id of item with [%-*@3 key] or negative value if not
|
|
found.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:FindSetCursor`(Value`): [@(0.0.255) bool]_[* FindSetCursor]([_^Value^ Valu
|
|
e]_[*@3 key])&]
|
|
[s2;%% Places cursor to first item with [%-*@3 key], returns true if
|
|
found.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Sort`(int`,const ValueOrder`&`,bool`): [@(0.0.255) void]_[* Sort]([@(0.0.255) i
|
|
nt]_[*@3 id], [@(0.0.255) const]_[_^ValueOrder^ ValueOrder][@(0.0.255) `&]_[*@3 order],
|
|
[@(0.0.255) bool]_[*@3 byvalue]_`=_[@(0.0.255) false])&]
|
|
[s2;%% Sorts child items of item with [%-*@3 id] using [%-*@3 order]
|
|
sorting predicate. If [%-*@3 byvalue] is false, items are sorted
|
|
by keys, if true, by values.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SortDeep`(int`,const ValueOrder`&`,bool`): [@(0.0.255) void]_[* SortDeep
|
|
]([@(0.0.255) int]_[*@3 id], [@(0.0.255) const]_[_^ValueOrder^ ValueOrder][@(0.0.255) `&]_[*@3 o
|
|
rder], [@(0.0.255) bool]_[*@3 byvalue]_`=_[@(0.0.255) false])&]
|
|
[s2;%% Sorts child items of item with [%-*@3 id] using [%-*@3 order]
|
|
sorting predicate. If [%-*@3 byvalue] is false, items are sorted
|
|
by keys, if true, by values. After sorting, it recursively calls
|
|
SortDeep for all child items.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Sort`(int`,int`(`*`)`(const Value`&v1`,const Value`&v2`)`,bool`): [@(0.0.255) v
|
|
oid]_[* Sort]([@(0.0.255) int]_[*@3 id], [@(0.0.255) int]_(`*[*@3 compare])([@(0.0.255) const
|
|
]_Value[@(0.0.255) `&]_v1, [@(0.0.255) const]_Value[@(0.0.255) `&]_v2)_`=_StdValueCompa
|
|
re, [@(0.0.255) bool]_[*@3 byvalue]_`=_[@(0.0.255) false])&]
|
|
[s2;%% Sort with simplified predicate [%-*@3 compare].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SortDeep`(int`,int`(`*`)`(const Value`&v1`,const Value`&v2`)`,bool`): [@(0.0.255) v
|
|
oid]_[* SortDeep]([@(0.0.255) int]_[*@3 id], [@(0.0.255) int]_(`*[*@3 compare])([@(0.0.255) c
|
|
onst]_Value[@(0.0.255) `&]_v1, [@(0.0.255) const]_Value[@(0.0.255) `&]_v2)_`=_StdValueC
|
|
ompare, [@(0.0.255) bool]_[*@3 byvalue]_`=_[@(0.0.255) false])&]
|
|
[s2;%% SortDeep with simplified predicate [%-*@3 compare].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SortByValue`(int`,const ValueOrder`&`): [@(0.0.255) void]_[* SortByValue
|
|
]([@(0.0.255) int]_[*@3 id], [@(0.0.255) const]_[_^ValueOrder^ ValueOrder][@(0.0.255) `&]_[*@3 o
|
|
rder])&]
|
|
[s5;:TreeCtrl`:`:SortDeepByValue`(int`,const ValueOrder`&`): [@(0.0.255) void]_[* SortDee
|
|
pByValue]([@(0.0.255) int]_[*@3 id], [@(0.0.255) const]_[_^ValueOrder^ ValueOrder][@(0.0.255) `&
|
|
]_[*@3 order])&]
|
|
[s5;:TreeCtrl`:`:SortByValue`(int`,int`(`*`)`(const Value`&v1`,const Value`&v2`)`): [@(0.0.255) v
|
|
oid]_[* SortByValue]([@(0.0.255) int]_[*@3 id], [@(0.0.255) int]_(`*[*@3 compare])([@(0.0.255) c
|
|
onst]_Value[@(0.0.255) `&]_v1, [@(0.0.255) const]_Value[@(0.0.255) `&]_v2)_`=_StdValueC
|
|
ompare)&]
|
|
[s5;:TreeCtrl`:`:SortDeepByValue`(int`,int`(`*`)`(const Value`&v1`,const Value`&v2`)`): [@(0.0.255) v
|
|
oid]_[* SortDeepByValue]([@(0.0.255) int]_[*@3 id], [@(0.0.255) int]_(`*[*@3 compare])([@(0.0.255) c
|
|
onst]_Value[@(0.0.255) `&]_v1, [@(0.0.255) const]_Value[@(0.0.255) `&]_v2)_`=_StdValueC
|
|
ompare)&]
|
|
[s2;%% Convenience variants call their basic counterparts with byvalue
|
|
equal to true.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Sort`(int`,const ValuePairOrder`&`): [@(0.0.255) void]_[* Sort]([@(0.0.255) i
|
|
nt]_[*@3 id], [@(0.0.255) const]_[_^ValuePairOrder^ ValuePairOrder][@(0.0.255) `&]_[*@3 ord
|
|
er])&]
|
|
[s5;:TreeCtrl`:`:Sort`(int`,int`(`*`)`(const Value`&k1`,const Value`&v1`,const Value`&k2`,const Value`&v2`)`): [@(0.0.255) v
|
|
oid]_[* Sort]([@(0.0.255) int]_[*@3 id], [@(0.0.255) int]_(`*[*@3 compare])([@(0.0.255) const
|
|
]_Value[@(0.0.255) `&]_k1, [@(0.0.255) const]_Value[@(0.0.255) `&]_v1,
|
|
[@(0.0.255) const]_Value[@(0.0.255) `&]_k2, [@(0.0.255) const]_Value[@(0.0.255) `&]_v2))&]
|
|
[s2;%% Sorts the children list of parent [%-*@3 id]. Note that if [%-*@3 id]
|
|
is 0, the whole tree is sorted. The grandchildren are left intact.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SortDeep`(int`,const ValuePairOrder`&`): [@(0.0.255) void]_[* SortDeep](
|
|
[@(0.0.255) int]_[*@3 id], [@(0.0.255) const]_[_^ValuePairOrder^ ValuePairOrder][@(0.0.255) `&
|
|
]_[*@3 order])&]
|
|
[s5;:TreeCtrl`:`:SortDeep`(int`,int`(`*`)`(const Value`&k1`,const Value`&v1`,const Value`&k2`,const Value`&v2`)`): [@(0.0.255) v
|
|
oid]_[* SortDeep]([@(0.0.255) int]_[*@3 id], [@(0.0.255) int]_(`*[*@3 compare])([@(0.0.255) c
|
|
onst]_Value[@(0.0.255) `&]_k1, [@(0.0.255) const]_Value[@(0.0.255) `&]_v1,
|
|
[@(0.0.255) const]_Value[@(0.0.255) `&]_k2, [@(0.0.255) const]_Value[@(0.0.255) `&]_v2))&]
|
|
[s2;%% Sorts the subtree of parent [%-*@3 id]. Note that if [%-*@3 id]
|
|
is 0, the whole tree is sorted. The grandchildren are sorted
|
|
as well.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Clear`(`): [@(0.0.255) void]_[* Clear]()&]
|
|
[s2;%% Removes all items from the tree.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:ClearSelection`(`): [@(0.0.255) void]_[* ClearSelection]()&]
|
|
[s2;%% Clears any selection.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SelectOne`(int`,bool`): [@(0.0.255) void]_[* SelectOne]([@(0.0.255) int]_[*@3 i
|
|
d], [@(0.0.255) bool]_[*@3 sel])&]
|
|
[s2;%% Selects/unselects single item with id.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:IsSelected`(int`)const: [@(0.0.255) bool]_[* IsSelected]([@(0.0.255) int]_
|
|
[*@3 id])_[@(0.0.255) const]&]
|
|
[s2;%% Returns true if item with [%-*@3 id] is selected.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:IsSel`(int`)const: [@(0.0.255) bool]_[* IsSel]([@(0.0.255) int]_[*@3 id])_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;%% Returns true if item with [%-*@3 id] is selected [*/ or has cursor][/ .]&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetSelectCount`(`)const: [@(0.0.255) int]_[* GetSelectCount]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;%% The number of selected items.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:IsSelDeep`(int`)const: [@(0.0.255) bool]_[* IsSelDeep]([@(0.0.255) int]_[*@3 i
|
|
d])_[@(0.0.255) const]&]
|
|
[s2;%% True, if IsSel is true for the item or if IsSelDeep is true
|
|
for its parent (if any item in parenthood chain is selected).&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:GetSel`(`)const: [_^Vector^ Vector][@(0.0.255) <int>]_[* GetSel]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;%% Returns ids of all items with IsSel is true (note that it
|
|
includes cursor item if there is no selection).&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Remove`(const Vector`<int`>`&`): [@(0.0.255) void]_[* Remove]([@(0.0.255) c
|
|
onst]_[_^Vector^ Vector][@(0.0.255) <int>`&]_[*@3 id])&]
|
|
[s2;%% Removes a set of items, [%-*@3 id ]is a list of item ids to
|
|
remove.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:RemoveSelection`(`): [@(0.0.255) void]_[* RemoveSelection]()&]
|
|
[s2;%% Same as Remove(GetSel()) `- removes all selected items.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Dump`(`): [@(0.0.255) void]_[* Dump]()&]
|
|
[s2;%% Diagnostic dump of tree content to standard log. Exists in
|
|
debug mode only.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:NoCursor`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* NoCursor]([@(0.0.255) b
|
|
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Tree does not allow cursor.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:NoRoot`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* NoRoot]([@(0.0.255) b
|
|
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Root item is not shown.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:LevelCx`(int`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* LevelCx]([@(0.0.255) i
|
|
nt]_[*@3 cx])&]
|
|
[s2;%% Indentation per single hierarchy level. Default value is 16
|
|
pixels.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:MultiSelect`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* MultiSelect](
|
|
[@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Allows selection of items.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:NoBackground`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* NoBackgroun
|
|
d]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|
[s2;%% White background of tree is not painted.&]
|
|
[s0;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:PopUpEx`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* PopUpEx]([@(0.0.255) b
|
|
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|
[s2;%% In case that the display size of node value is greater than
|
|
currently available area, attempts to show the complete value
|
|
when cursor hovers over the node.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:NoPopUpEx`(`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* NoPopUpEx]()&]
|
|
[s2;%% Same as PopUpEx(false).&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:MouseMoveCursor`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* MouseMov
|
|
eCursor]([@(0.0.255) bool]_[*@3 m]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Mouse cursor moves tree cursor without clicking, just by moving
|
|
the mouse over the tree.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Accel`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* Accel]([@(0.0.255) b
|
|
ool]_[*@3 a]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Activates simple keyboard accelerator. Node values are converted
|
|
using StdFormat to text and then the first letter is used to
|
|
find the appropriate item.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetDisplay`(const Display`&`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* Se
|
|
tDisplay]([@(0.0.255) const]_[_^Display^ Display][@(0.0.255) `&]_[*@3 d])&]
|
|
[s2;%% Sets the universal Display used for all node values. This
|
|
can be overridden for particular node by assigning node specific
|
|
Display.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:HighlightCtrl`(bool`): [_^TreeCtrl^ TreeCtrl][@(0.0.255) `&]_[* HighlightC
|
|
trl]([@(0.0.255) bool]_[*@3 a]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Paints the background area of embedded widgets with the same
|
|
color as that used to paint regular values `- respects selection,
|
|
cursor position etc.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:Upp`:`:TreeCtrl`:`:RenderMultiRoot`(bool`): [_^Upp`:`:TreeCtrl^ TreeCtrl][@(0.0.255) `&
|
|
]_[* RenderMultiRoot]([@(0.0.255) bool]_[*@3 a]_`=_[@(0.0.255) true])&]
|
|
[s2;%% When active, no lines are drawn connecting zero level nodes
|
|
(so it looks like there are multiple roots).&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:Upp`:`:TreeCtrl`:`:EmptyNodeIcon`(const Upp`:`:Image`&`): [_^Upp`:`:TreeCtrl^ Tree
|
|
Ctrl][@(0.0.255) `&]_[* EmptyNodeIcon]([@(0.0.255) const]_[_^Upp`:`:Image^ Image][@(0.0.255) `&
|
|
]_[*@3 a])&]
|
|
[s2;%% When RenderMultiRoot is active and there the node is zero
|
|
level and has not elements, [%-*@3 a] is drawn on the left side
|
|
to indicate it is empty.&]
|
|
[s3;%% &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:SetScrollBarStyle`(const ScrollBar`:`:Style`&`): [_^TreeCtrl^ TreeCtrl
|
|
][@(0.0.255) `&]_[* SetScrollBarStyle]([@(0.0.255) const]_[_^ScrollBar`:`:Style^ ScrollBa
|
|
r`::Style][@(0.0.255) `&]_[*@3 s])&]
|
|
[s2;%% Assigns a chameleon visual style of scrollbar of TreeCtrl.&]
|
|
[s3;%% &]
|
|
[s0;%% &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[ {{10000@3 [s0; [*@(229)4 TreeCtrl`::Node]]}}&]
|
|
[s3; &]
|
|
[s1;:TreeCtrl`:`:Node`:`:class: [@(0.0.255)3 class][3 _][*3 Node]&]
|
|
[s9;%% This class represents the content and appearance of single
|
|
TreeCtrl node`-item.&]
|
|
[s3; &]
|
|
[s0; &]
|
|
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
|
[s3; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Node`(`): [* Node]()&]
|
|
[s2;%% Default constructor.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Node`(const Image`&`,const Value`&`): [* Node]([@(0.0.255) const
|
|
]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&
|
|
]_[*@3 v])&]
|
|
[s2;%% Assigns icon, key and value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Node`(const Image`&`,const Value`&`,const Value`&`): [* Node](
|
|
[@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [@(0.0.255) const]_[_^Value^ Va
|
|
lue][@(0.0.255) `&]_[*@3 v], [@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_[*@3 t])&]
|
|
[s2;%% Assigns icon, key and value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Node`(const Value`&`): [* Node]([@(0.0.255) const]_[_^Value^ Value
|
|
][@(0.0.255) `&]_[*@3 v])&]
|
|
[s2;%% Assigns key and value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Node`(const Value`&`,const Value`&`): [* Node]([@(0.0.255) const
|
|
]_[_^Value^ Value][@(0.0.255) `&]_[*@3 v], [@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_
|
|
[*@3 t])&]
|
|
[s2;%% Assigns key and value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Node`(Ctrl`&`): [* Node]([_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 ctrl])&]
|
|
[s2;%% Assigns widget.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Node`(const Image`&`,Ctrl`&`,int`,int`): [* Node]([@(0.0.255) co
|
|
nst]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img], [_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 ctrl],
|
|
[@(0.0.255) int]_[*@3 cx]_`=_[@3 0], [@(0.0.255) int]_[*@3 cy]_`=_[@3 0])&]
|
|
[s2;%% Assigns icon, widget and its dimensions.&]
|
|
[s3;%% &]
|
|
[s0;%% &]
|
|
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
|
[s3; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:image: [_^Image^ Image]_[* image]&]
|
|
[s2;%% Node icon.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:margin: [@(0.0.255) int]_[* margin]&]
|
|
[s2;%% Space between icon and value of the item, or item`'s widget.
|
|
Defaults to 2.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:key: [_^Value^ Value]_[* key]&]
|
|
[s2;%% Item key. This is not displayed.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:value: [_^Value^ Value]_[* value]&]
|
|
[s2;%% Item value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:display: [@(0.0.255) const]_[_^Display^ Display]_`*[* display]&]
|
|
[s2;%% Display used to render value. Defaults to NULL, which means
|
|
StdDisplay is to be used.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:size: [_^Size^ Size]_[* size]&]
|
|
[s2;%% Size of value area. Defaults to Null `- in that case, value
|
|
area size is determined by display`->GetStdSize(value) or ctrl`->GetMinSize()
|
|
if widget for item is used.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:ctrl: [_^Ptr^ Ptr][@(0.0.255) <][_^Ctrl^ Ctrl][@(0.0.255) >]_[* ctrl]&]
|
|
[s2;%% Widget associated with item.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:canopen: [@(0.0.255) bool]_[* canopen]&]
|
|
[s2;%% Item can be opened.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:canselect: [@(0.0.255) bool]_[* canselect]&]
|
|
[s2;%% Item can be selected.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:SetImage`(const Image`&`): [_^TreeCtrl`:`:Node^ Node][@(0.0.255) `&
|
|
]_[* SetImage]([@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img])&]
|
|
[s2;%% Sets image.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Set`(const Value`&`): [_^TreeCtrl`:`:Node^ Node][@(0.0.255) `&]_
|
|
[* Set]([@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_[*@3 v])&]
|
|
[s2;%% Sets both key and value to [%-*@3 v].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:Set`(const Value`&`,const Value`&`): [_^TreeCtrl`:`:Node^ Node
|
|
][@(0.0.255) `&]_[* Set]([@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_[*@3 v],
|
|
[@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_[*@3 t])&]
|
|
[s2;%% Sets key and value.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:SetDisplay`(const Display`&`): [_^TreeCtrl`:`:Node^ Node][@(0.0.255) `&
|
|
]_[* SetDisplay]([@(0.0.255) const]_[_^Display^ Display][@(0.0.255) `&]_[*@3 d])&]
|
|
[s2;%% Sets display.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:SetSize`(Size`): [_^TreeCtrl`:`:Node^ Node][@(0.0.255) `&]_[* SetS
|
|
ize]([_^Size^ Size]_[*@3 sz])&]
|
|
[s2;%% Sets size.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:SetCtrl`(Ctrl`&`): [_^TreeCtrl`:`:Node^ Node][@(0.0.255) `&]_[* Se
|
|
tCtrl]([_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 `_ctrl])&]
|
|
[s2;%% Sets widget.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:CanOpen`(bool`): [_^TreeCtrl`:`:Node^ Node][@(0.0.255) `&]_[* CanO
|
|
pen]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|
[s2;%% Sets canopen flag.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:TreeCtrl`:`:Node`:`:CanSelect`(bool`): [_^TreeCtrl`:`:Node^ Node][@(0.0.255) `&]_[* Ca
|
|
nSelect]([@(0.0.255) bool]_[*@3 b])&]
|
|
[s2;%% Sets canselect flag.&]
|
|
[s3; &]
|
|
[s0; ]] |