ultimatepp/uppsrc/CtrlLib/src.tpp/Pusher$en-us.tpp
cxl 16f3bac85f CtrlLib: Switch forced layout options, fix in .usc (thanks Didier)
git-svn-id: svn://ultimatepp.org/upp/trunk@7833 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2014-10-29 09:27:41 +00:00

174 lines
No EOL
7.3 KiB
C++

topic "Pusher";
[2 $$0,0#00000000000000000000000000000000:Default]
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,0#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[H6;0 $$4,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[{_}
[ {{10000@3 [s0;%% [*@(229)4 Pusher]]}}&]
[s3; &]
[s1;:Pusher`:`:class: [@(0.0.255)3 class][3 _][*3 Pusher][3 _:_][@(0.0.255)3 public][3 _][*@3;3 Ctrl
]&]
[s9;%% Pusher is a base class for classes that perform simple action
when clicked by mouse or by some keyboard interface (usually
access key). Pusher handles all mouse input and checks whether
keyboard events match Pusher`'s access key, however keyboard
input can be also processed by derived classes and projected
into Pusher`'s state by its methods (KeyPush, FinishPush). Accelerator
key for Pusher is assigned either through the label (using `'`&`'
or `'`\b`', see [^topic`:`/`/CtrlLib`/src`/LabelBase`$en`-us^ LabelBase]).&]
[s9;%% When Pusher is pushed and mouse is then released while hovering
over pusher, PerformAction virtual method is invoked and its
standard implementation invokes in turn WhenAction callback.
Other than that, WhenPush and WhenRepeat callbacks are available.&]
[s0;%% &]
[s5;K%% [/ Derived from] [^topic`:`/`/CtrlCore`/src`/Ctrl`$en`-us`#`:`:Ctrl`:`:class Ctrl^ C
trl]&]
[s3;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
[s3; &]
[s5;:Pusher`:`:Pusher`(`): [* Pusher]()&]
[s2;%% Initializes Pusher. Font is sent to standard GUI font, accelerator
key is cleared.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:`~Pusher`(`): [@(0.0.255) `~][* Pusher]()&]
[s2;%% Default destructor.&]
[s3;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Protected Field List]]}}&]
[s3; &]
[s5;:Pusher`:`:accesskey: [_^byte^ byte]_[* accesskey]&]
[s2;%% Access key assigned to the Pusher.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:label: [_^String^ String]_[* label]&]
[s2;%% Text assigned to the Pusher.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:font: [_^Font^ Font]_[* font]&]
[s2;%% Font assigned to the Pusher.&]
[s3;%% &]
[s0;%% &]
[ {{10000F(128)G(128)@1 [s0;%% [* Protected Member List]]}}&]
[s3; &]
[s5;:Pusher`:`:KeyPush`(`): [@(0.0.255) void]_[* KeyPush]()&]
[s2;%% This method puts Pusher into `"pushed by keyboard`" state.
It should be used as reaction to accelerator key by derived class.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:IsPush`(`)const: [@(0.0.255) bool]_[* IsPush]()_[@(0.0.255) const]&]
[s7;%% [*/ Return value]-|true when in pushed state.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:IsKeyPush`(`): [@(0.0.255) bool]_[* IsKeyPush]()&]
[s7;%% [*/ Return value]-|true when in pushed state initiated by keyboard.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:FinishPush`(`): [@(0.0.255) bool]_[* FinishPush]()&]
[s2;%% Forces end of pushed state and invokes PerformAction method
(default implementation invokes standard WhenAction callback).&]
[s3;%% &]
[s4;%% &]
[s5;:Pusher`:`:RefreshPush`(`): [@(0.0.255) virtual] [@(0.0.255) void]_[* RefreshPush]()&]
[s2;%% This method should refresh part of concrete derived Pusher
class that is being graphically changed as reaction to push state.
Default implementation calls Refresh, however some classes (like
Option) overload this to minimize repaint area size.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:RefreshFocus`(`): [@(0.0.255) virtual] [@(0.0.255) void]_[* RefreshFocus]()&]
[s2;%% This method should refresh part of concrete derived Pusher
class that is being graphically changed as reaction to change
of input focus. Default implementation calls Refresh, however
some classes (like Option) overload this to minimize repaint
area size.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:PerformAction`(`): [@(0.0.255) virtual] [@(0.0.255) void]_[* PerformAction](
)&]
[s2;%% This method is called when `"push`" is finished. Default implementation
invokes WhenAction.&]
[s3;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3; &]
[s5;:Pusher`:`:SetFont`(Font`): [_^Pusher^ Pusher][@(0.0.255) `&]_[* SetFont]([_^Font^ Font]_
[*@3 fnt])&]
[s2;%% Sets the font that should be used in painting the concrete
derived Pusher class. Pusher itself does not use this font anywhere,
but most derived classes do.&]
[s7;%% [*C@3 fnt]-|Font.&]
[s7;%% [*/ Return value]-|`*this for method chaining.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:SetLabel`(const char`*`): [_^Pusher^ Pusher][@(0.0.255) `&]_[* SetLabel]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 text])&]
[s2;%% Sets the text of pusher. Pusher itself does not use this font
anywhere, but most derived classes do. Text can contain `'`&`'
or `'`\b`' characters to define access keys.&]
[s7;%% [*C@3 text]-|new text&]
[s7;%% [*/ Return value]-|`*this for method chaining.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:PseudoPush`(`): [@(0.0.255) void]_[* PseudoPush]()&]
[s2;%% Invokes `"push emulation`". Pusher will animate through states
as if it would be pushed by the user, including calls to PerformAction
(WhenAction), WhenPush and WhenRepeat.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:WhenPush: [_^Callback^ Callback]_[* WhenPush]&]
[s2;%% This callback is invoked when pusher goes from `"unpushed`"
to `"pushed`" state.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:WhenRepeat: [_^Callback^ Callback]_[* WhenRepeat]&]
[s2;%% `"Pusher autorepeat`" `- this callback is periodically invoked
when user holds mouse button over Pusher `- it emulates keyboard
autorepeat (e.g. arrow buttons in scrollbar).&]
[s3; &]
[s4; &]
[s5;:Pusher`:`:ClickFocus`(bool`): [@(0.0.255) virtual] [_^Pusher^ Pusher][@(0.0.255) `&]_[* C
lickFocus]([@(0.0.255) bool]_[*@3 cf]_`=_[@(0.0.255) true])&]
[s2;%% If [%-*@3 cf] is true, Pusher will get focused on a mouse click.&]
[s7;%% [*@3 cf]-|click focusing&]
[s7;%% [*/ Return value]-|`*this for method chaining.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:NoClickFocus`(`): [_^Pusher^ Pusher][@(0.0.255) `&]_[* NoClickFocus]()&]
[s2;%% Same as [^topic`:`/`/CtrlLib`/src`/Pusher`$en`-us`#Pusher`:`:ClickFocus`(bool`)^ C
lickFocus](false).&]
[s3; &]
[s4; &]
[s5;:Pusher`:`:IsClickFocus`(`)const: [@(0.0.255) bool]_[* IsClickFocus]()_[@(0.0.255) cons
t]&]
[s2;%% Retrieves the value of ClickFocus.&]
[s3; &]
[s4; &]
[s5;:Pusher`:`:GetFont`(`)const: [_^Font^ Font]_[* GetFont]()_[@(0.0.255) const]&]
[s2;%% Returns the font that should be used in painting the concrete
derived Pusher class. Pusher itself does not use this font anywhere,
but most derived classes do.&]
[s3; &]
[s4; &]
[s5;:Pusher`:`:GetLabel`(`)const: [_^String^ String]_[* GetLabel]()_[@(0.0.255) const]&]
[s2;%% Returns the text of pusher. Pusher itself does not use this
font anywhere, but most derived classes do. Text can contain
`'`&`' or `'`\b`' characters to define access keys.&]
[s3;%% &]
[s4; &]
[s5;:Pusher`:`:GetVisualState`(`)const: [@(0.0.255) int]_[* GetVisualState]()_[@(0.0.255) c
onst]&]
[s2;%% Returns the current visual state of the current pusher:&]
[s7;%% CTRL`_NORMAL-|pusher is enabled and not interacting with mouse&]
[s7;%% CTRL`_HOT-|pusher is enabled and under the mouse cursor&]
[s7;%% CTRL`_PRESSED-|pusher is enabled and pressed&]
[s7;%% CTRL`_DISABLED-|pusher is disabled&]
[s3; &]
[s0; ]]