topic "Color widgets";
[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]
[2 $$0,0#00000000000000000000000000000000:Default]
[{_} 
[ {{10000@3 [s0;%% [*@(229)4 WheelRampCtrl]]}}&]
[s3; &]
[s1;:Upp`:`:WheelRampCtrl: [*3 WheelRampCtrl][3  ][@(0.0.255)3 :][3  ][@(0.0.255)3 public][3  
Ctrl]&]
[s2;%% Implements either color ramp or color wheel. Base class of 
ColorWheelCtrl and ColorRampCtrl. Widget implements usual SetData 
/ GetData protocol where Value is Color.&]
[s3; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3; &]
[s5;:Upp`:`:WheelRampCtrl`:`:WhenLeftDouble: Event<> [* WhenLeftDouble]&]
[s2;%% Invoked when user double clicks the widget.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:WheelRampCtrl`:`:DarkContent`(bool`): WheelRampCtrl[@(0.0.255) `&] 
[* DarkContent]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, colors are displayed converted through DarkTheme 
function. Default is false.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:WheelRampCtrl`:`:AllowDarkContent`(bool`): WheelRampCtrl[@(0.0.255) `&] 
[* AllowDarkContent]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, colors are displayed converted through DarkTheme 
function, but only if dark mode is active.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:WheelRampCtrl`:`:IsDarkContent`(`)const: [@(0.0.255) bool] 
[* IsDarkContent]() [@(0.0.255) const]&]
[s2;%% Returns true if colors are currently displayed as converted 
with DarkTheme function.&]
[s0;%% &]
[ {{10000@3 [s0;%% [*@(229)4 ColorWheelCtrl]]}}&]
[s3; &]
[s1;:Upp`:`:ColorWheelCtrl: [*3 ColorWheelCtrl][3  ][@(0.0.255)3 :][3  ][@(0.0.255)3 public][3  
WheelRampCtrl]&]
[s2;%% Color wheel widget.&]
[s2;%% [*@(229)4 
@@image:803&696
([encoded data, 105368 characters])
]&]
[s3;%% &]
[ {{10000@3 [s0;%% [*@(229)4 ColorRampCtrl]]}}&]
[s3; &]
[s1;:Upp`:`:ColorRampCtrl: [*3 ColorRampCtrl][3  ][@(0.0.255)3 :][3  ][@(0.0.255)3 public][3  
WheelRampCtrl]&]
[s2;%% Color ramp widget.&]
[s2;%% [*@(229)4 
@@image:793&696
([encoded data, 95616 characters])
]&]
[s3;%% &]
[ {{10000@3 [s0;%% [*@(229)4 ColorPopUp]]}}&]
[s3; &]
[s1;:ColorPopUp`:`:class: [@(0.0.255)3 class][3 _][*3 ColorPopUp][3 _:_][@(0.0.255)3 public][3 _][*@3;3 C
trl]&]
[s9;%% This class implements pop`-up window for color`-selection.&]
[s0;%% &]
[s2;%% 
@@image:1100&1399
([encoded data, 64852 characters])
&]
[s0;%% &]
[s9;%% ColorPopUp calls [* WhenAction] Ctrl callback and sets modify 
flag whenever selected color changes (that is [*/ during] selection). 
&]
[s0;%% &]
[s0; [%%/ Derived from][%%  ][^topic`:`/`/CtrlCore`/src`/Ctrl`$en`-us`#`:`:Ctrl`:`:class Ctrl^ C
trl]&]
[s3;%% &]
[s3; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3; &]
[s5;:ColorPopUp`:`:PopUp`(Ctrl`*`,Color`): [@(0.0.255) void]_[* PopUp]([_^Ctrl^ Ctrl]_`*[*@3 o
wner], [_^Color^ Color]_[*@3 c]_`=_White)&]
[s2;%% Opens ColorPopUp as pop`-up window.&]
[s7;%% [%-*C@3 owner]-|Owner Ctrl. ColorPopUp appears bellow or above 
this Ctrl.&]
[s7;%% [%-*C@3 c]-|Initial color for wheel and ramp selectors.&]
[s3; &]
[s4; &]
[s5;:ColorPopUp`:`:Get`(`)const: [_^Color^ Color]_[* Get]()_[@(0.0.255) const]&]
[s7;%% [*/ Return value]-|Returns current color selected.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:Hint`(Color`): [@(0.0.255) static] [@(0.0.255) void] 
[* Hint](Color [*@3 c])&]
[s2;%% Adds the color to the list of recently used colors (see Hints).&]
[s3;%% &]
[s4; &]
[s5;:ColorPopUp`:`:NotNull`(bool`): [_^ColorPopUp^ ColorPopUp][@(0.0.255) `&]_[* NotNull]([@(0.0.255) b
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Setups whether Null (that is transparent) color choice is 
enabled. Constructor setting is NotNull(false).&]
[s7;%% [%-*C@3 b]-|true disables Null color choice. &]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[s4; &]
[s5;:ColorPopUp`:`:SColors`(bool`): [_^ColorPopUp^ ColorPopUp][@(0.0.255) `&]_[* SColors]([@(0.0.255) b
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Setups whether choice of system colors is allowed. Constructor 
setting is SColors(false).&]
[s7;%% [%-*C@3 b]-|true enables choice of system colors.&]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[s4; &]
[s5;:ColorPopUp`:`:NullText`(const char`*`): [_^ColorPopUp^ ColorPopUp][@(0.0.255) `&]_[* N
ullText]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])&]
[s2;%% Setups text for Null color choice. Constructor setting for 
en`-us is `"(transparent)`".&]
[s7;%% [%-*C@3 s]-|New text for Null color choice.&]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:WithVoid`(bool`): [_^Upp`:`:ColorPopUp^ ColorPopUp][@(0.0.255) `&
]_[* WithVoid]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Enables special VoidColor() (labeled `"(None)`", unless the 
name is changed by VoidText).&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:VoidText`(const char`*`): [_^Upp`:`:ColorPopUp^ ColorPopUp][@(0.0.255) `&
]_[* VoidText]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])&]
[s2;%% Changes the label of VoidColor().&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:NoRampWheel`(bool`): ColorPopUp[@(0.0.255) `&] 
[* NoRampWheel]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, there will be no color wheel nor ramp. Default 
is false.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:Hints`(bool`): ColorPopUp[@(0.0.255) `&] 
[* Hints]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, widget will contain a global list of recently used 
colors. Default is false.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:DarkContent`(bool`): ColorPopUp[@(0.0.255) `&] 
[* DarkContent]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, colors are displayed converted through DarkTheme 
function. Default is false.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:AllowDarkContent`(bool`): ColorPopUp[@(0.0.255) `&] 
[* AllowDarkContent]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, colors are displayed converted through DarkTheme 
function, but only if dark mode is active.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ColorPopUp`:`:IsDarkContent`(`)const: [@(0.0.255) bool] 
[* IsDarkContent]() [@(0.0.255) const]&]
[s2;%% Returns true if colors are currently displayed as converted 
with DarkTheme function. .&]
[s3; &]
[s4; &]
[s5;:ColorPopUp`:`:WhenCancel: [_^Callback^ Callback]_[* WhenCancel]&]
[s2;%% This callback is invoked when ColorPopUp is canceled (e.g. 
by clicking outside).&]
[s3;%% &]
[s4; &]
[s5;:ColorPopUp`:`:WhenSelect: [_^Callback^ Callback]_[* WhenSelect]&]
[s2;%% This callback is invoked when color is chosen. Resulting color 
can be obtained by Get().&]
[s3;%% &]
[ {{10000@3 [s0;%% [*@(229)4 ColorPusher]]}}&]
[s3;%% &]
[s1;:ColorPusher`:`:class: [@(0.0.255)3 class][3 _][*3 ColorPusher][3 _:_][@(0.0.255)3 public][3 _
][*@3;3 Ctrl]&]
[s9;%% This class represents Ctrl with Color value. It uses ColorPopUp 
to edit this value.&]
[s0;%% &]
[s2;%% 
@@image:398&199
(AzAAGAAAAOj/AAAAAHice/PyxptRRAitWTFzYNH////R3MMwcADoAKzu+T9AAI976B84RLjnPx3RqHtG3TPqnlH3jLpn1D3Ucg9dAX73DAjA6p4BaZfCEZp7BipkkMHABshQQQCO3pjh)
  
@@image:1021&189
(A30AFwAAAOn/AAAAAHic7Zg9DsIwDIW5v8SKxA0YOBBbZiTuYJhQ5Z8Xu03apvVTBpK6jv0lNoJSUqlz6fm451hhEBHDfkl11uf9UrFTqqcAdufBbZ3BkMLYr3TDI7HPU3PsnkLwHNbURrVni1WfLCpZs/4qZrHJt+SUeWiL3YnCg0iNnyWLbawd/9lFo1L3wn4s8l2xg+BDBhh7aGtahl1a7hm7VXRqbUo/6nQ5dqszhG6F6kdaro/dKnBQ+P2wAzj4Dlt7Of2Mjt15NKpAMTotPX6Oil3tBqHOUH00NHaMd3aT8duAp0dqMmR8MbGV6Qdr3UrTWqxOZWDVOP1bR/3s81fqQretomqYXQi7R60Cw3EOLZlL/gO5iVTsv8UcvQfDvvE9OJNKKnUyfQHnsr1w)
&]
[s0;%% &]
[s9;%% As is U`+`+ standard, Color value is set and get using SetData 
and GetData virtual method.&]
[s9;%% WhenAction callback and modify set behaviour depends on track 
mode. When track mode is enabled (Track(true)), WhenAction is 
called and modify set upon any change of color (including moving 
mouse through ColorPopUp). When track mode is off, it is called 
and set only after new Color is selected.&]
[s9;%% &]
[s0; [%%/ Derived from][%%  ][^topic`:`/`/CtrlCore`/src`/Ctrl`$en`-us`#`:`:Ctrl`:`:class Ctrl^ C
trl]&]
[s3;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3; &]
[s5;:ColorPusher`:`:NullText`(const char`*`): [_^ColorPusher^ ColorPusher][@(0.0.255) `&]_
[* NullText]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])&]
[s2;%% Sets a text to be displayed if Color value is Null. Constructor 
setting for en`-us is `"(transparent)`".&]
[s7;%% [%-*C@3 s]-|Text.&]
[s7;%% [*/ Return value]-|`*this.&]
[s3; &]
[s4; &]
[s5;:ColorPusher`:`:NotNull`(bool`): [_^ColorPusher^ ColorPusher][@(0.0.255) `&]_[* NotNull
]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Setups whether Null (that is transparent) color choice is 
enabled. Constructor setting is NotNull(false).&]
[s7;%% [%-*C@3 b]-|true disables Null color choice. &]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:WithVoid`(bool`): [_^Upp`:`:ColorPusher^ ColorPusher][@(0.0.255) `&
]_[* WithVoid]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Enables special VoidColor() (labeled `"(None)`", unless the 
name is changed by VoidText).&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:VoidText`(const char`*`): [_^Upp`:`:ColorPusher^ ColorPusher
][@(0.0.255) `&]_[* VoidText]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])&]
[s2;%% Changes the label of VoidColor().&]
[s3;%% &]
[s4; &]
[s5;:ColorPusher`:`:SColors`(bool`): [_^ColorPusher^ ColorPusher][@(0.0.255) `&]_[* SColors
]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Setups whether choice of system colors is allowed. Constructor 
setting is SColors(false).&]
[s7;%% [%-*C@3 b]-|true enables choice of system colors.&]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:WithText`(bool`): [_^Upp`:`:ColorPusher^ ColorPusher][@(0.0.255) `&
]_[* WithText]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% ColorPusher will display text representation of color (either 
known name, or numbers).&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:WithHex`(bool`): [_^Upp`:`:ColorPusher^ ColorPusher][@(0.0.255) `&
]_[* WithHex]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% ColorPusher will hexadecimal representation of color.&]
[s3; &]
[s4; &]
[s5;:ColorPusher`:`:Track`(bool`): [_^ColorPusher^ ColorPusher][@(0.0.255) `&]_[* Track]([@(0.0.255) b
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Setups track mode. Constructor setting is Track(false).&]
[s7;%% [%-*C@3 b]-|true enables track mode.&]
[s7;%% [*/ Return value]-|`*this&]
[s3;%% &]
[s4; &]
[s5;:ColorPusher`:`:NoTrack`(`): [_^ColorPusher^ ColorPusher][@(0.0.255) `&]_[* NoTrack]()&]
[s2;%% Same as Track(false).&]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:NoRampWheel`(bool`): ColorPusher[@(0.0.255) `&] 
[* NoRampWheel]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, there will be no color wheel nor ramp. Default 
is false.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:Hints`(bool`): ColorPusher[@(0.0.255) `&] 
[* Hints]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, widget will contain a list of recently used colors. 
Default is true.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:DarkContent`(bool`): ColorPusher[@(0.0.255) `&] 
[* DarkContent]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, colors are displayed converted through DarkTheme 
function. Default is false.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ColorPusher`:`:AllowDarkContent`(bool`): ColorPusher[@(0.0.255) `&] 
[* AllowDarkContent]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2;%% If active, colors are displayed converted through DarkTheme 
function, but only if dark mode is active.&]
[s3;%% &]
[ {{10000@3 [s0;%% [*@(229)4 ColorButton]]}}&]
[s3;%% &]
[s1;:ColorButton`:`:class: [@(0.0.255)3 class][3 _][*3 ColorButton][3 _:_][@(0.0.255)3 public][3 _
][*@3;3 ColorPusher]&]
[s0;%% &]
[s2;%% 
@@image:150&137
(AxgAFgAAAOr/AAAAAHice/PyxpshhRgYGKhiyKP6aZQbRRVzIIZAECVGUcUcuCHIjIEyB00v2UZRxRxkXciAVKOQowkTEWkOfkOINwqXp0jyGkGVRBpFRXMggEI1owgTAQBQI8Hg)
&]
[s0;*%% &]
[s9;%% This class is similar to ColorPusher, but intended to be used 
in ToolBar. It supports displaying color using Image too.&]
[s0;%% &]
[s0; [%%/ Derived from][%%  ][^topic`:`/`/CtrlLib`/src`/ColorPopUp`$en`-us`#`:`:ColorPusher`:`:class ColorPusher^ C
olorPusher]&]
[s3;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3; &]
[s5;:ColorButton`:`:ColorImage`(const Image`&`): [_^ColorButton^ ColorButton][@(0.0.255) `&
]_[* ColorImage]([@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img])&]
[s2;%% Sets image to display color. This image is drawn (in the center 
of ColorButton) with selected color.&]
[s7;%% [%-*C@3 img]-|Image.&]
[s7;%% [*/ Return value]-|`*this.&]
[s3; &]
[s4; &]
[s5;:ColorButton`:`:NullImage`(const Image`&`): [_^ColorButton^ ColorButton][@(0.0.255) `&
]_[* NullImage]([@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img])&]
[s2;%% Sets image to display null color.&]
[s7;%% [%-*C@3 img]-|Image.&]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[s4; &]
[s5;:ColorButton`:`:StaticImage`(const Image`&`): [_^ColorButton^ ColorButton][@(0.0.255) `&
]_[* StaticImage]([@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img])&]
[s2;%% Sets static image that is always displayed with ColorImage 
and NullImage.&]
[s7;%% [%-*C@3 img]-|Image.&]
[s7;%% [*/ Return value]-|`*this.&]
[s3;%% &]
[ {{10000@3 [s0;%% [*@(229)4 Utility Functions]]}}&]
[s3;%% &]
[s5;:Upp`:`:FormatColor`(Color`): String [* FormatColor](Color [*@3 c])&]
[s2;%% Formats the color into readable form compatible with C`+`+ 
syntax, using color names where possible.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:ReadColor`(CParser`&`): Color [* ReadColor](CParser[@(0.0.255) `&] 
[*@3 p])&]
[s2;%% Converts text formatted with FormatColor to Color. Can throw 
CParser`::Error.&]
[s3; &]
[s3; &]
[s4; &]
[s5;:Upp`:`:StdColorDisplayNull`(`): [@(0.0.255) const] Display[@(0.0.255) `&] 
[* StdColorDisplayNull]()&]
[s2;%% Returns Display which paints text `"(no color)`" if value 
is Null or paints the rectangle with value color.&]
[s3;%% ]]