mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-17 06:06:00 -06:00
2407 lines
No EOL
112 KiB
C++
2407 lines
No EOL
112 KiB
C++
topic "Ctrl";
|
|
[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]
|
|
[{_}%EN-US
|
|
[s0;a83;%- [*R6 Ctrl]&]
|
|
[s5;:`:`:Ctrl`:`:class:%- [*@(0.0.255) class][*@(64) _][* Ctrl][*@(64) _:_][*@(0.0.255) public][*@(64) _
|
|
][*^`:`:Data^@(64) Data][*@(64) , ][*@(0.0.255) public][*@(64) _][*^`:`:Pte^@(64) Pte][*@(64) <
|
|
][* Ctrl][*@(64) >_]&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; (Derivation from Pte<Ctrl> allows Ctrl to be pointed to by Ptr<Ctrl>&]
|
|
[s0; &]
|
|
[s0; This the base class of GUI widgets hierarchy (that is why U`+`+
|
|
widgets are also named `"Ctrls`").&]
|
|
[s0; &]
|
|
[s0;%- enum_[* PlacementConstants]&]
|
|
[s2;b17;a17; Constants used in logical coordinates.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:CENTER: [%-*C@3 CENTER]-|Center alignment.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:LEFT: [%-*C@3 LEFT]-|Left alignment.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:RIGHT: [%-*C@3 RIGHT]-|Right alignment.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:TOP: [%-*C@3 TOP]-|Equal to LEFT (better
|
|
name for vertical coordinate).&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:BOTTOM: [%-*C@3 BOTTOM]-|Equal to RIGHT (better
|
|
name for vertical coordinate)&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:SIZE: [%-*C@3 SIZE]-|Size alignment.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:MINSIZE: [%-*C@3 MINSIZE]-|Value is determined
|
|
using GetMinSize.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:MAXSIZE: [%-*C@3 MAXSIZE]-|Value is determined
|
|
using GetMaxSize.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:STDSIZE: [%-*C@3 STDSIZE]-|Value is determined
|
|
using Get&]
|
|
[s0; &]
|
|
[s0;%- class_[* Ctrl`::Logc]&]
|
|
[s2;b17;a17; &]
|
|
[s2;b17;a17; This nested class serves as either vertical or horizontal
|
|
part of logical position.&]
|
|
[s0; &]
|
|
[s0;l352;:`:`:Ctrl`:`:Logc`:`:Logc`(int`,int`,int`):%- [* Logc](int_[*@3 al],
|
|
int_[*@3 a], int_[*@3 b])&]
|
|
[s2;l352;b17;a17; Constructor.&]
|
|
[s7;l352;i1120;a17; [%-*C@3 al]-|Alignment type. Determines what other
|
|
parameters mean. &]
|
|
[s7;l352;i1120;a17; [%-*C@3 a]-|First value.&]
|
|
[s7;l352;i1120;a17; [%-*C@3 b]-|Second value.&]
|
|
[s0; &]
|
|
[s0;l352;:`:`:Ctrl`:`:Logc`:`:Logc`(`):%- [* Logc]()&]
|
|
[s2;l352;b17;a17; Default constructor. Sets Logc to the empty state.&]
|
|
[s0; &]
|
|
[s5;%- [*@(64) static ][*@(0.0.255) int][*@(64) _][* LSGN][*@(64) (][*^`:`:dword^@(64) dword][*@(64) _
|
|
][*@3 d][*@(64) )]&]
|
|
[s7;l352;i1120;a17; [%-*C@3 q]-|Logc to compare with.&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|True when equal.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) bool][*@(64) _][* operator!`=][*@(64) (][*^`:`:Ctrl`:`:Logc^@(64) Logc][*@(64) _
|
|
][*@3 q][*@(64) )_][*@(0.0.255) const]&]
|
|
[s7;l352;i1120;a17; [%-*C@3 q]-|Logc to compare with.&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|True when not equal.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) int][*@(64) _][* GetAlign][*@(64) ()_][*@(0.0.255) const]&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|Alignment type.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) int][*@(64) _][* GetA][*@(64) ()_][*@(0.0.255) const]&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|First value.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) int][*@(64) _][* GetB][*@(64) ()_][*@(0.0.255) const]&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|Second value.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) void][*@(64) _][* SetAlign][*@(64) (][*@(0.0.255) int][*@(64) _][*@3 align][*@(64) )
|
|
]&]
|
|
[s2;l352;b17;a17;%- Sets alignment type.&]
|
|
[s7;l352;i1120;a17; [%-*C@3 align]-|Alignment type.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) void][*@(64) _][* SetA][*@(64) (][*@(0.0.255) int][*@(64) _][*@3 a][*@(64) )]&]
|
|
[s2;l352;b17;a17; Sets first value.&]
|
|
[s7;l352;i1120;a17; [%-*C@3 a]-|Value.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) void][*@(64) _][* SetB][*@(64) (][*@(0.0.255) int][*@(64) _][*@3 b][*@(64) )]&]
|
|
[s2;l352;b17;a17; Sets second value.&]
|
|
[s7;l352;i1120;a17; [%-*C@3 b]-|Value.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) bool][*@(64) _][* IsEmpty][*@(64) ()_][*@(0.0.255) const]&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|True if Logc is empty.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;:`:`:Ctrl`:`:LogPos`:`:struct:%- [*@(0.0.255) struct][*@(64) _][* LogPos]&]
|
|
[s2;b17;a17; &]
|
|
[s2;b17;a17; This nested class combines two Logc value into complete
|
|
logical position.&]
|
|
[s0; &]
|
|
[s0;l352;:`:`:Ctrl`:`:LogPos`:`:LogPos`(`:`:Ctrl`:`:Logc`,`:`:Ctrl`:`:Logc`):%- [* LogP
|
|
os](Logc_[*@3 x], Logc_[*@3 y])&]
|
|
[s2;l352;b17;a17; Constructor.&]
|
|
[s7;l352;i1120;a17; [%-*C@3 x]-|Horizontal Logc.&]
|
|
[s7;l352;i1120;a17; [%-*C@3 y]-|Vertical Logc.&]
|
|
[s0; &]
|
|
[s0;l352;:`:`:Ctrl`:`:LogPos`:`:LogPos`(`):%- [* LogPos]()&]
|
|
[s2;l352;b17;a17; Default constructor. Sets both Logc empty.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) bool][*@(64) _][* operator`=`=][*@(64) (][*^`:`:Ctrl`:`:LogPos^@(64) LogPos
|
|
][*@(64) _][*@3 b][*@(64) )_][*@(0.0.255) const]&]
|
|
[s7;l352;i1120;a17; [%-*C@3 b]-|LogPos to compare with.&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|True when equal.&]
|
|
[s0; &]
|
|
[s5;%- [*@(0.0.255) bool][*@(64) _][* operator!`=][*@(64) (][*^`:`:Ctrl`:`:LogPos^@(64) LogPos][*@(64) _
|
|
][*@3 b][*@(64) )_][*@(0.0.255) const]&]
|
|
[s7;l352;i1120;a17; [%-*C@3 b]-|LogPos to compare with.&]
|
|
[s7;l352;i1120;a17; [*/ Return value]-|True when equal.&]
|
|
[s0; &]
|
|
[s5;%- [*^`:`:Ctrl`:`:Logc^@(64) Logc][*@(64) _][* x]&]
|
|
[s2;l352;b17;a17; Horizontal Logc.&]
|
|
[s0; &]
|
|
[s5;%- [*^`:`:Ctrl`:`:Logc^@(64) Logc][*@(64) _][* y]&]
|
|
[s2;l352;b17;a17; Vertical Logc.&]
|
|
[s2;l352;b17;a17; &]
|
|
[s0; &]
|
|
[s0;%- enum_[* StateReason]&]
|
|
[s2;b17;a17; Arguments of State virtual method.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:FOCUS: [%-*C@3 FOCUS]-|Ctrl got/lost focus.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:ACTIVATE: [%-*C@3 ACTIVATE]-|Ctrl was activated.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:DEACTIVATE: [%-*C@3 DEACTIVATE]-|Ctrl was
|
|
deactivated.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:SHOW: [%-*C@3 SHOW]-|Ctrl visibility changed.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:ENABLE: [%-*C@3 ENABLE]-|Ctrl was enabled/disable.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:EDITABLE: [%-*C@3 EDITABLE]-|Ctrl editable
|
|
status changed.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:OPEN: [%-*C@3 OPEN]-|Ctrl was open (its top`-level
|
|
Ctrl was open on screen).&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:CLOSE: [%-*C@3 CLOSE]-|Ctrl was closed (its
|
|
top`-level Ctrl was closed).&]
|
|
[s0; &]
|
|
[s0;%- enum_[* MouseEvents]&]
|
|
[s2;b17;a17; Constants that make up [*/ event] argument of [*/ MouseEvent]
|
|
and [*/ FrameMouseEvent] virtual methods. Value is combination
|
|
of button and action bit fields.&]
|
|
[s2;b17;a17; &]
|
|
[s0;l160; [* Field masks]&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:BUTTON: [%-*C@3 BUTTON]-|Mask for button
|
|
field.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:ACTION: [%-*C@3 ACTION]-|Mask for action
|
|
field. &]
|
|
[s0; &]
|
|
[s0;l160; [* Actions]&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:MOUSEENTER: [%-*C@3 MOUSEENTER]-|Mouse entered
|
|
Ctrl.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:MOUSEMOVE: [%-*C@3 MOUSEMOVE]-|Mouse moved
|
|
over Ctrl.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:MOUSELEAVE: [%-*C@3 MOUSELEAVE]-|Mouse left
|
|
Ctrl.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:CURSORIMAGE: [%-*C@3 CURSORIMAGE]-|Cursor
|
|
image has to be determined (method should respond with image).&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:MOUSEWHEEL: [%-*C@3 MOUSEWHEEL]-|Mouse wheel
|
|
rotated.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:DOWN: [%-*C@3 DOWN]-|Mouse button was pressed.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:UP: [%-*C@3 UP]-|Mouse button was released.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:DOUBLE: [%-*C@3 DOUBLE]-|Mouse button was
|
|
double`-clicked.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:REPEAT: [%-*C@3 REPEAT]-|When mouse button
|
|
is pressed for a while, U`+`+ imitates keyboard autorepeat sending
|
|
this message.&]
|
|
[s0;l160; [* Buttons] &]
|
|
[s7;i1120;a17; [%-*C@3 LEFT]-|Left button. (This constant is not defined
|
|
in MouseEvents, instead LEFT from Placements Constants is used).&]
|
|
[s7;i1120;a17; [%-*C@3 RIGHT]-|Left button. (This constant is not defined
|
|
in MouseEvents, instead LEFT from Placements Constants is used).&]
|
|
[s0;l160; [* Combinations]&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:LEFTDOWN: [%-*C@3 LEFTDOWN]-|Left button
|
|
pressed.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:LEFTDOUBLE: [%-*C@3 LEFTDOUBLE]-|Left button
|
|
double pressed.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:LEFTREPEAT: [%-*C@3 LEFTREPEAT]-|Left button
|
|
autorepeat.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:LEFTUP: [%-*C@3 LEFTUP]-|Left button released.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:RIGHTDOWN: [%-*C@3 RIGHTDOWN]-|Right button
|
|
pressed.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:RIGHTDOUBLE: [%-*C@3 RIGHTDOUBLE]-|Right
|
|
button double pressed.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:RIGHTREPEAT: [%-*C@3 RIGHTREPEAT]-|Right
|
|
button autorepeat.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:RIGHTUP: [%-*C@3 RIGHTUP]-|Right button released.&]
|
|
[s0; &]
|
|
[s0;%- enum_`{_[*@3 NOBACKPAINT], [*@3 FULLBACKPAINT], [*@3 TRANSPARENTBACKPAINT],
|
|
[*@3 EXCLUDEPAINT]_`}&]
|
|
[s2;b17;a17; These constants are parameters of BackPaint method.
|
|
They determine back`-plane drawing style.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:NOBACKPAINT: [%-*C@3 NOBACKPAINT]-|No backpaint
|
|
is used.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:FULLBACKPAINT: [%-*C@3 FULLBACKPAINT]-|Whole
|
|
area of Ctrl is backpainted.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:TRANSPARENTBACKPAINT: [%-*C@3 TRANSPARENTBACKPAINT]-|Only
|
|
transparent child Ctrls are backpainted.&]
|
|
[s7;i1120;a17;:`:`:Ctrl`:`:EXCLUDEPAINT: [%-*C@3 EXCLUDEPAINT]-|Ctrl
|
|
is not painted. This is special case for specific system related
|
|
situations (like OLE control painted by regular Windows routine).&]
|
|
[s0; &]
|
|
[s5;%- [*@(64) typedef_][*@(0.0.255) bool][*@(64) _(`*][* MouseHook][*@(64) )(Ctrl_`*ctrl,
|
|
][*@(0.0.255) bool][*@(64) _inframe, ][*@(0.0.255) int][*@(64) _event,
|
|
Point_p, ][*@(0.0.255) int][*@(64) _zdelta, dword_keyflags)]&]
|
|
[s2;b17;a17; Type for hooking mouse events across all Ctrls.&]
|
|
[s0; &]
|
|
[s5;%- [*@(64) typedef_][*@(0.0.255) bool][*@(64) _(`*][* KeyHook][*@(64) )(Ctrl_`*ctrl,
|
|
dword_key, ][*@(0.0.255) int][*@(64) _count)]&]
|
|
[s2;b17;a17; Type for hooking keyboard events across all Ctrls.&]
|
|
[s0; &]
|
|
[s5;%- [*@(64) typedef_][*@(0.0.255) bool][*@(64) _(`*][* StateHook][*@(64) )(Ctrl_`*ctrl,
|
|
][*@(0.0.255) int][*@(64) _reason)]&]
|
|
[s2;b17;a17; Type for hooking state changes across all Ctrls.&]
|
|
[s0; &]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PosLeft`(int`,int`):%- [@(0.0.255) static] [_^`:`:Ctrl`:`:Logc^ Logc]_[* P
|
|
osLeft]([@(0.0.255) int]_[*@3 pos], [@(0.0.255) int]_[*@3 size])&]
|
|
[s2;b17;a17; Creates left (or top) aligned logical coordinate (Logc).&]
|
|
[s7;i1120;a17; [%-*C@3 pos]-|Distance between left margin and left margin
|
|
of parent`'s view.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical coordinate.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PosRight`(int`,int`):%- [@(0.0.255) static] [_^`:`:Ctrl`:`:Logc^ Logc]_[* P
|
|
osRight]([@(0.0.255) int]_[*@3 pos], [@(0.0.255) int]_[*@3 size])&]
|
|
[s2;b17;a17; Creates right (or bottom) aligned logical coordinate
|
|
(Logc).&]
|
|
[s7;i1120;a17; [%-*C@3 pos]-|Distance between right margin and right
|
|
margin of parent`'s view.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical coordinate.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PosTop`(int`,int`):%- [@(0.0.255) static] [_^`:`:Ctrl`:`:Logc^ Logc]_[* Po
|
|
sTop]([@(0.0.255) int]_[*@3 pos], [@(0.0.255) int]_[*@3 size])&]
|
|
[s2;b17;a17; Equal to PosLeft(pos, size).&]
|
|
[s7;i1120;a17; [%-*C@3 pos]-|Distance between top margin and top margin
|
|
of parent`'s view.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical coordinate.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PosBottom`(int`,int`):%- [@(0.0.255) static] [_^`:`:Ctrl`:`:Logc^ Logc]_
|
|
[* PosBottom]([@(0.0.255) int]_[*@3 pos], [@(0.0.255) int]_[*@3 size])&]
|
|
[s2;b17;a17; Equal to PosRight(pos, size).&]
|
|
[s7;i1120;a17; [%-*C@3 pos]-|Distance between bottom margin and bottom
|
|
margin of parent`'s view.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical coordinate.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PosSize`(int`,int`):%- [@(0.0.255) static] [_^`:`:Ctrl`:`:Logc^ Logc]_[* P
|
|
osSize]([@(0.0.255) int]_[*@3 lpos], [@(0.0.255) int]_[*@3 rpos])&]
|
|
[s2;b17;a17; Creates logical coordinate where distances between margins
|
|
and parent`'s view margins are fixed and size of Ctrl is variable
|
|
(depends of parent`'s view size).&]
|
|
[s7;i1120;a17; [%-*C@3 lpos]-|Distance between left/top margin and left/top
|
|
margin of parent`'s view.&]
|
|
[s7;i1120;a17; [%-*C@3 rpos]-|Distance between right/bottom margin and
|
|
right/bottom margin of parent`'s view.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical coordinate.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PosCenter`(int`,int`):%- [@(0.0.255) static] [_^`:`:Ctrl`:`:Logc^ Logc]_
|
|
[* PosCenter]([@(0.0.255) int]_[*@3 size], [@(0.0.255) int]_[*@3 offset])&]
|
|
[s2;b17;a17; Creates centered logical coordinate, where Ctrl is placed
|
|
in specified distance from center of parent`'s view. &]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Size.&]
|
|
[s7;i1120;a17; [%-*C@3 offset]-|Offset from center.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical coordinate.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PosCenter`(int`):%- [@(0.0.255) static] [_^`:`:Ctrl`:`:Logc^ Logc]_[* PosC
|
|
enter]([@(0.0.255) int]_[*@3 size])&]
|
|
[s2;b17;a17; Equal to PosCenter(size, 0).&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical coordinate.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetTopCtrls`(`):%- [@(0.0.255) static] [_^`:`:Vector^ Vector][@(0.0.255) <
|
|
]Ctrl_`*>_[* GetTopCtrls]()&]
|
|
[s2;b17;a17; Returns all opened top`-level Ctrls of process. Top`-level
|
|
Ctrls are those without parent (GetParent() `=`= NULL) `- TopWindow
|
|
Ctrls and pop`-up Ctrls.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Vector of all top Ctrls.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetTopWindows`(`):%- [@(0.0.255) static] [_^`:`:Vector^ Vector][@(0.0.255) <
|
|
]Ctrl_`*>_[* GetTopWindows]()&]
|
|
[s2;b17;a17; Returns all opened TopWindows (that is, instances of
|
|
TopWindow class or classes derived from TopWindow) of process.
|
|
The difference between GetTopWindows and GetTopCtrls is that
|
|
GetTopCtrls returns pop`-ups too. &]
|
|
[s7;i1120;a17; [*/ Return value]-|Vector of all TopWindows.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:CloseTopCtrls`(`):%- [@(0.0.255) static] [@(0.0.255) void]_[* CloseTopCtrl
|
|
s]()&]
|
|
[s2;b17;a17; Closes all top`-level Ctrls.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InstallMouseHook`(`:`:Ctrl`:`:MouseHook`):%- [@(0.0.255) static]
|
|
[@(0.0.255) void]_[* InstallMouseHook]([_^`:`:Ctrl`:`:MouseHook^ MouseHook]_[*@3 hook])&]
|
|
[s2;b17;a17; Installs mouse hook `- a routine that receives all mouse
|
|
input of application before it gets processed by Ctrls. You can
|
|
install more mouse hooks. Mouse hook routine should return true
|
|
to indicate the end of processing (and event propagation).&]
|
|
[s7;i1120;a17; [%-*C@3 hook]-|Pointer to hook routine.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:DeinstallMouseHook`(`:`:Ctrl`:`:MouseHook`):%- [@(0.0.255) static]
|
|
[@(0.0.255) void]_[* DeinstallMouseHook]([_^`:`:Ctrl`:`:MouseHook^ MouseHook]_[*@3 hook])
|
|
&]
|
|
[s2;b17;a17; Uninstalls previously installed mouse hook.&]
|
|
[s7;i1120;a17; [%-*C@3 hook]-|Pointer to hook routine.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InstallKeyHook`(`:`:Ctrl`:`:KeyHook`):%- [@(0.0.255) static]
|
|
[@(0.0.255) void]_[* InstallKeyHook]([_^`:`:Ctrl`:`:KeyHook^ KeyHook]_[*@3 hook])&]
|
|
[s2;b17;a17; Installs keyboard hook `- a routine that receives all
|
|
keyboard input of application before it gets processed by Ctrls.
|
|
You can install more than one keyboard hooks. Keyboard hook routine
|
|
should return true to indicate the end of processing (and event
|
|
propagation).&]
|
|
[s7;i1120;a17; [%-*C@3 hook]-|Pointer to hook routine.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:DeinstallKeyHook`(`:`:Ctrl`:`:KeyHook`):%- [@(0.0.255) static]
|
|
[@(0.0.255) void]_[* DeinstallKeyHook]([_^`:`:Ctrl`:`:KeyHook^ KeyHook]_[*@3 hook])&]
|
|
[s2;b17;a17; Uninstalls previously installed keyboard hook.&]
|
|
[s7;i1120;a17; [%-*C@3 hook]-|Pointer to hook routine.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InstallStateHook`(`:`:Ctrl`:`:StateHook`):%- [@(0.0.255) static]
|
|
[@(0.0.255) void]_[* InstallStateHook]([_^`:`:Ctrl`:`:StateHook^ StateHook]_[*@3 hook])&]
|
|
[s2;b17;a17; Installs state hook `- a routine that receives all state
|
|
changes of any Ctrls.&]
|
|
[s7;i1120;a17; [%-*C@3 hook]-|Pointer to hook routine.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:DeinstallStateHook`(`:`:Ctrl`:`:StateHook`):%- [@(0.0.255) static]
|
|
[@(0.0.255) void]_[* DeinstallStateHook]([_^`:`:Ctrl`:`:StateHook^ StateHook]_[*@3 hook])
|
|
&]
|
|
[s2;b17;a17; Deinstalls previously installed state hook.&]
|
|
[s7;i1120;a17; [%-*C@3 hook]-|Pointer to hook routine.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Paint`(`:`:Draw`&`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Paint]([_^`:`:Draw^ D
|
|
raw][@(0.0.255) `&]_[*@3 draw])&]
|
|
[s2;b17;a17; This method is called when Ctrl`'s view area is about
|
|
to be repainted.&]
|
|
[s7;i1120;a17; [%-*C@3 draw]-|Target of draw operations.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:CancelMode`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* CancelMode]()&]
|
|
[s2;b17;a17; This method is called by U`+`+ core in situations when
|
|
internal state of Ctrl that represents ongoing user action is
|
|
about to be cleared to default. Typical example of such action
|
|
is state of Button that is pushed by mouse click `- if the pushed
|
|
state is internally recorded in Button, it should by cleared
|
|
by this method. Examples of situations when this method is called
|
|
by framework is removing Ctrl from its parent or releasing mouse
|
|
capture.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Activate`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Activate]()&]
|
|
[s2;b17;a17; This method is called when Ctrl is top`-level and is
|
|
activated `- it or some of its child Ctrls receives keyboard
|
|
focus (activation usually has other signs as bringing window
|
|
foreground or changing its caption).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Deactivate`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Deactivate]()&]
|
|
[s2;b17;a17; This method is called when Ctrl is top`-level and is
|
|
deactivated `- focus has gone outside of Ctrl and its child Ctrls.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:FrameMouseEvent`(int`,`:`:Point`,int`,`:`:dword`):%- [@(0.0.255) virtu
|
|
al] [_^`:`:Image^ Image]_[* FrameMouseEvent]([@(0.0.255) int]_[*@3 event],
|
|
[_^`:`:Point^ Point]_[*@3 p], [@(0.0.255) int]_[*@3 zdelta], [_^`:`:dword^ dword]_[*@3 keyfla
|
|
gs])&]
|
|
[s2;b17;a17; This method is called when mouse event happens in frame
|
|
area of Ctrl not containing any child Ctrls. Default implementation
|
|
does nothing and returns Image`::Arrow().&]
|
|
[s7;i1120;a17; [%-*C@3 event]-|Type of event define by [^topic`:`/`/CtrlCore`/src`/Ctrl`$en`-us`#`:`:Ctrl`:`:enum MouseEvents `{ BUTTON`, ACTION`, MOUSEENTER`, MOUSEMOVE`, MOUSELEAVE`, CURSORIMAGE`, MOUSEWHEEL`, DOWN`, UP`, DOUBLE`, REPEAT`, LEFTDOWN`, LEFTDOUBLE`, LEFTREPEAT`, LEFTUP`, RIGHTDOWN`, RIGHTDOUBLE`, RIGHTREPEAT`, RIGHTUP `}^ M
|
|
ouseEvents] enum.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in frame coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 zdelta]-|Mouse wheel rotation delta (if event
|
|
is MOUSEWHEEL).&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s7;i1120;a17; [*/ Return value]-|If event is MOUSEIMAGE, method should
|
|
return Image to be displayed as mouse cursor.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:MouseEvent`(int`,`:`:Point`,int`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[_^`:`:Image^ Image]_[* MouseEvent]([@(0.0.255) int]_[*@3 event], [_^`:`:Point^ Point]_[*@3 p
|
|
], [@(0.0.255) int]_[*@3 zdelta], [_^`:`:dword^ dword]_[*@3 keyflags])&]
|
|
[s2;b17;a17; This method is called when mouse event happens in view
|
|
area of Ctrl not containing any child Ctrls. Default implementation
|
|
calls specific mouse event methods based on event parameter.&]
|
|
[s7;i1120;a17; [%-*C@3 event]-|Type of event define by [^topic`:`/`/CtrlCore`/src`/Ctrl`$en`-us`#`:`:Ctrl`:`:enum MouseEvents `{ BUTTON`, ACTION`, MOUSEENTER`, MOUSEMOVE`, MOUSELEAVE`, CURSORIMAGE`, MOUSEWHEEL`, DOWN`, UP`, DOUBLE`, REPEAT`, LEFTDOWN`, LEFTDOUBLE`, LEFTREPEAT`, LEFTUP`, RIGHTDOWN`, RIGHTDOUBLE`, RIGHTREPEAT`, RIGHTUP `}^ M
|
|
ouseEvents] enum.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 zdelta]-|Mouse wheel rotation delta (if event
|
|
is MOUSEWHEEL).&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s7;i1120;a17; [*/ Return value]-|If event is MOUSEIMAGE, method should
|
|
return Image to be displayed as mouse cursor.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:MouseEnter`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* MouseEnter]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyf
|
|
lags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse cursor enters the view area of Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Point of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:MouseMove`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* MouseMove]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyfl
|
|
ags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse cursor hovers above view area of Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftDown`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* LeftDown]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyfla
|
|
gs])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse left button is pressed.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftDouble`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* LeftDouble]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyf
|
|
lags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse left button is double`-clicked.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftTriple`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* LeftTriple]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyf
|
|
lags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse left button is triple`-clicked.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftDrag`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* LeftDrag]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyfla
|
|
gs])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when user moves the mouse while holding left button by more than
|
|
GUI`_DragDistance pixels. [%-*@3 p] is the starting point of drag,
|
|
not the current mouse position.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftHold`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* LeftHold]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyfla
|
|
gs])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when user holds the mouse left button down for a while.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftRepeat`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* LeftRepeat]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyf
|
|
lags])&]
|
|
[s2;b17;a17; This method is repeatedly called by default implementation
|
|
of MouseEvent when mouse left button is pressed for some time,
|
|
imitating keyboard autorepeat behaviour.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftUp`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* LeftUp]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyflags
|
|
])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse left button is released.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightDown`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* RightDown]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyfl
|
|
ags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse right button is pressed.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightDouble`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* RightDouble]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 key
|
|
flags])&]
|
|
[s2;b17;a17; This method is repeatedly called by default implementation
|
|
of MouseEvent when mouse right button is pressed for some time,
|
|
imitating keyboard autorepeat behaviour.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightTriple`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* RightTriple]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 key
|
|
flags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse right button is triple`-clicked.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightDrag`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* RightDrag]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyfl
|
|
ags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when user moves the mouse while holding right button by more
|
|
than GUI`_DragDistance pixels. [%-*@3 p] is the starting point
|
|
of drag, not the current mouse position.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightHold`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* RightHold]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyfl
|
|
ags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when user holds the mouse right button down for a while.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightRepeat`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* RightRepeat]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 key
|
|
flags])&]
|
|
[s2;b17;a17; This method is repeatedly called by default implementation
|
|
of MouseEvent when mouse right button is pressed for some time,
|
|
imitating keyboard autorepeat behaviour.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightUp`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* RightUp]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 keyflag
|
|
s])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse left button is released.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:MouseWheel`(`:`:Point`,int`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* MouseWheel]([_^`:`:Point^ Point]_[*@3 p], [@(0.0.255) int]_[*@3 zdelta],
|
|
[_^`:`:dword^ dword]_[*@3 keyflags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse wheel is rotated.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 zdelta]-|Amount of rotation.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:MouseLeave`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* MouseLeave]()&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when mouse cursor leaves view area of Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:CursorImage`(`:`:Point`,`:`:dword`):%- [@(0.0.255) virtual]
|
|
[_^`:`:Image^ Image]_[* CursorImage]([_^`:`:Point^ Point]_[*@3 p], [_^`:`:dword^ dword]_[*@3 k
|
|
eyflags])&]
|
|
[s2;b17;a17; This method is called by default implementation of MouseEvent
|
|
when the shape of mouse cursor is to be determined..&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Position of mouse cursor in view coordinates.&]
|
|
[s7;i1120;a17; [%-*C@3 keyflags]-|Combination of key flags for Shift,
|
|
Ctrl and Alt keys.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Image of new cursor. Default implementation
|
|
returns Image`::Arrow().&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Key`(`:`:dword`,int`):%- [@(0.0.255) virtual] [@(0.0.255) bool]_[* Key]([_^`:`:dword^ d
|
|
word]_[*@3 key], [@(0.0.255) int]_[*@3 count])&]
|
|
[s2;b17;a17; This method provides keyboard input. When keyboard event
|
|
occurs and some of U`+`+ application Ctrls has input focus, its
|
|
Key method is called. If Key method returns true, processing
|
|
of key event is finished. If it returns false, U`+`+ calls Key
|
|
method of parent Ctrl and it repeats until either true is returned
|
|
or Ctrl has no parent. If such top`-level Ctrl is reached, U`+`+
|
|
calls its HotKey method. Default implementation is void and returns
|
|
false.&]
|
|
[s7;i1120;a17; [%-*C@3 key]-|Key identifier. If it is less than 65536,
|
|
it indicates character code, otherwise it is key`-code. Key`-code
|
|
is combination of basic key codes and further flags indicating
|
|
state of shift keys and push/release events.&]
|
|
[s7;i1120;a17; [%-*C@3 count]-|Accumulated autorepeat count.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Method should return true if further
|
|
propagation is not desirable (in most cases this indicates that
|
|
Ctrl accepted the key).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HotKey`(`:`:dword`):%- [@(0.0.255) virtual] [@(0.0.255) bool]_[* HotKey]([_^`:`:dword^ d
|
|
word]_[*@3 key])&]
|
|
[s2;b17;a17; This method is called when no Ctrl accepts key event
|
|
using Key method. Default implementation calls HotKey method
|
|
child Ctrls. If some child Ctrl returns true, method returns
|
|
true, otherwise it returns false.&]
|
|
[s7;i1120;a17; [%-*C@3 key]-|Key indentifier.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Method should return true to stop
|
|
further distribution of key event via HotKey methods.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GotFocus`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* GotFocus]()&]
|
|
[s2;b17;a17; This method is called when Ctrl receives input focus.
|
|
Default implementation is void.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LostFocus`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* LostFocus]()&]
|
|
[s2;b17;a17; This method is called when Ctrl loses input focus. Default
|
|
implementation is void.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ChildMouseEvent`(`:`:Ctrl`*`,int`,`:`:Point`,int`,`:`:dword`):%- [@(0.0.255) v
|
|
irtual] [@(0.0.255) void]_[* ChildMouseEvent]([_^`:`:Ctrl^ Ctrl]_`*[*@3 child],
|
|
[@(0.0.255) int]_[*@3 event], [_^`:`:Point^ Point]_[*@3 p], [@(0.0.255) int]_[*@3 zdelta],
|
|
[_^`:`:dword^ dword]_[*@3 keyflags])&]
|
|
[s2;b17;a17; This method is invoked before the mouse [%-*@3 event]
|
|
is routed to the [%-*@3 child]. Parameters of the event are the
|
|
same as those in MouseEvent method. Default implementation calls
|
|
the parent`'s ChildMouseEvent method.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ChildGotFocus`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* ChildGotFoc
|
|
us]()&]
|
|
[s2;b17;a17; This method is invoked when any of child Ctrls receives
|
|
input focus.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ChildLostFocus`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* ChildLostF
|
|
ocus]()&]
|
|
[s2;b17;a17; This method is invoked when any of child Ctrls loses
|
|
input focus.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetAccessKeys`(`)const:%- [@(0.0.255) virtual] [_^`:`:dword^ dword]_[* Get
|
|
AccessKeys]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Ctrl should use this method to signal presence of access
|
|
keys. Access keys are keyboard keys that can be used to access
|
|
or activate dialog functions when pressed together with Alt key.
|
|
They can be defined by application designer (usually using `&
|
|
or `\b in labels), or they are automatically synthesized using
|
|
[* AssignAccessKeys] method. If Ctrl (of one of Ctrls in its child
|
|
tree) has some access keys and those keys are letters (in range
|
|
`'A`' `- `'Z`'), they should be returned as bit value using AccessKeyBit
|
|
function. Other access keys should be indicated by bit 0 (that
|
|
means, by binary or of 1 to result). Default implementation returns
|
|
0.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Bit set of access keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AssignAccessKeys`(`:`:dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* AssignAccessKeys]([_^`:`:dword^ dword]_[*@3 used])&]
|
|
[s2;b17;a17; This method gives a Ctrl chance to synthesize its letter
|
|
access keys.&]
|
|
[s7;i1120;a17; [%-*C@3 used]-|Set of letter access keys that are already
|
|
used and should not be chosen by Ctrl as its access keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ChildAdded`(`:`:Ctrl`*`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Chil
|
|
dAdded]([_^`:`:Ctrl^ Ctrl]_`*[*@3 child])&]
|
|
[s2;b17;a17; This method is invoked when child is added to Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 child]-|Pointer to child added.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ChildRemoved`(`:`:Ctrl`*`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* ChildRemoved]([_^`:`:Ctrl^ Ctrl]_`*[*@3 child])&]
|
|
[s2;b17;a17; This method is invoked when child is removed from Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 child]-|Pointer to child removed.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ParentChange`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* ParentChange
|
|
]()&]
|
|
[s2;b17;a17; This method is called when Ctrl is added or removed
|
|
from parent.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:State`(int`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* State]([@(0.0.255) i
|
|
nt]_[*@3 reason])&]
|
|
[s2;b17;a17; This method is used to notify Ctrls about special state`-change
|
|
events that are not covered by virtual methods. Method is called
|
|
for entire child tree of Ctrl whose state has changed.&]
|
|
[s7;i1120;a17; [%-*C@3 reason]-|Code of event. Standard reasons are
|
|
enumerated by StateReason enum.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Layout`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Layout]()&]
|
|
[s2;b17;a17; This method is invoked when layout of Ctrl has to be
|
|
refreshed. This is usually either before window is displayed
|
|
or when the Ctrl is resized.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetMinSize`(`)const:%- [@(0.0.255) virtual] [_^`:`:Size^ Size]_[* GetMinSi
|
|
ze]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; This method should return minimal size of Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Minimal size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetStdSize`(`)const:%- [@(0.0.255) virtual] [_^`:`:Size^ Size]_[* GetStdSi
|
|
ze]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; This method should return maximal size of Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Maximal size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsShowEnabled`(`)const:%- [@(0.0.255) virtual] [@(0.0.255) bool]_[* IsShow
|
|
Enabled]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; This method indicates whether Ctrl should be painted
|
|
as enabled. Default implementation returns IsEnabled() `&`& (!parent
|
|
`|`| parent`->IsShowEnabled()), however TopWindow overloads this
|
|
function so that owner of modal dialogs while being disabled
|
|
during modal dialog lifetime are displayed with enabled Ctrls.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if Ctrl should be painted as
|
|
enabled.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:OverPaint`(`)const:%- [@(0.0.255) virtual] [@(0.0.255) int]_[* OverPaint](
|
|
)_[@(0.0.255) const]&]
|
|
[s2;b17;a17; This method can returns non`-zero number that represents
|
|
paint extension margin of view area `- Ctrl can paint inside
|
|
this margin despite that fact that it does not belong to view.
|
|
This is useful to represent some specific skinning effect (like
|
|
glare around the button). Default implementation returns zero.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetOpaqueRect`(`):%- [@(0.0.255) virtual] [_^`:`:Rect^ Rect]_[* GetOpaqueR
|
|
ect]()&]
|
|
[s2;b17;a17; Returns the rectangle of view area that is opaque (is
|
|
completely filled when painting the widget). The default implementation
|
|
returns the whole view area if Transparent flag is set, empty
|
|
rectangle otherwise. Paint routine uses this information to optimize.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetVoidRect`(`):%- [@(0.0.255) virtual] [_^`:`:Rect^ Rect]_[* GetVoidRect](
|
|
)&]
|
|
[s2;b17;a17; Returns the rectangle of view area that is fully transparent
|
|
(nothing is painted in that rectangle). Paint routine uses this
|
|
information to optimize.&]
|
|
[s0;:`:`:Ctrl`:`:GetTransparentFrameRects`(`):%- virtual Vector<Rect>_[* GetTransparent
|
|
FrameRects]()&]
|
|
[s2;b17;a17; For transparent Ctrl returns set of frame areas that
|
|
should be painted as transparent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Vector of transparent frame areas.&]
|
|
[s0;:`:`:Ctrl`:`:GetOpaqueFrameRects`(`):%- virtual Vector<Rect>_[* GetOpaqueFrameRects
|
|
]()&]
|
|
[s2;b17;a17; For transparent Ctrl returns set of frame areas that
|
|
should be painted as opaque (means that painting Ctrls `"under`"
|
|
is not needed.).&]
|
|
[s7;i1120;a17; [*/ Return value]-|Vector of opaque frame areas.&]
|
|
[s0;:`:`:Ctrl`:`:GetTransparentViewRects`(`):%- virtual Vector<Rect>_[* GetTransparentV
|
|
iewRects]()&]
|
|
[s2;b17;a17; For transparent Ctrl is transparent, returns set of
|
|
view areas that should be painted as transparent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Vector of transparent view areas.
|
|
&]
|
|
[s0;:`:`:Ctrl`:`:GetOpaqueViewRects`(`):%- virtual Vector<Rect>_[* GetOpaqueViewRects](
|
|
)&]
|
|
[s2;b17;a17; For transparent Ctrl returns set of view areas that
|
|
should be painted as opaque.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Vector of opaque view areas.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Close`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Close]()&]
|
|
[s2;b17;a17; Closes top`-level Ctrl. If Ctrl is not top`-level, has
|
|
no effect. If it is and is open in host GUI (either as pop`-up
|
|
or as [^topic`:`/`/CtrlCore`/src`/TopWindow`$en`-us`#`:`:TopWindow`:`:class^ TopWin
|
|
dow]), it should close it. Default implementation closes. TopWindow
|
|
overrides this method to break modal loop instead of closing
|
|
if modal loop is performed for it.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsOcxChild`(`):%- [@(0.0.255) virtual] [@(0.0.255) bool]_[* IsOcxChild]()&]
|
|
[s2;b17;a17; Used for Ocx control implementation.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetData`(const `:`:Value`&`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* SetData]([@(0.0.255) const]_[_^`:`:Value^ Value][@(0.0.255) `&]_[*@3 dat
|
|
a])&]
|
|
[s2;b17;a17; Sets the new value to the object. Default implementation
|
|
is void.&]
|
|
[s7;i1120;a17; [*C@3 data]-|New value.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetData`(`)const:%- [@(0.0.255) virtual] [_^`:`:Value^ Value]_[* GetData](
|
|
)_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Gets current value of the object. Default implementation
|
|
returns Value() `- void value.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Value of object.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetModify`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* SetModify]()&]
|
|
[s2;b17;a17; Sets modification flag.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ClearModify`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* ClearModify](
|
|
)&]
|
|
[s2;b17;a17; Clears modification flag. Default implementation is
|
|
empty.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsModified`(`)const:%- [@(0.0.255) virtual] [@(0.0.255) bool]_[* IsModifie
|
|
d]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Queries modification flag. Default implementation returns
|
|
false.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Modification flag.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Accept`(`):%- [@(0.0.255) virtual] [@(0.0.255) bool]_[* Accept]()&]
|
|
[s2;b17;a17; This virtual method is called when value of Ctrl is
|
|
about to be accepted. Default implementation calls Accept for
|
|
all child Ctrls and returns false if any of child Ctrls returns
|
|
false, true otherwise.&]
|
|
[s2;b17;a17; Typical use is when user pressed OK button. If any Ctrl
|
|
of dialog returns false, OK is canceled.&]
|
|
[s2;b17;a17; Typical implementation of this method should test whether
|
|
current state of Ctrl (its edited value) matches requirements.
|
|
If it does, it should finish editing, accept edited value and
|
|
return true. Otherwise it should return false, &]
|
|
[s7;i1120;a17; [*/ Return value]-|Ctrl should return true if it successfully
|
|
finished editing, false otherwise.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Reject`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Reject]()&]
|
|
[s2;b17;a17; This virtual method is called when Ctrl should abort
|
|
editing, discarding edited value. Default implementation calls
|
|
Reject for all child Ctrls.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Serialize`(`:`:Stream`&`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* Serialize]([_^`:`:Stream^ Stream][@(0.0.255) `&]_[*@3 s])&]
|
|
[s2;b17;a17; Serialization method. Should serialize the value of
|
|
Ctrl in a way that is suitable for dialog backup and optional
|
|
restore (e.g. when user presses Cancel button).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AddChild`(`:`:Ctrl`*`):%- [@(0.0.255) void]_[* AddChild]([_^`:`:Ctrl^ Ctrl
|
|
]_`*[*@3 child])&]
|
|
[s2;b17;a17; Adds a child Ctrl as last one.&]
|
|
[s7;i1120;a17; [%-*C@3 child]-|Pointer to child Ctrl at the end of child
|
|
list. Note that U`+`+ never takes ownership of Ctrls `- never
|
|
calls delete for [@3 child. ]That allows using non`-heap based
|
|
Ctrls. &]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AddChild`(`:`:Ctrl`*`,`:`:Ctrl`*`):%- [@(0.0.255) void]_[* AddChild]([_^`:`:Ctrl^ C
|
|
trl]_`*[*@3 child], [_^`:`:Ctrl^ Ctrl]_`*[*@3 insafter])&]
|
|
[s2;b17;a17; Inserts child Ctrl after another Ctrl that is already
|
|
child.&]
|
|
[s7;i1120;a17; [%-*C@3 child]-|Pointer to child Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 insafter]-|Ctrl that will be before inserted
|
|
Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AddChildBefore`(`:`:Ctrl`*`,`:`:Ctrl`*`):%- [@(0.0.255) void]_[* AddChil
|
|
dBefore]([_^`:`:Ctrl^ Ctrl]_`*[*@3 child], [_^`:`:Ctrl^ Ctrl]_`*[*@3 insbefore])&]
|
|
[s2;b17;a17; Inserts child Ctrl before another Ctrl that is already
|
|
child.&]
|
|
[s7;i1120;a17; [%-*C@3 child]-|Pointer to child Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 insbefore]-|Ctrl that will be after inserted
|
|
Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RemoveChild`(`:`:Ctrl`*`):%- [@(0.0.255) void]_[* RemoveChild]([_^`:`:Ctrl^ C
|
|
trl]_`*[*@3 child])&]
|
|
[s2;b17;a17; Removes Ctrl from child list. Ctrl is never deleted.&]
|
|
[s7;i1120;a17; [%-*C@3 child]-|Child to be removed.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetParent`(`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* GetParent]()_[@(0.0.255) con
|
|
st]&]
|
|
[s2;b17;a17; Returns parent of Ctrl or NULL if Ctrl is topmost.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to parent Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetLastChild`(`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* GetLastChild]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;b17;a17; Returns last child.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to last child or NULL if Ctrl
|
|
has no children.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetFirstChild`(`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* GetFirstChild]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;b17;a17; Returns first child.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to first child or NULL if
|
|
Ctrl has no children.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetPrev`(`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* GetPrev]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Returns child that is before this Ctrl in child list
|
|
or NULL if Ctrl is first or not in list.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to previous child or NULL.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetNext`(`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* GetNext]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Returns next child that is after this Ctrl in child
|
|
list or NULL if Ctrl is last or not in list.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to next child or NULL.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsChild`(`)const:%- [@(0.0.255) bool]_[* IsChild]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if Ctrl has parent.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ChildFromPoint`(`:`:Point`&`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* ChildFromP
|
|
oint]([_^`:`:Point^ Point][@(0.0.255) `&]_[*@3 pt])_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Checks whether opened top`-level Ctrl is foreground.&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if Ctrl is foreground.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetForeground`(`):%- [@(0.0.255) void]_[* SetForeground]()&]
|
|
[s2;b17;a17; Asks platform to put top`-level Ctrl to foreground.&]
|
|
[s5;K%- [*@(0.0.255) const][*@(64) _][*^`:`:Ctrl^@(64) Ctrl][*@(64) _`*][* GetTopCtrl][*@(64) ()_
|
|
][*@(0.0.255) const]&]
|
|
[s2;b17;a17; Gets the top`-level Ctrl, that is Ctrl that has this
|
|
Ctrl in child tree and has no parent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to top`-level Ctrl. Can return
|
|
this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetTopCtrl`(`):%- [_^`:`:Ctrl^ Ctrl]_`*[* GetTopCtrl]()&]
|
|
[s2;b17;a17; Gets the top`-level Ctrl, that is Ctrl that has this
|
|
Ctrl in child tree and has no parent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to top`-level Ctrl. Can return
|
|
this.&]
|
|
[s5;K%- [*@(0.0.255) const][*@(64) _][*^`:`:Ctrl^@(64) Ctrl][*@(64) _`*][* GetOwner][*@(64) ()_][*@(0.0.255) c
|
|
onst]&]
|
|
[s2;b17;a17; Returns owner of top`-level Ctrl. Example of owned window
|
|
is dialog launched from main application window. Owner is another
|
|
top`-level Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to owner top`-level Ctrl or
|
|
NULL is window is not owned.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetOwner`(`):%- [_^`:`:Ctrl^ Ctrl]_`*[* GetOwner]()&]
|
|
[s2;b17;a17; Returns owner of top`-level Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to owner top`-level Ctrl or
|
|
NULL is window is not owned.&]
|
|
[s5;K%- [*@(0.0.255) const][*@(64) _][*^`:`:Ctrl^@(64) Ctrl][*@(64) _`*][* GetTopCtrlOwner][*@(64) (
|
|
)_][*@(0.0.255) const]&]
|
|
[s2;b17;a17; Equivalent to GetTopCtrl()`->GetOwner() call.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to owner of top`-level Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetTopCtrlOwner`(`):%- [_^`:`:Ctrl^ Ctrl]_`*[* GetTopCtrlOwner]()&]
|
|
[s2;b17;a17; Equivalent to GetTopCtrl()`->GetOwner() call.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to owner of top`-level Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetOwnerCtrl`(`):%- [_^`:`:Ctrl^ Ctrl]_`*[* GetOwnerCtrl]()&]
|
|
[s5;K:`:`:Ctrl`:`:GetOwnerCtrl`(`)const:%- [*@(0.0.255) const][*@(64) _][*^`:`:Ctrl^@(64) C
|
|
trl][*@(64) _`*][* GetOwnerCtrl][*@(64) ()_][*@(0.0.255) const]&]
|
|
[s2;b17;a17; Returns the owner Ctrl. Unlike GetOwner, it returns
|
|
actual widget that was used as `"owner`" parameter in Open or
|
|
PopUp calls.&]
|
|
[s5;K%- [*@(0.0.255) const][*@(64) _][*^`:`:TopWindow^@(64) TopWindow][*@(64) _`*][* GetTopWind
|
|
ow][*@(64) ()_][*@(0.0.255) const]&]
|
|
[s2;b17;a17; TopWindow that contains this Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to TopWindow.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetTopWindow`(`):%- [_^`:`:TopWindow^ TopWindow]_`*[* GetTopWindow]()&]
|
|
[s2;b17;a17; TopWindow that contains this Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to TopWindow.&]
|
|
[s5;K%- [*@(0.0.255) const][*@(64) _][*^`:`:TopWindow^@(64) TopWindow][*@(64) _`*][* GetMainWin
|
|
dow][*@(64) ()_][*@(0.0.255) const]&]
|
|
[s2;b17;a17; Returns main window (one with no owner) that directly
|
|
or indirectly owns this Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to main window.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetMainWindow`(`):%- [_^`:`:TopWindow^ TopWindow]_`*[* GetMainWindow]()&]
|
|
[s2;b17;a17; Returns main window (one with no owner) that directly
|
|
or indirectly owns this Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to main window.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFrame`(int`,`:`:CtrlFrame`&`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* S
|
|
etFrame]([@(0.0.255) int]_[*@3 i], [_^`:`:CtrlFrame^ CtrlFrame][@(0.0.255) `&]_[*@3 frm])&]
|
|
[s2;b17;a17; Sets Frame at given position. If there is no such position
|
|
yet, required number of NullFrame frames is added. Only reference
|
|
to frame is stored, that means that frame must exists during
|
|
the time it is used in Ctrl. Also, some frames can also be used
|
|
for multiple Ctrls.&]
|
|
[s7;i1120;a17; [%-*C@3 i]-|Position. First frame with i `=`= 0 is outermost.&]
|
|
[s7;i1120;a17; [%-*C@3 frm]-|Reference to frame.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns `*this to allow chaining of
|
|
method calls.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFrame`(`:`:CtrlFrame`&`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* SetFra
|
|
me]([_^`:`:CtrlFrame^ CtrlFrame][@(0.0.255) `&]_[*@3 frm])&]
|
|
[s2;b17;a17; Sets frame at position 0.&]
|
|
[s7;i1120;a17; [%-*C@3 frm]-|Reference to frame.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AddFrame`(`:`:CtrlFrame`&`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* AddFra
|
|
me]([_^`:`:CtrlFrame^ CtrlFrame][@(0.0.255) `&]_[*@3 frm])&]
|
|
[s2;b17;a17; Adds frame at inner`-most position.&]
|
|
[s7;i1120;a17; [%-*C@3 frm]-|Reference to frame.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetFrame`(int`)const:%- [@(0.0.255) const]_[_^`:`:CtrlFrame^ CtrlFrame][@(0.0.255) `&
|
|
]_[* GetFrame]([@(0.0.255) int]_[*@3 i]_`=_[@3 0])_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Returns reference to frame at given position.&]
|
|
[s7;i1120;a17; [%-*C@3 i]-|Position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Reference to frame.&]
|
|
[s5;K%- [*^`:`:CtrlFrame^@(64) CtrlFrame][*@(64) `&_][* GetFrame][*@(64) (][*@(0.0.255) int][*@(64) _
|
|
][*@3 i][*@(64) _`=_][*@3 0][*@(64) )]&]
|
|
[s2;b17;a17; Returns reference to frame at given position.&]
|
|
[s7;i1120;a17; [%-*C@3 i]-|Position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Reference to frame.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RemoveFrame`(int`):%- [@(0.0.255) void]_[* RemoveFrame]([@(0.0.255) int]_[*@3 i
|
|
])&]
|
|
[s2;b17;a17; Removes frame at given position.&]
|
|
[s7;i1120;a17; [%-*C@3 i]-|Index of frame.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RemoveFrame`(`:`:CtrlFrame`&`):%- [@(0.0.255) void]_[* RemoveFrame]([_^`:`:CtrlFrame^ C
|
|
trlFrame][@(0.0.255) `&]_[*@3 frm])&]
|
|
[s2;b17;a17; Removes first frame equal to [@3 frm]. Equality means
|
|
here that pointers to both frames are the same (it is same instance).&]
|
|
[s7;i1120;a17; [%-*C@3 frm]-|Frame to remove.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InsertFrame`(int`,`:`:CtrlFrame`&`):%- [@(0.0.255) void]_[* InsertFrame](
|
|
[@(0.0.255) int]_[*@3 i], [_^`:`:CtrlFrame^ CtrlFrame][@(0.0.255) `&]_[*@3 frm])&]
|
|
[s2;b17;a17; Inserts frame at given position.&]
|
|
[s7;i1120;a17; [%-*C@3 i]-|Position.&]
|
|
[s7;i1120;a17; [%-*C@3 frm]-|Reference to frame.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:FindFrame`(`:`:CtrlFrame`&`):%- [@(0.0.255) int]_[* FindFrame]([_^`:`:CtrlFrame^ C
|
|
trlFrame][@(0.0.255) `&]_[*@3 frm])&]
|
|
[s2;b17;a17; Finds first frame equal to [@3 frm]. Equality means here
|
|
that pointers to both frames are the same (it is same instance).&]
|
|
[s7;i1120;a17; [%-*C@3 frm]-|Frame to find.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Index of frame or negative value if
|
|
frame is not found.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetFrameCount`(`)const:%- [@(0.0.255) int]_[* GetFrameCount]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;b17;a17; Returns count of frames in Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Count of frames.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ClearFrames`(`):%- [@(0.0.255) void]_[* ClearFrames]()&]
|
|
[s2;b17;a17; Removes all frames from Ctrl. Frame at position 0 then
|
|
added and set to NullFrame.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsOpen`(`)const:%- [@(0.0.255) bool]_[* IsOpen]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Checks whether top`-level Ctrl of this Ctrl is open.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if open.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Shutdown`(`):%- [@(0.0.255) void]_[* Shutdown]()&]
|
|
[s2;b17;a17; Sets internal flag indicating that Ctrl is being destructed.
|
|
This is rarely used to solve some destruction order problems.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsShutdown`(`)const:%- [@(0.0.255) bool]_[* IsShutdown]()_[@(0.0.255) cons
|
|
t]&]
|
|
[s2;b17;a17; Checks whether internal shutdown flag is set.&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if in shutdown mode.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetPos`(`:`:Ctrl`:`:LogPos`,bool`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_
|
|
[* SetPos]([_^`:`:Ctrl`:`:LogPos^ LogPos]_[*@3 p], [@(0.0.255) bool]_[*@3 inframe])&]
|
|
[s2;b17;a17; Sets [^topic`:`/`/CtrlCore`/src`/LogPos`$en`-us^ logical
|
|
position] of Ctrl. If Ctrl is top`-level, logical position must
|
|
be of left`-top type.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Logical position.&]
|
|
[s7;i1120;a17; [%-*C@3 inframe]-|If true, Ctrl is placed into [^topic`:`/`/CtrlCore`/src`/AboutFrames`$en`-us^ f
|
|
rame area] instead of view area&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetPos`(`:`:Ctrl`:`:LogPos`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* SetPo
|
|
s]([_^`:`:Ctrl`:`:LogPos^ LogPos]_[*@3 p])&]
|
|
[s2;b17;a17; Sets logical position of Ctrl in view area.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Logical position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetPos`(`:`:Ctrl`:`:Logc`,`:`:Ctrl`:`:Logc`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&
|
|
]_[* SetPos]([_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 x], [_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 y])&]
|
|
[s2;b17;a17; Sets logical position by individual coordinates (in
|
|
view area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Horizontal logical position.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Vertical logical postion.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetPosX`(`:`:Ctrl`:`:Logc`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* SetPos
|
|
X]([_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 x])&]
|
|
[s2;b17;a17; Sets horizontal logical position only (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Horizontal logical position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetPosY`(`:`:Ctrl`:`:Logc`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* SetPos
|
|
Y]([_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 y])&]
|
|
[s2;b17;a17; Sets vertical logical position only (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Vertical logical position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetRect`(const `:`:Rect`&`):%- [@(0.0.255) void]_[* SetRect]([@(0.0.255) c
|
|
onst]_[_^`:`:Rect^ Rect][@(0.0.255) `&]_[*@3 r])&]
|
|
[s2;b17;a17; Sets left`-top logical position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Rectangle determines left`-top position.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetRect`(int`,int`,int`,int`):%- [@(0.0.255) void]_[* SetRect]([@(0.0.255) i
|
|
nt]_[*@3 x], [@(0.0.255) int]_[*@3 y], [@(0.0.255) int]_[*@3 cx], [@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Sets left`-top logical position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Distance between parent rectangle left`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Distance between parent rectangle top`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Horizontal size.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Vertical size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetRectX`(int`,int`):%- [@(0.0.255) void]_[* SetRectX]([@(0.0.255) int]_[*@3 x
|
|
], [@(0.0.255) int]_[*@3 cx])&]
|
|
[s2;b17;a17; Sets left horizontal logical position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Distance between parent rectangle left`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Horizontal size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetRectY`(int`,int`):%- [@(0.0.255) void]_[* SetRectY]([@(0.0.255) int]_[*@3 y
|
|
], [@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Sets top vertical logical position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Distance between parent rectangle top`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Vertical size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFramePos`(`:`:Ctrl`:`:LogPos`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* S
|
|
etFramePos]([_^`:`:Ctrl`:`:LogPos^ LogPos]_[*@3 p])&]
|
|
[s2;b17;a17; Sets logical position of Ctrl in frame area.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Logical position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFramePos`(`:`:Ctrl`:`:Logc`,`:`:Ctrl`:`:Logc`):%- [_^`:`:Ctrl^ Ctrl
|
|
][@(0.0.255) `&]_[* SetFramePos]([_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 x],
|
|
[_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 y])&]
|
|
[s2;b17;a17; Sets logical position by individual coordinates (in
|
|
frame area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Horizontal logical position.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Vertical logical postion.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFramePosX`(`:`:Ctrl`:`:Logc`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* S
|
|
etFramePosX]([_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 x])&]
|
|
[s2;b17;a17; Sets horizontal logical position only (in frame area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Horizontal logical position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFramePosY`(`:`:Ctrl`:`:Logc`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* S
|
|
etFramePosY]([_^`:`:Ctrl`:`:Logc^ Logc]_[*@3 y])&]
|
|
[s2;b17;a17; Sets vertical logical position only (in frame area).&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Vertical logical position.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFrameRect`(const `:`:Rect`&`):%- [@(0.0.255) void]_[* SetFrameRect]([@(0.0.255) c
|
|
onst]_[_^`:`:Rect^ Rect][@(0.0.255) `&]_[*@3 r])&]
|
|
[s2;b17;a17; Sets left`-top logical position (in frame area).&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Rectangle determines left`-top position.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFrameRect`(int`,int`,int`,int`):%- [@(0.0.255) void]_[* SetFrameRect](
|
|
[@(0.0.255) int]_[*@3 x], [@(0.0.255) int]_[*@3 y], [@(0.0.255) int]_[*@3 cx],
|
|
[@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Sets left`-top logical position (in frame area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Distance between parent rectangle left`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Distance between parent rectangle top`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Horizontal size.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Vertical size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFrameRectX`(int`,int`):%- [@(0.0.255) void]_[* SetFrameRectX]([@(0.0.255) i
|
|
nt]_[*@3 x], [@(0.0.255) int]_[*@3 cx])&]
|
|
[s2;b17;a17; Sets left horizontal logical position (in frame area).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Distance between parent rectangle left`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Horizontal size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFrameRectY`(int`,int`):%- [@(0.0.255) void]_[* SetFrameRectY]([@(0.0.255) i
|
|
nt]_[*@3 y], [@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Sets top vertical logical position (in frame area).&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Distance between parent rectangle top`-edge
|
|
and Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Vertical size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InFrame`(`)const:%- [@(0.0.255) bool]_[* InFrame]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when Ctrl has position in frame
|
|
area.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InView`(`)const:%- [@(0.0.255) bool]_[* InView]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when Ctrl has position in view
|
|
area.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetPos`(`)const:%- [_^`:`:Ctrl`:`:LogPos^ LogPos]_[* GetPos]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Logical position of Ctrl&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RefreshLayout`(`):%- [@(0.0.255) void]_[* RefreshLayout]()&]
|
|
[s2;b17;a17; Recomputes layout for Ctrl. This includes calling FrameLayout
|
|
for all frames and calling Layout virtual method.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RefreshParentLayout`(`):%- [@(0.0.255) void]_[* RefreshParentLayout]()&]
|
|
[s2;b17;a17; If Ctrl has parent, calls parent`->RefreshLayout().&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftPos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* LeftPos]([@(0.0.255) i
|
|
nt]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets left horizontal position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from left border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Horizontal size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightPos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* RightPos]([@(0.0.255) i
|
|
nt]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets right horizontal position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from the right border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Horizontal size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:TopPos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* TopPos]([@(0.0.255) i
|
|
nt]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets top vertical position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from the top border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Vertical size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:BottomPos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* BottomPos]([@(0.0.255) i
|
|
nt]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets bottom vertical position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from the bottom border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Vertical size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HSizePos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* HSizePos]([@(0.0.255) i
|
|
nt]_[*@3 a]_`=_[@3 0], [@(0.0.255) int]_[*@3 b]_`=_[@3 0])&]
|
|
[s2;b17;a17; Sets horizontal sizing position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from left border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 b]-|Distance from right border of parent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:VSizePos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* VSizePos]([@(0.0.255) i
|
|
nt]_[*@3 a]_`=_[@3 0], [@(0.0.255) int]_[*@3 b]_`=_[@3 0])&]
|
|
[s2;b17;a17; Sets vertical sizing position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance form top border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 b]-|Distance from bottom border of parent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SizePos`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* SizePos]()&]
|
|
[s2;b17;a17; Same as VSizePos().HSizePos().&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HCenterPos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* HCenterPos](
|
|
[@(0.0.255) int]_[*@3 size]_`=_STDSIZE, [@(0.0.255) int]_[*@3 delta]_`=_[@3 0])&]
|
|
[s2;b17;a17; Horizontal centered position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Horizontal size.&]
|
|
[s7;i1120;a17; [%-*C@3 delta]-|Offset from centered position (rarely
|
|
used).&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:VCenterPos`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* VCenterPos](
|
|
[@(0.0.255) int]_[*@3 size]_`=_STDSIZE, [@(0.0.255) int]_[*@3 delta]_`=_[@3 0])&]
|
|
[s2;b17;a17; Vertical centered position (in view area).&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Vertical size.&]
|
|
[s7;i1120;a17; [%-*C@3 delta]-|Offset from centered position (rarely
|
|
used).&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LeftPosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* LeftPosZ]([@(0.0.255) i
|
|
nt]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets left horizontal [/ zoomed ]position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from the left border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Horizontal size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RightPosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* RightPosZ]([@(0.0.255) i
|
|
nt]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets right horizontal [/ zoomed ]position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from the right border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Horizontal size.&]
|
|
[s2;b17;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:TopPosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* TopPosZ]([@(0.0.255) i
|
|
nt]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets top vertical [/ zoomed ]position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from the top border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Vertical size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:BottomPosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* BottomPosZ](
|
|
[@(0.0.255) int]_[*@3 a], [@(0.0.255) int]_[*@3 size]_`=_STDSIZE)&]
|
|
[s2;b17;a17; Sets bottom vertical [/ zoomed ]position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance from the bottom border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Vertical size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HSizePosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* HSizePosZ]([@(0.0.255) i
|
|
nt]_[*@3 a]_`=_[@3 0], [@(0.0.255) int]_[*@3 b]_`=_[@3 0])&]
|
|
[s2;b17;a17; Sets vertical [/ zoomed ]sizing position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance form top border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 b]-|Distance from bottom border of parent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:VSizePosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* VSizePosZ]([@(0.0.255) i
|
|
nt]_[*@3 a]_`=_[@3 0], [@(0.0.255) int]_[*@3 b]_`=_[@3 0])&]
|
|
[s2;b17;a17; Sets vertical [/ zoomed ]sizing position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 a]-|Distance form top border of parent.&]
|
|
[s7;i1120;a17; [%-*C@3 b]-|Distance from bottom border of parent.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HCenterPosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* HCenterPos
|
|
Z]([@(0.0.255) int]_[*@3 size]_`=_STDSIZE, [@(0.0.255) int]_[*@3 delta]_`=_[@3 0])&]
|
|
[s2;b17;a17; Horizontal centered [/ zoomed ]position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Horizontal size.&]
|
|
[s7;i1120;a17; [%-*C@3 delta]-|Offset from centered position (rarely
|
|
used).&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:VCenterPosZ`(int`,int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* VCenterPos
|
|
Z]([@(0.0.255) int]_[*@3 size]_`=_STDSIZE, [@(0.0.255) int]_[*@3 delta]_`=_[@3 0])&]
|
|
[s2;b17;a17; Vertical centered [/ zoomed] position (in view area).
|
|
Distances are recalculated using zoom factor to accommodate size
|
|
differences between standard font used during layout design and
|
|
actual standard font.&]
|
|
[s7;i1120;a17; [%-*C@3 size]-|Vertical size.&]
|
|
[s7;i1120;a17; [%-*C@3 delta]-|Offset from centered position (rarely
|
|
used).&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetRect`(`)const:%- [_^`:`:Rect^ Rect]_[* GetRect]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns current position in parent.
|
|
It is either position in view or frame coordinates.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetScreenRect`(`)const:%- [_^`:`:Rect^ Rect]_[* GetScreenRect]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns current position in absolute
|
|
screen coordinates.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetView`(`)const:%- [_^`:`:Rect^ Rect]_[* GetView]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns position of view rectangle
|
|
in frame coordinates.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetScreenView`(`)const:%- [_^`:`:Rect^ Rect]_[* GetScreenView]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns position of view rectangle
|
|
in absolute screen coordinates.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetSize`(`)const:%- [_^`:`:Size^ Size]_[* GetSize]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns size of view rectangle of
|
|
Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetVisibleScreenRect`(`)const:%- [_^`:`:Rect^ Rect]_[* GetVisibleScreenR
|
|
ect]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns current position in parent
|
|
intersected with either parent`'s visible screen rectangle for
|
|
frame Ctrl (as obtained using GetVisibleScreenRect) or parent`'s
|
|
screen view rectangle for view Ctrl (obtained using GetVisibleScreenView).
|
|
This method is useful when rectangle of Ctrl exceeds it`'s parent
|
|
area `- in this case this method returns part of Ctrl that is
|
|
not clipped out by parent`'s are limits.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetVisibleScreenView`(`)const:%- [_^`:`:Rect^ Rect]_[* GetVisibleScreenV
|
|
iew]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns current position of view area
|
|
intersected with either parent`'s visible screen rectangle for
|
|
frame Ctrl (as obtained using GetVisibleScreenRect) or parent`'s
|
|
screen view rectangle for view Ctrl (obtained using GetVisibleScreenView).
|
|
This method is useful when rectangle of Ctrl exceeds it`'s parent
|
|
area `- in this case this method returns part of Ctrl view that
|
|
is not clipped out by parent`'s are limits.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AddFrameSize`(int`,int`)const:%- [_^`:`:Size^ Size]_[* AddFrameSize]([@(0.0.255) i
|
|
nt]_[*@3 cx], [@(0.0.255) int]_[*@3 cy])_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Computes size of Ctrl for given size of view and actual
|
|
set of frames.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Width.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Height.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Size of Ctrl that would have requested
|
|
view size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AddFrameSize`(`:`:Size`)const:%- [_^`:`:Size^ Size]_[* AddFrameSize]([_^`:`:Size^ S
|
|
ize]_[*@3 sz])_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Same as AddFrameSize(sz.cx, sz.cy).&]
|
|
[s7;i1120;a17; [%-*C@3 sz]-|Size.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Size of Ctrl that would have requested
|
|
view size.&]
|
|
[s5;K%- [*@(0.0.255) void][*@(64) _][* Refresh][*@(64) (][*@(0.0.255) const][*@(64) _][*^`:`:Rect^@(64) R
|
|
ect][*@(64) `&_][*@3 area][*@(64) )]&]
|
|
[s2;b17;a17; Marks requested rectangle of view area for repainting.
|
|
Actual repaint is deferred for performance reasons.&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Rectangle in view.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Refresh`(int`,int`,int`,int`):%- [@(0.0.255) void]_[* Refresh]([@(0.0.255) i
|
|
nt]_[*@3 x], [@(0.0.255) int]_[*@3 y], [@(0.0.255) int]_[*@3 cx], [@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Marks requested rectangle of view area for repainting.
|
|
Actual repaint is deferred for performance reasons.&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Left position of rectangle.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Top position of rectangle.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Width.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Height.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Refresh`(`):%- [@(0.0.255) void]_[* Refresh]()&]
|
|
[s2;b17;a17; Marks whole view area for repainting.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsFullRefresh`(`)const:%- [@(0.0.255) bool]_[* IsFullRefresh]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when whole view area is marked
|
|
for repainting but was not repainted yet.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RefreshFrame`(const `:`:Rect`&`):%- [@(0.0.255) void]_[* RefreshFrame]([@(0.0.255) c
|
|
onst]_[_^`:`:Rect^ Rect][@(0.0.255) `&]_[*@3 r])&]
|
|
[s2;b17;a17; Marks requested rectangle of frame area for repainting.
|
|
Actual repainting is deferred for performance reasons.&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Area to repaint.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RefreshFrame`(int`,int`,int`,int`):%- [@(0.0.255) void]_[* RefreshFrame](
|
|
[@(0.0.255) int]_[*@3 x], [@(0.0.255) int]_[*@3 y], [@(0.0.255) int]_[*@3 cx],
|
|
[@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Marks requested rectangle of frame area for repainting.
|
|
Actual repaint is deferred for performance reasons.&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Left position of rectangle.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Top position of rectangle.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Width.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Height.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RefreshFrame`(`):%- [@(0.0.255) void]_[* RefreshFrame]()&]
|
|
[s2;b17;a17; Marks whole Ctrl area for repainting.&]
|
|
[s5;K%- [*@(0.0.255) void][*@(64) _][* ScrollView][*@(64) (][*@(0.0.255) const][*@(64) _][*^`:`:Rect^@(64) R
|
|
ect][*@(64) `&_][*@3 `_r][*@(64) , ][*@(0.0.255) int][*@(64) _][*@3 dx][*@(64) ,
|
|
][*@(0.0.255) int][*@(64) _][*@3 dy][*@(64) )]&]
|
|
[s2;b17;a17; Marks requested view rectangle for repainting, indicating
|
|
that part of this repaint can be done by scrolling current content
|
|
of rectangle. Note that actual scroll is deferred to repaint
|
|
and that U`+`+ is still allowed to solve the situation by repainting
|
|
rather than scrolling.&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Area for repainting.&]
|
|
[s7;i1120;a17; [%-*C@3 dx]-|Horizontal scroll.&]
|
|
[s7;i1120;a17; [%-*C@3 dy]-|Vertical scroll.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ScrollView`(int`,int`,int`,int`,int`,int`):%- [@(0.0.255) void]_[* Scrol
|
|
lView]([@(0.0.255) int]_[*@3 x], [@(0.0.255) int]_[*@3 y], [@(0.0.255) int]_[*@3 cx],
|
|
[@(0.0.255) int]_[*@3 cy], [@(0.0.255) int]_[*@3 dx], [@(0.0.255) int]_[*@3 dy])&]
|
|
[s2;b17;a17; Marks requested view rectangle for repainting, indicating
|
|
that part of this repaint can be done by scrolling current content
|
|
of rectangle. Note that actual scroll is deferred to repaint
|
|
and that U`+`+ is still allowed to solve the situation by repainting
|
|
rather than scrolling.&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Area for repainting.&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|Left position of rectangle.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Top position of rectangle.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Width.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Height.&]
|
|
[s7;i1120;a17; [%-*C@3 dx]-|Horizontal scroll.&]
|
|
[s7;i1120;a17; [%-*C@3 dy]-|Vertical scroll.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ScrollView`(int`,int`):%- [@(0.0.255) void]_[* ScrollView]([@(0.0.255) int
|
|
]_[*@3 dx], [@(0.0.255) int]_[*@3 dy])&]
|
|
[s2;b17;a17; Marks while view area for repainting, indicating that
|
|
part of this repaint can be done by scrolling current content
|
|
of rectangle. Note that actual scroll is deferred to repaint
|
|
and that U`+`+ is still allowed to solve the situation by repainting
|
|
rather than scrolling.&]
|
|
[s7;i1120;a17; [%-*C@3 dx]-|Horizontal scroll.&]
|
|
[s7;i1120;a17; [%-*C@3 dy]-|Vertical scroll.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ScrollView`(const `:`:Rect`&`,`:`:Size`):%- [@(0.0.255) void]_[* ScrollV
|
|
iew]([@(0.0.255) const]_[_^`:`:Rect^ Rect][@(0.0.255) `&]_[*@3 r], [_^`:`:Size^ Size]_[*@3 de
|
|
lta])&]
|
|
[s2;b17;a17; Same as ScrollView(r, delta.cx, delta.cy).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ScrollView`(`:`:Size`):%- [@(0.0.255) void]_[* ScrollView]([_^`:`:Size^ Si
|
|
ze]_[*@3 delta])&]
|
|
[s2;b17;a17; Same as ScrollView(delta.cx, delta.cy).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Sync`(`):%- [@(0.0.255) void]_[* Sync]()&]
|
|
[s2;b17;a17; Forces immediate repainting of areas marked using Refresh,
|
|
RefreshFrame or ScrollView methods.&]
|
|
[s5;K%- [*@(0.0.255) void][*@(64) _][* Sync][*@(64) (][*@(0.0.255) const][*@(64) _][*^`:`:Rect^@(64) R
|
|
ect][*@(64) `&_][*@3 sr][*@(64) )]&]
|
|
[s2;b17;a17; Forces immediate repainting of areas marked using Refresh,
|
|
RefreshFrame or ScrollView methods, limited with intersection
|
|
of given rectangle.&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Rectangle.&]
|
|
[s5;K:`:`:Ctrl`:`:OverrideCursor`(const`:`:Image`&`):%- [*^`:`:Image^@(64) Image][*@(64) _
|
|
][* OverrideCursor][*@(64) (][*@(0.0.255) const][*@(64) _][*^`:`:Image^@(64) Image][*@(64) `&
|
|
_][*@3 m][*@(64) )]&]
|
|
[s2;b17;a17; Overrides mouse cursor to [%-*@3 m]. To end the override,
|
|
call it again with the Image returned by the override call.&]
|
|
[s5;K%- [*@(0.0.255) void][*@(64) _][* DrawCtrl][*@(64) (][*^`:`:Draw^@(64) Draw][*@(64) `&_][*@3 w
|
|
][*@(64) , ][*@(0.0.255) int][*@(64) _][*@3 x][*@(64) , ][*@(0.0.255) int][*@(64) _][*@3 y][*@(64) )
|
|
]&]
|
|
[s2;b17;a17; Draws Ctrl at specified position. This is intended for
|
|
utility purposes like taking screen`-shots. This version Draws
|
|
Ctrl [/ without] background (supplied by parent).&]
|
|
[s7;i1120;a17; [%-*C@3 w]-|Target Draw.&]
|
|
[s7;i1120;a17; [%-*C@3 x, ][*C@3 y]-|Position.&]
|
|
[s5;K%- [*@(0.0.255) void][*@(64) _][* DrawCtrlWithParent][*@(64) (][*^`:`:Draw^@(64) Draw][*@(64) `&
|
|
_][*@3 w][*@(64) , ][*@(0.0.255) int][*@(64) _][*@3 x][*@(64) , ][*@(0.0.255) int][*@(64) _][*@3 y][*@(64) )
|
|
]&]
|
|
[s2;b17;a17; Draws Ctrl at specified position. This is intended for
|
|
utility purposes like taking screen`-shots. This version Draws
|
|
Ctrl [/ with] background (supplied by parent).&]
|
|
[s7;i1120;a17; [%-*C@3 w]-|Target Draw.&]
|
|
[s7;i1120;a17; [%-*C@3 x, ][*C@3 y]-|Position.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HasChild`(`:`:Ctrl`*`)const:%- [@(0.0.255) bool]_[* HasChild]([_^`:`:Ctrl^ C
|
|
trl]_`*[*@3 ctrl])_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Tests whether Ctrl has specified [/ direct] child.&]
|
|
[s7;i1120;a17; [%-*C@3 ctrl]-|Child.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if ctrl is child.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HasChildDeep`(`:`:Ctrl`*`)const:%- [@(0.0.255) bool]_[* HasChildDeep]([_^`:`:Ctrl^ C
|
|
trl]_`*[*@3 ctrl])_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Tests whether Ctrl has specified ctrl in its child tree
|
|
(direct or indirect).&]
|
|
[s7;i1120;a17; [%-*C@3 ctrl]-|Child.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if ctrl is in child tree.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IgnoreMouse`(bool`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* IgnoreMouse]([@(0.0.255) b
|
|
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|
[s2;b17;a17; Sets ignore`-mouse flag. When active, Ctrl is ignored
|
|
for mouse input. That is important for static Ctrls that cover
|
|
other Ctrls, like LabelBox `- this flag ensures, that mouse input
|
|
is not consumed by LabelBox, but is distributed to Ctrls that
|
|
lay inside it.&]
|
|
[s7;i1120;a17; [%-*C@3 b]-|Value of flag.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:NoIgnoreMouse`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* NoIgnoreMouse]()
|
|
&]
|
|
[s2;b17;a17; Same as IgnoreMouse(false).&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HasMouse`(`)const:%- [@(0.0.255) bool]_[* HasMouse]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when Ctrl is target for mouse
|
|
events.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HasMouseInFrame`(const `:`:Rect`&`):%- [@(0.0.255) bool]_[* HasMouseInFr
|
|
ame]([@(0.0.255) const]_[_^`:`:Rect^ Rect][@(0.0.255) `&]_[*@3 r])&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|rectangle in frame area.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when Ctrl is target for mouse
|
|
events and mouse pointer is inside specified frame area rectangle.&]
|
|
[s5;K%- [*@(0.0.255) bool][*@(64) _][* HasMouseIn][*@(64) (][*@(0.0.255) const][*@(64) _][*^`:`:Rect^@(64) R
|
|
ect][*@(64) `&_][*@3 r][*@(64) )]&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|rectangle in view area.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when Ctrl is target for mouse
|
|
events and mouse pointer is inside specified view area rectangle.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetMouseCtrl`(`):%- [@(0.0.255) static] [_^`:`:Ctrl^ Ctrl]_`*[* GetMouseCt
|
|
rl]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|Returns current target for mouse events.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IgnoreMouseClick`(`):%- [@(0.0.255) static] [@(0.0.255) void]_[* IgnoreMou
|
|
seClick]()&]
|
|
[s2;b17;a17; Forces framework to ignore all mouse events till next
|
|
button`-up event. This is good tool to solve some corner cases,
|
|
like popup window closed by button click when mouse pointer is
|
|
over its owner as well (TopWindow`::Close calls this function).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IgnoreMouseUp`(`):%- [@(0.0.255) static] [@(0.0.255) void]_[* IgnoreMouseU
|
|
p]()&]
|
|
[s2;b17;a17; Invokes IgnoreMouseClick if some of mouse buttons is
|
|
pressed.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetCapture`(`):%- [@(0.0.255) bool]_[* SetCapture]()&]
|
|
[s2;b17;a17; Sets mouse capture for Ctrl. This method should be called
|
|
in MouseLeft or MouseRight methods only. Ctrl will receive all
|
|
mouse input until ReleaseCapture is called or mouse button is
|
|
released.&]
|
|
[s7;i1120;a17; [*/ Return value]-|True when SetCapture was successful
|
|
(usually you can ignore this return value).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ReleaseCapture`(`):%- [@(0.0.255) bool]_[* ReleaseCapture]()&]
|
|
[s2;b17;a17; Release Ctrl`'s mouse capture.&]
|
|
[s7;i1120;a17; [*/ Return value]-|True when mouse capture was released.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HasCapture`(`)const:%- [@(0.0.255) bool]_[* HasCapture]()_[@(0.0.255) cons
|
|
t]&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if Ctrl has mouse capture.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ReleaseCtrlCapture`(`):%- [@(0.0.255) static] [@(0.0.255) bool]_[* Release
|
|
CtrlCapture]()&]
|
|
[s2;b17;a17; If any of application`'s Ctrls has mouse capture, it
|
|
is released.&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if mouse capture was released.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetFocus`(`):%- [@(0.0.255) bool]_[* SetFocus]()&]
|
|
[s2;b17;a17; Sets keyboard input focus to the Ctrl. Ctrl is first
|
|
to receive keyboard events via Key method as long as it has keyboard
|
|
input focus. When Ctrl denies keyboard event (by returning false
|
|
from Key method), it is passed to its parent`'s Key method and
|
|
so on.&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if setting focus was successful.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HasFocus`(`)const:%- [@(0.0.255) bool]_[* HasFocus]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if Ctrl has keyboard input focus.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HasFocusDeep`(`)const:%- [@(0.0.255) bool]_[* HasFocusDeep]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if Ctrl or any of its descendants
|
|
has focus or is equal to GetOwnerCtrl of any active popup.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:WantFocus`(bool`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* WantFocus]([@(0.0.255) b
|
|
ool]_[*@3 ft]_`=_[@(0.0.255) true])&]
|
|
[s2;b17;a17; Indicates whether Ctrl wants focus to be passed to it
|
|
by U`+`+, e.g. when navigating through the dialog using Tab (or
|
|
Shift`+Tab) key.&]
|
|
[s7;i1120;a17; [%-*C@3 ft]-|true to indicate that Ctrl wants focus.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Same Ctrl for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:NoWantFocus`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* NoWantFocus]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|Same Ctrl for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsWantFocus`(`)const:%- [@(0.0.255) bool]_[* IsWantFocus]()_[@(0.0.255) co
|
|
nst]&]
|
|
[s2;b17;a17;%- Checks whether Ctrl has WantFocus acti.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true, when Ctrl wants focus.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InitFocus`(bool`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* InitFocus]([@(0.0.255) b
|
|
ool]_[*@3 ft]_`=_[@(0.0.255) true])&]
|
|
[s2;b17;a17; Indicates that Ctrl is eligible to obtain focus upon
|
|
opening of dialog or in other similar situations.&]
|
|
[s7;i1120;a17; [%-*C@3 ft]-|true to indicate Ctrl is eligible.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Same Ctrl for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:NoInitFocus`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* NoInitFocus]()&]
|
|
[s2;b17;a17; Same as InitFocus(false).&]
|
|
[s7;i1120;a17; [*/ Return value]-|Same Ctrl for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsInitFocus`(`):%- [@(0.0.255) bool]_[* IsInitFocus]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when Ctrl wants init focus.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetWantFocus`(`):%- [@(0.0.255) bool]_[* SetWantFocus]()&]
|
|
[s2;b17;a17; If Ctrl wants focus (WantFocus(true) was called for
|
|
it), set focus to Ctrl, otherwise nothing happens.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if focus was set.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetFocusChild`(`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* GetFocusChild]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s2;b17;a17; If any immediate child of Ctrl has focus, returns pointer
|
|
to it.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to child with focus or NULL
|
|
if no such exists.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetFocusChildDeep`(`)const:%- [_^`:`:Ctrl^ Ctrl]_`*[* GetFocusChildDeep](
|
|
)_[@(0.0.255) const]&]
|
|
[s2;b17;a17; If any child of Ctrl`'s child tree has focus, returns
|
|
pointer to it.&]
|
|
[s7;i1120;a17; [*/ Return value]-|&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:CancelModeDeep`(`):%- [@(0.0.255) void]_[* CancelModeDeep]()&]
|
|
[s2;b17;a17; Calls CancelMode virtual method for Ctrl and all of
|
|
its descendants.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetCaret`(int`,int`,int`,int`):%- [@(0.0.255) void]_[* SetCaret]([@(0.0.255) i
|
|
nt]_[*@3 x], [@(0.0.255) int]_[*@3 y], [@(0.0.255) int]_[*@3 cx], [@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Place caret rectangle block at given position in view
|
|
area. Caret rectangle is full flashing box and usually indicates
|
|
place where text is to entered. Ctrl can have just one caret.
|
|
Only Ctrl with focus has its caret displayed (also means that
|
|
you do not need to remove caret when Ctrl goes out of focus).&]
|
|
[s7;i1120;a17; [%-*C@3 x]-|X position.&]
|
|
[s7;i1120;a17; [%-*C@3 y]-|Y position.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Horizontal size.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Vertical size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetCaret`(const `:`:Rect`&`):%- [@(0.0.255) void]_[* SetCaret]([@(0.0.255) c
|
|
onst]_[_^`:`:Rect^ Rect][@(0.0.255) `&]_[*@3 r])&]
|
|
[s2;b17;a17; Place caret rectangle block at given position in view
|
|
area. Caret rectangle is full flashing box and usually indicates
|
|
place where text is to entered. Ctrl can have just one caret.
|
|
Only Ctrl with focus has its caret displayed (also means that
|
|
you do not need to remove caret when Ctrl goes out of focus).&]
|
|
[s7;i1120;a17; [%-*C@3 r]-|Caret block rectangle.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:KillCaret`(`):%- [@(0.0.255) void]_[* KillCaret]()&]
|
|
[s2;b17;a17; Removes caret from Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetFocusCtrl`(`):%- [@(0.0.255) static] [_^`:`:Ctrl^ Ctrl]_`*[* GetFocusCt
|
|
rl]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|Ctrl that has focus or NULL if no
|
|
Ctrl of application has it.&]
|
|
[s5;K%- [*@(64) static ][*@(0.0.255) bool][*@(64) _][* IterateFocusForward][*@(64) (][*^`:`:Ctrl^@(64) C
|
|
trl][*@(64) _`*][*@3 ctrl][*@(64) , ][*^`:`:Ctrl^@(64) Ctrl][*@(64) _`*][*@3 top][*@(64) ,
|
|
][*@(0.0.255) bool][*@(64) _][*@3 noframe][*@(64) _`=_false, ][*@(0.0.255) bool][*@(64) _][*@3 i
|
|
nit][*@(64) _`=_false)]&]
|
|
[s2;b17;a17; Tries to move focus to next `"appropriate`" Ctrl, like
|
|
when Tab key is pressed in the dialog. Appropriate Ctrl needs
|
|
to have WantFocus flag, be visible and enabled.&]
|
|
[s7;i1120;a17; [%-*C@3 ctrl]-|Ctrl with focus.&]
|
|
[s7;i1120;a17; [%-*C@3 top]-|Top Ctrl `- function cycles only between
|
|
this Ctrl subtree.&]
|
|
[s7;i1120;a17; [%-*C@3 noframe]-|Indicates that frame Ctrls are to be
|
|
excluded.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when focus was successfully moved.&]
|
|
[s5;K%- [*@(64) static ][*@(0.0.255) bool][*@(64) _][* IterateFocusBackward][*@(64) (][*^`:`:Ctrl^@(64) C
|
|
trl][*@(64) _`*][*@3 ctrl][*@(64) , ][*^`:`:Ctrl^@(64) Ctrl][*@(64) _`*][*@3 top][*@(64) ,
|
|
][*@(0.0.255) bool][*@(64) _][*@3 noframe][*@(64) _`=_false)]&]
|
|
[s2;b17;a17; Tries to move focus to previous appropriate Ctrl, like
|
|
when Tab key is pressed in the dialog. `"Appropriate`" Ctrl needs
|
|
to have WantFocus flag, be visible and enabled.&]
|
|
[s7;i1120;a17; [%-*C@3 ctrl]-|Ctrl with focus.&]
|
|
[s7;i1120;a17; [%-*C@3 top]-|Top Ctrl `- function cycles only between
|
|
this Ctrl subtree.&]
|
|
[s7;i1120;a17; [%-*C@3 noframe]-|Indicates that frame Ctrls are to be
|
|
excluded.&]
|
|
[s7;i1120;a17; [*C@3 init]-|Ctrl must have InitFocus flag.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when focus was successfully moved.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:AccessKeyBit`(`:`:byte`):%- [@(0.0.255) static] [_^`:`:dword^ dword]_[* Ac
|
|
cessKeyBit]([_^`:`:byte^ byte]_[*@3 accesskey])&]
|
|
[s2;b17;a17; Returns bit`-mask for specified access`-key.&]
|
|
[s7;i1120;a17; [%-*C@3 accesskey]-|Access`-key. It should be plain ASCII
|
|
value of access`-key.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Access`-key bitmask. Note that only
|
|
`'A`' `- `'Z`' have distinct bit`-masks as those are only access`-keys
|
|
distributed automatically.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetAccessKeysDeep`(`)const:%- [_^`:`:dword^ dword]_[* GetAccessKeysDeep](
|
|
)_[@(0.0.255) const]&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetAccessKeysDeep`(`)const:%- [_^`:`:dword^ dword]_[* GetAccessKeysDeep](
|
|
)_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Returns binary or of Ctrl`'s GetAccessKey method results
|
|
with the result of calling GetAccessKeyDeep for all children.
|
|
In other words, returns key coverage for the whole Ctrl tree.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Access`-keys used by Ctrl and its
|
|
descendants.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:DistributeAccessKeys`(`):%- [@(0.0.255) void]_[* DistributeAccessKeys]()
|
|
&]
|
|
[s2;b17;a17; Triggers automatic distribution of access keys. This
|
|
is implemented as gathering all already used access keys using
|
|
GetAccessKeys method and then using AssignAccessKeys method with
|
|
this value to distribute rest of keys (in other words, it is
|
|
equivalent of AssignAccessKeys(GetAccessKeys())).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:RefreshAccessKeys`(`):%- [@(0.0.255) void]_[* RefreshAccessKeys]()&]
|
|
[s2;b17;a17; Invokes Refresh for this Ctrl or any descendant with
|
|
any access`-key assigned.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:VisibleAccessKeys`(`):%- [@(0.0.255) bool]_[* VisibleAccessKeys]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if according to current access`-key
|
|
model there should be visible graphical representation (usually
|
|
underline) of access`-keys.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Show`(bool`):%- [@(0.0.255) void]_[* Show]([@(0.0.255) bool]_[*@3 show]_`=_[@(0.0.255) t
|
|
rue])&]
|
|
[s2;b17;a17; Sets visibility flag for Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 show]-|true indicates that Ctrl should be visible.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Hide`(`):%- [@(0.0.255) void]_[* Hide]()&]
|
|
[s2;b17;a17; Same as Show(false).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsShown`(`)const:%- [@(0.0.255) bool]_[* IsShown]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|visibility flag for Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsVisible`(`)const:%- [@(0.0.255) bool]_[* IsVisible]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if Ctrl is currently visible
|
|
on the screen. Ctrl is visible if it has visibility flag set,
|
|
its parent is visible and its top`-level Ctrl is open.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Enable`(bool`):%- [@(0.0.255) void]_[* Enable]([@(0.0.255) bool]_[*@3 enable
|
|
]_`=_[@(0.0.255) true])&]
|
|
[s2;b17;a17; Enables or disables Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 enable]-|true indicates that Ctrl should be enabled.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Disable`(`):%- [@(0.0.255) void]_[* Disable]()&]
|
|
[s2;b17;a17; Same as Enable(false).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsEnabled`(`)const:%- [@(0.0.255) bool]_[* IsEnabled]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if Ctrl is enabled.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetEditable`(bool`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* SetEditable]([@(0.0.255) b
|
|
ool]_[*@3 editable]_`=_[@(0.0.255) true])&]
|
|
[s2;b17;a17; Sets editable or read`-only mode of Ctrl. Specific Ctrls
|
|
can check this flag using IsEditable method and behave accordingly.&]
|
|
[s7;i1120;a17; [%-*C@3 editable]-|true indicates that Ctrl is editable.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetReadOnly`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* SetReadOnly]()&]
|
|
[s2;b17;a17; Same as SetEditable(false).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsEditable`(`)const:%- [@(0.0.255) bool]_[* IsEditable]()_[@(0.0.255) cons
|
|
t]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if Ctrl is editable.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsReadOnly`(`)const:%- [@(0.0.255) bool]_[* IsReadOnly]()_[@(0.0.255) cons
|
|
t]&]
|
|
[s2;b17;a17; Same as !IsEditable().&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ResetModify`(`):%- [@(0.0.255) void]_[* ResetModify]()&]
|
|
[s2;b17;a17; Resets modify flag.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsModifySet`(`)const:%- [@(0.0.255) bool]_[* IsModifySet]()_[@(0.0.255) co
|
|
nst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if modify flag is set.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:UpdateRefresh`(`):%- [@(0.0.255) void]_[* UpdateRefresh]()&]
|
|
[s2;b17;a17; Calls both Update and Refresh methods.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Update`(`):%- [@(0.0.255) void]_[* Update]()&]
|
|
[s2;b17;a17; Same as SetModify().&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Action`(`):%- [@(0.0.255) void]_[* Action]()&]
|
|
[s2;b17;a17; Invokes default Ctrl callback `- WhenAction.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:UpdateAction`(`):%- [@(0.0.255) void]_[* UpdateAction]()&]
|
|
[s2;b17;a17; Calls Update and then Action.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:UpdateActionRefresh`(`):%- [@(0.0.255) void]_[* UpdateActionRefresh]()&]
|
|
[s2;b17;a17; Calls Update, then Action, then Refresh. Typically called
|
|
after user changes values of Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:BackPaint`(int`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* BackPaint]([@(0.0.255) i
|
|
nt]_[*@3 bp]_`=_FULLBACKPAINT)&]
|
|
[s2;b17;a17; Activates back`-paint mode for Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 bp]-|Back`-paint mode.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:TransparentBackPaint`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* Transpare
|
|
ntBackPaint]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|BackPaint(TRANSPARENTBACKPAINT).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:NoBackPaint`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* NoBackPaint]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|BackPaint(NOBACKPAINT).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetBackPaint`(`):%- [@(0.0.255) int]_[* GetBackPaint]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|Current back`-paint mode of Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Transparent`(bool`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* Transparent]([@(0.0.255) b
|
|
ool]_[*@3 bp]_`=_[@(0.0.255) true])&]
|
|
[s2;b17;a17; Sets transparency flag of Ctrl. If transparency flag
|
|
is disabled, U`+`+ can paint Ctrl in more effective way.&]
|
|
[s7;i1120;a17; [%-*C@3 bp]-|Transparency flag.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:NoTransparent`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* NoTransparent]()
|
|
&]
|
|
[s7;i1120;a17; [*/ Return value]-|Transparent(false).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsTransparent`(`)const:%- [@(0.0.255) bool]_[* IsTransparent]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Value of transparency flag.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ActiveX`(bool`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* ActiveX]([@(0.0.255) b
|
|
ool]_[*@3 ax]_`=_[@(0.0.255) true])&]
|
|
[s2;b17;a17; Special flag used for ActiveX Ctrls implementation.&]
|
|
[s0; Windows specific.&]
|
|
[s7;i1120;a17; [%-*C@3 ax]-|true `- Ctrl is ActiveX control&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:NoActiveX`(`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* NoActiveX]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|ActiveX(false).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsActiveX`(`)const:%- [@(0.0.255) bool]_[* IsActiveX]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Value of ActiveX flag.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Info`(const char`*`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* Info]([@(0.0.255) c
|
|
onst]_[@(0.0.255) char]_`*[*@3 txt])&]
|
|
[s2;b17;a17; Sets Tip text of Ctrl. This text is displayed as tooltip
|
|
of Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 txt]-|Text.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HelpLine`(const char`*`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* HelpLine](
|
|
[@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 txt])&]
|
|
[s2;b17;a17; Sets help topic link for Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 txt]-|Link.&]
|
|
[s7;i1120;a17; [*/ Return value]-|`*this for method chaining.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetTip`(`)const:%- [_^`:`:String^ String]_[* GetTip]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Current Tip text.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetHelpLine`(`)const:%- [_^`:`:String^ String]_[* GetHelpLine]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Current HelpTopic link.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:operator`<`<`(`:`:Ctrl`&`):%- [_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[* operato
|
|
r<<]([_^`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 ctrl])&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Add`(`:`:Ctrl`&`):%- [@(0.0.255) void]_[* Add]([_^`:`:Ctrl^ Ctrl][@(0.0.255) `&
|
|
]_[*@3 ctrl])&]
|
|
[s2;b17;a17; Adds ctrl as the last child.&]
|
|
[s7;i1120;a17; [%-*C@3 ctrl]-|Ctrl to add.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Remove`(`):%- [@(0.0.255) void]_[* Remove]()&]
|
|
[s2;b17;a17; Removes Ctrl from its parent.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:operator`<`<`=`(const `:`:Value`&`):%- [@(0.0.255) const]_[_^`:`:Value^ V
|
|
alue][@(0.0.255) `&]_[* operator<<`=]([@(0.0.255) const]_[_^`:`:Value^ Value][@(0.0.255) `&
|
|
]_[*@3 v])&]
|
|
[s2;b17;a17; Same as SetData(v).&]
|
|
[s7;i1120;a17; [%-*C@3 v]-|New Value of Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Reference to v.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:operator`<`<`=`(`:`:Callback`):%- [_^`:`:Callback^ Callback]_[* operator
|
|
<<`=]([_^`:`:Callback^ Callback]_[*@3 action])&]
|
|
[s2;b17;a17; Same as WhenAction `= action;&]
|
|
[s7;i1120;a17; [%-*C@3 action]-|Callback that is invoked when user changes
|
|
value of Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|The value of callback, so that it
|
|
can be assigned to several Ctrls in one statement.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:operator`<`<`(`:`:Callback`):%- [_^`:`:Callback^ Callback][@(0.0.255) `&
|
|
]_[* operator<<]([_^`:`:Callback^ Callback]_[*@3 action])&]
|
|
[s2;b17;a17; Same as WhenAction << action;&]
|
|
[s7;i1120;a17; [%-*C@3 action]-|Callback that is to be added to callbacks
|
|
that are invoked when user changes value of Ctrl.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Reference to WhenAction.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetTimeCallback`(int`,`:`:Callback`,int`):%- [@(0.0.255) void]_[* SetTim
|
|
eCallback]([@(0.0.255) int]_[*@3 delay`_ms], [_^`:`:Callback^ Callback]_[*@3 cb],
|
|
[@(0.0.255) int]_[*@3 id]_`=_[@3 0])&]
|
|
[s2;b17;a17; Puts delayed callback to the timer queue. As an identifier
|
|
of callback, which is void `* in timer queue, [* this] `+ [* id]
|
|
is used. When Ctrl is destroyed, all callbacks with [* id] in range
|
|
0 ... sizeof(Ctrl) are removed from timer callback queue `- this
|
|
ensures that no dangling callbacks are left there.&]
|
|
[s7;i1120;a17; [%-*C@3 delay`_ms]-|Delay of callback in ms. If this
|
|
is 0, callback is called immediately after all pending input
|
|
GUI events are processed.&]
|
|
[s7;i1120;a17; [%-*C@3 cb]-|Callback. Should be callback to Ctrl`'s
|
|
method.&]
|
|
[s7;i1120;a17; [%-*C@3 id]-|id. Should be in range 0..80. U`+`+ defines
|
|
compile`-time protocol for distributing these ids. If Ctrl wants
|
|
to use non`-zero time callback [* id], it should define it using&]
|
|
[s7;i1120;a17; -|[@(0.0.255) enum] [@(0.0.255) `{ ]TIMEID`_PERIODIC `=
|
|
[/ baseclass]`::TIMEID`_COUNT,&]
|
|
[s7;i1120;a17; -| TIMEID`_COUNT[@(0.0.255) `};]&]
|
|
[s7;i1120;a17; -|Using zero as [* id] is OK as long as you do not intend
|
|
to remove time callbacks using [* KillTimeCallback.]&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:KillTimeCallback`(int`):%- [@(0.0.255) void]_[* KillTimeCallback]([@(0.0.255) i
|
|
nt]_[*@3 id]_`=_[@3 0])&]
|
|
[s2;b17;a17; Removes time callback associated with Ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 id]-|Id of callback.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ExistsTimeCallback`(int`)const:%- [@(0.0.255) bool]_[* ExistsTimeCallbac
|
|
k]([@(0.0.255) int]_[*@3 id]_`=_[@3 0])_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Tests whether Ctrl has associated callback in timer
|
|
queue.&]
|
|
[s7;i1120;a17; [%-*C@3 id]-|Id of callback.&]
|
|
[s7;i1120;a17; [*/ Return value]-|true when id is found in timer queue.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetActiveCtrl`(`):%- [@(0.0.255) static] [_^`:`:Ctrl^ Ctrl]_`*[* GetActive
|
|
Ctrl]()&]
|
|
[s2;b17;a17; Returns pointer to active Ctrl. Active Ctrl is top`-level
|
|
Ctrl of Ctrl with keyboard focus.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to active Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetActiveWindow`(`):%- [@(0.0.255) static] [_^`:`:Ctrl^ Ctrl]_`*[* GetActi
|
|
veWindow]()&]
|
|
[s2;b17;a17; Returns pointer to active TopWindow that is either active
|
|
or owns active Ctrl. Difference between GetActiveWindow and GetActiveCtrl
|
|
is that GetActiveCtrl can return pop`-up Ctrl, while GetActiveWindow
|
|
returns always TopWindow `- if active Ctrl is pop`-up, owner
|
|
of pop`-up is returned.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to active window.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetVisibleChild`(`:`:Ctrl`*`,`:`:Point`,bool`):%- [@(0.0.255) static]
|
|
[_^`:`:Ctrl^ Ctrl]_`*[* GetVisibleChild]([_^`:`:Ctrl^ Ctrl]_`*[*@3 ctrl],
|
|
[_^`:`:Point^ Point]_[*@3 p], [@(0.0.255) bool]_[*@3 pointinframe])&]
|
|
[s2;b17;a17; Finds deepest descendant of Ctrl that is visible and
|
|
contains given point. If not such Ctrl exists, returns this.&]
|
|
[s7;i1120;a17; [%-*C@3 ctrl]-|Parent ctrl.&]
|
|
[s7;i1120;a17; [%-*C@3 p]-|Point.&]
|
|
[s7;i1120;a17; [%-*C@3 pointinframe]-|Determines whether point is in
|
|
view or frame coordinates.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Pointer to Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PopUpHWND`(HWND`,bool`,bool`,bool`,bool`):%- [@(0.0.255) void]_[* PopUpH
|
|
WND](HWND_[*@3 hwnd], [@(0.0.255) bool]_[*@3 savebits]_`=_[@(0.0.255) true],
|
|
[@(0.0.255) bool]_[*@3 activate]_`=_[@(0.0.255) true], [@(0.0.255) bool]_[*@3 dropshadow]_`=
|
|
_[@(0.0.255) false], [@(0.0.255) bool]_[*@3 topmost]_`=_[@(0.0.255) false])&]
|
|
[s2;b17;a17; Opens top`-level Ctrl as pop`-up window.&]
|
|
[s6; [2 Win32 specific.]&]
|
|
[s7;i1120;a17; [%-*C@3 hwnd]-|Win32 handle of owner window.&]
|
|
[s7;i1120;a17; [%-*C@3 savebits]-|Indicates that system should try to
|
|
preserve background bits.&]
|
|
[s7;i1120;a17; [%-*C@3 activate]-|Pop`-up should be activated.&]
|
|
[s7;i1120;a17; [%-*C@3 dropshadow]-|Pop`-up should have drop`-shadow
|
|
(if supported).&]
|
|
[s7;i1120;a17; [%-*C@3 topmost]-|Pop`-up should be top`-most window.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:PopUp`(`:`:Ctrl`*`,bool`,bool`,bool`,bool`):%- [@(0.0.255) void]_[* PopU
|
|
p]([_^`:`:Ctrl^ Ctrl]_`*[*@3 owner]_`=_NULL, [@(0.0.255) bool]_[*@3 savebits]_`=_[@(0.0.255) t
|
|
rue], [@(0.0.255) bool]_[*@3 activate]_`=_[@(0.0.255) true], [@(0.0.255) bool]_[*@3 dropsha
|
|
dow]_`=_[@(0.0.255) false], [@(0.0.255) bool]_[*@3 topmost]_`=_[@(0.0.255) false])&]
|
|
[s2;b17;a17; Opens top`-level Ctrl as pop`-up window.&]
|
|
[s7;i1120;a17; [%-*C@3 owner]-|Owner.&]
|
|
[s7;i1120;a17; [%-*C@3 savebits]-|Indicates that system should try to
|
|
preserve background bits.&]
|
|
[s7;i1120;a17; [%-*C@3 activate]-|Pop`-up should be activated.&]
|
|
[s7;i1120;a17; [%-*C@3 dropshadow]-|Pop`-up should have drop`-shadow
|
|
(if supported).&]
|
|
[s7;i1120;a17; [%-*C@3 topmost]-|Pop`-up should be top`-most window.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetAlpha`(`:`:byte`):%- [@(0.0.255) void]_[* SetAlpha]([_^`:`:byte^ byte]_
|
|
[*@3 alpha])&]
|
|
[s2;b17;a17; Sets top`-level Ctrl alpha blending if supported by
|
|
system. Ctrl must be open.&]
|
|
[s7;i1120;a17; [%-*C@3 alpha]-|Value of alpha.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsWaitingEvent`(`):%- [@(0.0.255) static] [@(0.0.255) bool]_[* IsWaitingEv
|
|
ent]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|True when there is waiting unprocessed
|
|
event in input queue.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ProcessEvent`(bool`*`):%- [@(0.0.255) static] [@(0.0.255) bool]_[* Process
|
|
Event]([@(0.0.255) bool]_`*[*@3 quit]_`=_NULL)&]
|
|
[s2;b17;a17; Processes single event from input queue. When there
|
|
is no pending event, returns immediately. (Processing event involves
|
|
usually involves dispatching it via virtual methods to proper
|
|
Ctrls).&]
|
|
[s7;i1120;a17; [%-*C@3 quit]-|Assigned true when WM`_QUIT message is
|
|
intercepted (Win32 specific).&]
|
|
[s7;i1120;a17; [*/ Return value]-|True indicates that event was processed,
|
|
false that queue was empty.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:ProcessEvents`(bool`*`):%- [@(0.0.255) static] [@(0.0.255) bool]_[* Proces
|
|
sEvents]([@(0.0.255) bool]_`*[*@3 quit]_`=_NULL)&]
|
|
[s2;b17;a17; Processes all events from input queue. When there is
|
|
no pending event, returns immediately. (Processing event involves
|
|
usually involves dispatching it via virtual methods to proper
|
|
Ctrls).&]
|
|
[s7;i1120;a17; [%-*C@3 quit]-|Assigned true when WM`_QUIT message is
|
|
intercepted (Win32 specific).&]
|
|
[s7;i1120;a17; [*/ Return value]-|True indicates that one or more events
|
|
were processed, false that queue was empty.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:IsPopUp`(`)const:%- [@(0.0.255) bool]_[* IsPopUp]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|True if Ctrl is pop`-up window.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:EventLoop`(`:`:Ctrl`*`):%- [@(0.0.255) static] [@(0.0.255) void]_[* EventL
|
|
oop]([_^`:`:Ctrl^ Ctrl]_`*[*@3 loopctrl]_`=_NULL)&]
|
|
[s2;b17;a17; Executes event`-loop. If [*@3 loopctrl ]is not NULL, it
|
|
must be opened top`-level Ctrl and loop is executed until EndLoop
|
|
method for [*@3 loopctrl ]is invoked. If [*@3 loopctrl] is NULL,
|
|
loop is executed as long as any top`-level Ctrl exists or application
|
|
is terminated by OS specific `"shutdown`" event.&]
|
|
[s7;i1120;a17; [%-*C@3 loopctrl]-|Looping Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetLoopLevel`(`):%- [@(0.0.255) static] [@(0.0.255) int]_[* GetLoopLevel](
|
|
)&]
|
|
[s7;i1120;a17; [*/ Return value]-|Level of even`-loop (even`-loops a
|
|
reentrant).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetLoopCtrl`(`):%- [@(0.0.255) static] [_^`:`:Ctrl^ Ctrl]_`*[* GetLoopCtrl
|
|
]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|Current looping Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:EndLoop`(`):%- [@(0.0.255) void]_[* EndLoop]()&]
|
|
[s2;b17;a17; Terminates loop for looping Ctrl. Note that this terminates
|
|
only loop for looping Ctrl. If there is another loop above such
|
|
loop, nothing is terminated until this additional loop is active.&]
|
|
[s5;K%- [*@(0.0.255) void][*@(64) _][* EndLoop][*@(64) (][*@(0.0.255) int][*@(64) _][*@3 code][*@(64) )
|
|
]&]
|
|
[s2;b17;a17; Same as EndLoop(), but also defines loop exit code.&]
|
|
[s7;i1120;a17; [%-*C@3 code]-|Loop exit code.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InLoop`(`)const:%- [@(0.0.255) bool]_[* InLoop]()_[@(0.0.255) const]&]
|
|
[s7;i1120;a17; [*/ Return value]-|true if Ctrl is looping Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetExitCode`(`)const:%- [@(0.0.255) int]_[* GetExitCode]()_[@(0.0.255) con
|
|
st]&]
|
|
[s7;i1120;a17; [*/ Return value]-|Exit code of last loop performed with
|
|
this Ctrl.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetMinSize`(`:`:Size`):%- [@(0.0.255) void]_[* SetMinSize]([_^`:`:Size^ Si
|
|
ze]_[*@3 sz])&]
|
|
[s2;b17;a17; This method does nothing. It is a interface placeholder
|
|
to get Layout templates working `- in derived classes this can
|
|
be statically overloaded to receive minimal size of layout.&]
|
|
[s7;i1120;a17; [%-*C@3 sz]-|Minimal size of layout.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Csizeinit`(`):%- [@(0.0.255) static] [@(0.0.255) void]_[* Csizeinit]()&]
|
|
[s2;b17;a17; Sets zoom factor used to scale layouts (to scale zoomed
|
|
positioning methods like LeftPosZ). Horizontal distances are
|
|
scaled by sz.cx / bsz.cx, vertical by sz.cy / bsz.cy. If bsz
|
|
is Size(0, 0), default base size (based on standard Win32 GUI
|
|
font) is used. Note that U`+`+ sets scaling factor automatically
|
|
upon startup based on actual standard GUI font size.&]
|
|
[s7;i1120;a17; [%-*C@3 sz]-|Numerator of scaling factor.&]
|
|
[s7;i1120;a17; [%-*C@3 bsz]-|Denominator of scaling factor.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:HorzLayoutZoom`(int`):%- [@(0.0.255) static] [@(0.0.255) int]_[* HorzLayou
|
|
tZoom]([@(0.0.255) int]_[*@3 cx])&]
|
|
[s2;b17;a17; Performs horizontal scaling by actual scaling factor.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Distance to scale.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Scaled distance.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:VertLayoutZoom`(int`):%- [@(0.0.255) static] [@(0.0.255) int]_[* VertLayou
|
|
tZoom]([@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Performs vertical scaling by actual scaling factor.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Distance to scale.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Scaled distance.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LayoutZoom`(int`,int`):%- [@(0.0.255) static] [_^`:`:Size^ Size]_[* Layout
|
|
Zoom]([@(0.0.255) int]_[*@3 cx], [@(0.0.255) int]_[*@3 cy])&]
|
|
[s2;b17;a17; Performs scaling by actual scaling factor.&]
|
|
[s7;i1120;a17; [%-*C@3 cx]-|Horizontal distance.&]
|
|
[s7;i1120;a17; [%-*C@3 cy]-|Vertical distance.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Scaled size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:LayoutZoom`(`:`:Size`):%- [@(0.0.255) static] [_^`:`:Size^ Size]_[* Layout
|
|
Zoom]([_^`:`:Size^ Size]_[*@3 sz])&]
|
|
[s2;b17;a17; Performs scaling by actual scaling factor.&]
|
|
[s7;i1120;a17; [%-*C@3 sz]-|Size to scale.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Scaled size.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:NoLayoutZoom`(`):%- [@(0.0.255) static] [@(0.0.255) void]_[* NoLayoutZoom](
|
|
)&]
|
|
[s2;b17;a17; Sets scaling factor to (1, 1). Same as SetZoomSize(Size(1,
|
|
1), Size(1, 1)).&]
|
|
[s5;K:`:`:Ctrl`:`:GetWorkArea`(`):%- [*^`:`:Rect^@(64) Rect][*@(64) _][* GetWorkArea][*@(64) (
|
|
)]&]
|
|
[s2;b17;a17; Returns OS specific working area for the widget `- this
|
|
is rectangle in screen coordinates where application top`-level
|
|
windows can be placed `- the size of screen minus the size of
|
|
any border entities like the task`-bar. If widget is not associated
|
|
with the open window, returns the size of primary work area.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Work area rectangle.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetVirtualWorkArea`(`):%- [@(0.0.255) static] [_^`:`:Rect^ Rect]_[* GetVir
|
|
tualWorkArea]()&]
|
|
[s2;b17;a17; Returns the total size of all displays minus any border
|
|
entities.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetVirtualScreenArea`(`):%- [@(0.0.255) static] [_^`:`:Rect^ Rect]_[* GetV
|
|
irtualScreenArea]()&]
|
|
[s2;b17;a17; Returns the total size of all displays.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetPrimaryWorkArea`(`):%- [@(0.0.255) static] [_^`:`:Rect^ Rect]_[* GetPri
|
|
maryWorkArea]()&]
|
|
[s2;b17;a17; Returns the size of primary work area `- primary screen
|
|
in Windows is the display with start menu.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetPrimaryScreenArea`(`):%- [@(0.0.255) static] [_^`:`:Rect^ Rect]_[* GetP
|
|
rimaryScreenArea]()&]
|
|
[s2;b17;a17; Returns the size of primary screen `- primary screen
|
|
in Windows is the display with start menu.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetKbdDelay`(`):%- [@(0.0.255) static] [@(0.0.255) int]_[* GetKbdDelay]()&]
|
|
[s2;b17;a17; Returns delay of keyboard before autorepeat starts when
|
|
key is pressed.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Time in ms.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetKbdSpeed`(`):%- [@(0.0.255) static] [@(0.0.255) int]_[* GetKbdSpeed]()&]
|
|
[s2;b17;a17; Returns speed of autorepeat.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Speed of autorepeat.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetDefaultWindowRect`(`):%- [@(0.0.255) static] [_^`:`:Rect^ Rect]_[* GetD
|
|
efaultWindowRect]()&]
|
|
[s2;b17;a17; Returns OS suggested rectangle of newly open window.&]
|
|
[s7;i1120;a17; [*/ Return value]-|Default window rectangle.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GetAppName`(`):%- [@(0.0.255) static] [_^`:`:String^ String]_[* GetAppName
|
|
]()&]
|
|
[s7;i1120;a17; [*/ Return value]-|Name of application. Used by U`+`+
|
|
in several places like Prompts.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:SetAppName`(const `:`:String`&`):%- [@(0.0.255) static]
|
|
[@(0.0.255) void]_[* SetAppName]([@(0.0.255) const]_[_^`:`:String^ String][@(0.0.255) `&]_[*@3 a
|
|
ppname])&]
|
|
[s7;i1120;a17; [%-*C@3 appname]-|Adjusts application name.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Name`(`)const:%- [_^`:`:String^ String]_[* Name]()_[@(0.0.255) const]&]
|
|
[s2;b17;a17; Dumps diagnostic informations to standard log.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:Dump`(`:`:Stream`&`)const:%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* Dump]([_^`:`:Stream^ Stream][@(0.0.255) `&]_[*@3 s])_[@(0.0.255) const]&]
|
|
[s2;b17;a17;%- Dumps diagnostic informations to specified output
|
|
stream.&]
|
|
[s7;i1120;a17; [%-*C@3 s]-|Stream.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:InitWin32`(HINSTANCE`):%- [@(0.0.255) static] [@(0.0.255) void]_[* InitWin
|
|
32](HINSTANCE_[*@3 hinst])&]
|
|
[s2;b17;a17; Flushes all drawing operations to screen (what it EXACTLY
|
|
does is platform specific).&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:`:`:Ctrl`:`:GuiSleep`(int`):%- [@(0.0.255) static] [@(0.0.255) void]_[* GuiSleep]([@(0.0.255) i
|
|
nt]_[*@3 ms])&]
|
|
[s2;b17;a17; Sleeps (while allowing other applications or threads
|
|
to run) for at least [*@3 ms] milliseconds or until new input event
|
|
is available.&]
|
|
[s7;i1120;a17; [%-*@3 ms]-|Time to sleep.&]
|
|
[s0; ] |