mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-25 06:12:34 -06:00
347 lines
No EOL
13 KiB
C++
347 lines
No EOL
13 KiB
C++
topic "Frame";
|
||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
||
[l288;2 $$2,2#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
|
||
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 Frame]]}}&]
|
||
[s9; [^topic`:`/`/CtrlCore`/srcdoc`/AboutFrames`$en`-us^ Frames] are
|
||
objects derived from CtrlFrame class that form appearance and
|
||
functionality of area between outer Ctrl border and its view.&]
|
||
[s3; &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[s0;%- &]
|
||
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 CtrlFrame]]}}&]
|
||
[s3; &]
|
||
[s1;:CtrlFrame`:`:class:%- [@(0.0.255)3 class][3 _][*3 CtrlFrame]&]
|
||
[s9; Interface definition of frame classes.&]
|
||
[s3; &]
|
||
[s0;%- &]
|
||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||
[s3;%- &]
|
||
[s5;:CtrlFrame`:`:`~CtrlFrame`(`):%- [@(0.0.255) `~][* CtrlFrame]()&]
|
||
[s2; Empty virtual destructor.&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:CtrlFrame`:`:FrameLayout`(Rect`&`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* FrameL
|
||
ayout]([_^Rect^ Rect][@(0.0.255) `&]_[*@3 r])_`=_[@3 0]&]
|
||
[s2; Frame reacts to this method by defining its own layout (if needed)
|
||
and reducing the size of Ctrl view rectangle.&]
|
||
[s7; [%-*C@3 r]-|Reference to current Ctrl rectangle. When Ctrl recomputes
|
||
its layout, it starts with Rect equivalent to its external size
|
||
(GetRect().Size()). Then it calls FrameLayout of all its frames
|
||
(starting with frame 0) and resulting Rect is the size of Ctrl`'s
|
||
view.&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:CtrlFrame`:`:FrameAddSize`(Size`&`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Frame
|
||
AddSize]([_^Size^ Size][@(0.0.255) `&]_[*@3 sz])_`=_[@3 0]&]
|
||
[s2; Adds size of the frame to the current external size of Ctrl.
|
||
This is used to compute the external size of Ctrl for given size
|
||
of view.&]
|
||
[s7; [%-*C@3 sz]-|Reference to actual size of Ctrl.&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:CtrlFrame`:`:FramePaint`(Draw`&`,const Rect`&`):%- [@(0.0.255) virtual]
|
||
[@(0.0.255) void]_[* FramePaint]([_^Draw^ Draw][@(0.0.255) `&]_[*@3 w],
|
||
[@(0.0.255) const]_[_^Rect^ Rect][@(0.0.255) `&]_[*@3 r])&]
|
||
[s2; Paint the frame. Default implementation is empty.&]
|
||
[s7; [%-*C@3 w]-|Draw.&]
|
||
[s7; [%-*C@3 r]-|Outer rectangle of the frame (this is the same rectangle
|
||
as was given in last FrameLayout).&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:CtrlFrame`:`:FrameAdd`(Ctrl`&`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* FrameAdd](
|
||
[_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 parent])&]
|
||
[s2; Called when frame is added to the Ctrl. Frame can use it to
|
||
add its subctrls to the parent. Default implementation is empty.&]
|
||
[s7; [%-*C@3 parent]-|Parent Ctrl.&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:CtrlFrame`:`:FrameRemove`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* FrameRemove](
|
||
)&]
|
||
[s2; Called when frame is removed from the Ctrl. Frame can use it
|
||
to remove subctrls from its parent. Default implementation is
|
||
empty. &]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:CtrlFrame`:`:OverPaint`(`)const:%- [@(0.0.255) virtual] [@(0.0.255) int]_[* OverPaint](
|
||
)_[@(0.0.255) const]&]
|
||
[s2; This method can returns non`-zero number that represents paint
|
||
extension margin of Ctrl rectangle `- frame can paint over this
|
||
margin despite that fact that it does not belong to the Ctrl
|
||
rectangle. This is useful to represent some specific skinning
|
||
effect (like glare around the EditField). Default implementation
|
||
returns zero. &]
|
||
[s3; &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 Standard static frames]]}}&]
|
||
[s9; U`+`+ defines several standard static frames. Those frames are
|
||
mostly used to define (or alter) appearance of border of Ctrls.
|
||
All of them are obtained as a reference to single global instance
|
||
by single global function and can be assigned to unlimited number
|
||
of Ctrls.&]
|
||
[s9; Appearance of some of them can be altered by current OS look`&feel.&]
|
||
[s3; &]
|
||
[s0; &]
|
||
[ {{3967:1202:1908:2923h1;@(204) [s0; Function]
|
||
:: [s0; altered by look`&feel]
|
||
:: [s0; Appearance]
|
||
:: [s0; Comment]
|
||
::@2 [s0; CtrlFrame`&_[* NullFrame]()]
|
||
:: [s0; No.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֜<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٟ<EFBFBD><EFBFBD>ɥɒ˥<EFBFBD>ʮ<EFBFBD><EFBFBD>ܪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>˥<EFBFBD>
|
||
<EFBFBD>ʮ<EFBFBD>ܪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD>˥<EFBFBD>ˀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
]
|
||
:: [s0; [1 Default Frame for Ctrl.]]
|
||
:: [s0; CtrlFrame`&_[* InsetFrame]()]
|
||
:: [s0; No.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؐ<EFBFBD><EFBFBD>Ѓ<EFBFBD><EFBFBD><EFBFBD>ęܹͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˜<EFBFBD>ʿ<EFBFBD>٩ΰ<EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̥䪨<EFBFBD>ө<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʦҲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̥䪥<EFBFBD>ʩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֎٩<EFBFBD>ᗵ<EFBFBD><EFBFBD>᷷<EFBFBD>Ҍ<EFBFBD><EFBFBD><EFBFBD>ۅ<EFBFBD><EFBFBD><EFBFBD>Ƚ
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* OutsetFrame]()]
|
||
:: [s0; No.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뿃<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ጱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鶫<EFBFBD><EFBFBD>Բ
|
||
<EFBFBD><EFBFBD><EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD>ʬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ך<EFBFBD><EFBFBD><EFBFBD>ˀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* ButtonFrame]()]
|
||
:: [s0; No.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᅢ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʀ<EFBFBD>𲅄<EFBFBD><EFBFBD>Ӥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ff<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>댲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̥<EFBFBD>Ъ<EFBFBD>ө<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʦҲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̥䪥<EFBFBD>ө<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʔ<EFBFBD><EFBFBD>鹟<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* ThinInsetFrame]()]
|
||
:: [s0; No.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȁ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؠ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӄ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>Ϳͥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫө<EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫӵ<EFBFBD>̥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫө̥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫө̥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><EFBFBD><EFBFBD>땀<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* ThinOutsetFrame]()]
|
||
:: [s0; No.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ف<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʁ<EFBFBD>Ϩ<EFBFBD><EFBFBD>ӆ㺇<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫӵ<EFBFBD>̥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
Ԫө̥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫө̥Ʋ<EFBFBD><EFBFBD>Ԫө<EFBFBD>̥<EFBFBD><EFBFBD>ʦ<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD>Ղ<EFBFBD>ˀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* BlackFrame]()]
|
||
:: [s0; No.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܋<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD>ܪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>˥<EFBFBD>
|
||
<EFBFBD>ʮ<EFBFBD>ܪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD>˥<EFBFBD>ʧ<EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꙣ
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* FieldFrame]()]
|
||
:: [s0; Yes.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ל<EFBFBD><EFBFBD><EFBFBD>瞀<EFBFBD><EFBFBD><EFBFBD>㷼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݦɗʮ<EFBFBD>ܪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ
|
||
ɒ˥<EFBFBD>ʮ<EFBFBD><EFBFBD>ܪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD>߮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѐ<EFBFBD>ē<EFBFBD><EFBFBD>ہ<EFBFBD>
|
||
]
|
||
:: [s0; [1 Good for borders of all Ctrls that display somthing, like EditField
|
||
or ArrayCtrl.]]
|
||
:: [s0; CtrlFrame`&_[* TopSeparatorFrame]()]
|
||
:: [s0; Yes.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>È<EFBFBD>݄<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>籉<EFBFBD><EFBFBD>߀<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸ꪮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD>Ѹ<EFBFBD><EFBFBD>ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><EFBFBD>Ҵ<EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뾅<EFBFBD>
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* BottomSeparatorFrame]()]
|
||
:: [s0; Yes.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>È<EFBFBD>݄<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>籉<EFBFBD><EFBFBD>߀<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>܊ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݚɢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* LeftSeparatorFrame]()]
|
||
:: [s0; Yes.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ژ<EFBFBD>ª<EFBFBD><EFBFBD>Џ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蠊<EFBFBD><EFBFBD>灺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ժ<EFBFBD>ˎ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٲ<EFBFBD><EFBFBD>ƒ<EFBFBD>˖<EFBFBD>
|
||
<EFBFBD>ز<EFBFBD><EFBFBD>Қ<EFBFBD>ᖬ<EFBFBD><EFBFBD><EFBFBD>ɒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蚃<EFBFBD>ㄘ
|
||
]
|
||
:: [s0; ]
|
||
:: [s0; CtrlFrame`&_[* RightSeparatorFrame]()]
|
||
:: [s0; Yes.]
|
||
:: [s0;
|
||
@@image:612&237
|
||
<EFBFBD><EFBFBD>…<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>щ<EFBFBD><EFBFBD>̘<EFBFBD><EFBFBD><EFBFBD><EFBFBD>찈<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߅߄Ϻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>浀<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٲ<EFBFBD>ҩ<EFBFBD><EFBFBD>˖<EFBFBD><EFBFBD>
|
||
ݱ<EFBFBD>ɒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٲ<EFBFBD>ƒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ق<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ä<EFBFBD>
|
||
]
|
||
:: [s0; ]}}&]
|
||
[s3; &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[s0;%- &]
|
||
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 Simple Ctrl frame templates]]}}&]
|
||
[s3;%- &]
|
||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@3;3 T][3 >]&]
|
||
[s1;:FrameCtrl`:`:class:%- [@(0.0.255) class]_[* FrameCtrl]_:_[@(0.0.255) public]_[*@3 T],
|
||
[@(0.0.255) public]_[*@3 CtrlFrame]&]
|
||
[s2; This is the base class of simple Ctrl frames `- frames that
|
||
place single Ctrl at some edge of parent Ctrl.&]
|
||
[s2; &]
|
||
[s2; This class basically overloads FrameAdd and FrameRemove virtual
|
||
methods of [^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:CtrlFrame`:`:class CtrlFrame^ C
|
||
trlFrame] so that they add/remove `'this`' from parent`'s children`-list.&]
|
||
[s2; &]
|
||
[s7; [%-*C@4 T]-|Ctrl type.&]
|
||
[s0; &]
|
||
[s0;%- [%%/ Derived from][%% ]T, [^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:CtrlFrame`:`:class CtrlFrame^@(0.0.255) C
|
||
trlFrame]&]
|
||
[s3; &]
|
||
[s4; &]
|
||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 >]&]
|
||
[s1;:FrameLR`:`:class:%- [@(0.0.255) class]_[* FrameLR]_:_[@(0.0.255) public]_[*@3 FrameCtrl]<
|
||
[*@4 T]>_&]
|
||
[s2; This class extends CtrlFrame class with width attribute and
|
||
serves as base class to classes placing Ctrl at the left or right
|
||
size of parent Ctrl frame. Width is initialized to 0. 0 as width
|
||
indicates that width is equal to the height.&]
|
||
[s2; &]
|
||
[s7; [%-*C@4 T]-|Ctrl type.&]
|
||
[s0; &]
|
||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:FrameCtrl`:`:template `<class T`> class FrameCtrl^ F
|
||
rameCtrl<T>] &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[s5;:FrameLR`:`:Width`(int`):%- [_^FrameLR^ FrameLR][@(0.0.255) `&]_[* Width]([@(0.0.255) int
|
||
]_[*@3 `_cx])&]
|
||
[s2; Sets the new width.&]
|
||
[s7; [%-*C@3 `_cx]-|Width.&]
|
||
[s7; [*/ Return value]-|`*this.&]
|
||
[s0;3 &]
|
||
[s5;:FrameLR`:`:GetWidth`(`)const:%- [@(0.0.255) int]_[* GetWidth]()_[@(0.0.255) const]&]
|
||
[s7; [*/ Return value]-|Current width.&]
|
||
[s3; &]
|
||
[s4; &]
|
||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 >]&]
|
||
[s1;:FrameLeft`:`:class:%- [@(0.0.255) class]_[* FrameLeft]_:_[@(0.0.255) public]_[*@3 FrameLR
|
||
]<[*@4 T]>_&]
|
||
[s2; This class places Ctrl to the parent`'s left side as frame.&]
|
||
[s7; [%-*C@4 T]-|Ctrl type.&]
|
||
[s0; &]
|
||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:FrameLR`:`:template `<class T`> class FrameLR^ F
|
||
rameLR<T>] &]
|
||
[s3; &]
|
||
[s4; &]
|
||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 >]&]
|
||
[s1;:FrameRight`:`:class:%- [@(0.0.255) class]_[* FrameRight]_:_[@(0.0.255) public]_[*@3 Frame
|
||
LR]<[*@4 T]>_&]
|
||
[s2; This class places Ctrl to the parent`'s right side as frame.&]
|
||
[s7; [%-*C@4 T]-|Ctrl type.&]
|
||
[s0; &]
|
||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:FrameLR`:`:template `<class T`> class FrameLR^ F
|
||
rameLR<T>] &]
|
||
[s3; &]
|
||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 >]&]
|
||
[s1;:FrameTB`:`:class:%- [@(0.0.255) class]_[* FrameTB]_:_[@(0.0.255) public]_[*@3 FrameCtrl]<
|
||
[*@4 T]>_&]
|
||
[s2; This class extends CtrlFrame class with height attribute and
|
||
serves as base class to classes placing Ctrl as the top or bottom
|
||
side of parent Ctrl frame. Height is initialized to 0. 0 as height
|
||
indicates that height is equal to the width.&]
|
||
[s7; [%-*C@4 T]-|Ctrl type.&]
|
||
[s0; &]
|
||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:FrameCtrl`:`:template `<class T`> class FrameCtrl^ F
|
||
rameCtrl<T>] &]
|
||
[s3; &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[s5;:FrameTB`:`:Height`(int`):%- [_^FrameTB^ FrameTB][@(0.0.255) `&]_[* Height]([@(0.0.255) i
|
||
nt]_[*@3 `_cy])&]
|
||
[s2; Sets the new height.&]
|
||
[s7; [%-*C@3 `_cy]-|Height.&]
|
||
[s7; [*/ Return value]-|`*this.&]
|
||
[s0; &]
|
||
[s5;:FrameTB`:`:GetHeight`(`)const:%- [@(0.0.255) int]_[* GetHeight]()_[@(0.0.255) const]&]
|
||
[s7; [*/ Return value]-|Current height.&]
|
||
[s3; &]
|
||
[s4; &]
|
||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 >]&]
|
||
[s1;:FrameTop`:`:class:%- [@(0.0.255) class]_[* FrameTop]_:_[@(0.0.255) public]_[*@3 FrameTB]<
|
||
[*@4 T]>_&]
|
||
[s2; This class places Ctrl to the parent`'s top side as frame.&]
|
||
[s7; [%-*C@4 T]-|Ctrl type.&]
|
||
[s0; &]
|
||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:FrameTB`:`:template `<class T`> class FrameTB^ F
|
||
rameTB<T>] &]
|
||
[s3; &]
|
||
[s4; &]
|
||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 >]&]
|
||
[s1;:FrameBottom`:`:class:%- [@(0.0.255) class]_[* FrameBottom]_:_[@(0.0.255) public]_[*@3 Fra
|
||
meTB]<[*@4 T]>_&]
|
||
[s2; This class places Ctrl to the parent`'s bottom side as frame.&]
|
||
[s7; [%-*C@4 T]-|Ctrl type.&]
|
||
[s0; &]
|
||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/CtrlCore`/src`/Frame`$en`-us`#`:`:FrameTB`:`:template `<class T`> class FrameTB^ F
|
||
rameTB<T>] &]
|
||
[s3; &]
|
||
[s0; &]
|
||
[s0; &]
|
||
[s0;%- &]
|
||
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 Frame utility functions]]}}&]
|
||
[s9; Following functions are intended as helpers to for implementation
|
||
of FrameLayout method of CtrlFrame, placing some Ctrl to the
|
||
side of parent Ctrl. They adjust given Rect (parameter of FrameLayout)
|
||
and also alter position of given Ctrl.&]
|
||
[s3; &]
|
||
[s0; &]
|
||
[s5;:LayoutFrameLeft`(Rect`&`,Ctrl`*`,int`):%- [@(0.0.255) void]_[* LayoutFrameLeft]([_^Rect^ R
|
||
ect][@(0.0.255) `&]_[*@3 r], [_^Ctrl^ Ctrl]_`*[*@3 ctrl], [@(0.0.255) int]_[*@3 cx])&]
|
||
[s2; Places ctrl at the left side of parent Ctrl.&]
|
||
[s7; [%-*C@3 r]-|Current parent Ctrl rect.&]
|
||
[s7; [%-*C@3 ctrl]-|Ctrl to be placed.&]
|
||
[s7; [%-*C@3 cx]-|Required width.&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:LayoutFrameRight`(Rect`&`,Ctrl`*`,int`):%- [@(0.0.255) void]_[* LayoutFrameRight]([_^Rect^ R
|
||
ect][@(0.0.255) `&]_[*@3 r], [_^Ctrl^ Ctrl]_`*[*@3 ctrl], [@(0.0.255) int]_[*@3 cx])&]
|
||
[s2; Places ctrl at the right side of parent Ctrl.&]
|
||
[s7; [%-*C@3 r]-|Current parent Ctrl rect.&]
|
||
[s7; [%-*C@3 ctrl]-|Ctrl to be placed.&]
|
||
[s7; [%-*C@3 cx]-|Required width.&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:LayoutFrameTop`(Rect`&`,Ctrl`*`,int`):%- [@(0.0.255) void]_[* LayoutFrameTop]([_^Rect^ R
|
||
ect][@(0.0.255) `&]_[*@3 r], [_^Ctrl^ Ctrl]_`*[*@3 ctrl], [@(0.0.255) int]_[*@3 cy])&]
|
||
[s2; Places ctrl at the top side of parent Ctrl.&]
|
||
[s7; [%-*C@3 r]-|Current parent Ctrl rect.&]
|
||
[s7; [%-*C@3 ctrl]-|Ctrl to be placed.&]
|
||
[s7; [%-*C@3 cy]-|Required height.&]
|
||
[s3; &]
|
||
[s4;%- &]
|
||
[s5;:LayoutFrameBottom`(Rect`&`,Ctrl`*`,int`):%- [@(0.0.255) void]_[* LayoutFrameBottom](
|
||
[_^Rect^ Rect][@(0.0.255) `&]_[*@3 r], [_^Ctrl^ Ctrl]_`*[*@3 ctrl], [@(0.0.255) int]_[*@3 cy])&]
|
||
[s2; Places ctrl at the bottom side of parent Ctrl.&]
|
||
[s7; [%-*C@3 r]-|Current parent Ctrl rect.&]
|
||
[s7; [%-*C@3 ctrl]-|Ctrl to be placed.&]
|
||
[s7; [%-*C@3 cy]-|Required height.&]
|
||
[s3; &]
|
||
[s0; ] |