mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-08-25 06:12:47 -06:00
CtrlLib: Switch forced layout options, fix in .usc (thanks Didier)
git-svn-id: svn://ultimatepp.org/upp/trunk@7833 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
f004e655a5
commit
16f3bac85f
5 changed files with 37 additions and 32 deletions
|
|
@ -245,13 +245,13 @@ ctrl StaticText {
|
|||
|
||||
Paint(w) {
|
||||
sz = ViewSize(w);
|
||||
textsize = GetTextSize(.SetText, .SetFont);
|
||||
textsize = GetSmartTextSize(.SetText, .SetFont);
|
||||
px = 0;
|
||||
if(.SetAlign == "ALIGN_CENTER")
|
||||
px = (sz.cx - textsize.cx) / 2;
|
||||
if(.SetAlign == "ALIGN_RIGHT")
|
||||
px = sz.cx - textsize.cx;
|
||||
w.DrawText(px, (sz.cy - textsize.cy) / 2, .SetText, .SetFont, .SetInk);
|
||||
w.DrawSmartText(px, (sz.cy - textsize.cy) / 2, .SetText, .SetFont, .SetInk);
|
||||
}
|
||||
Sample() {
|
||||
.SetText = "Text";
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public:
|
|||
Pusher& SetLabel(const char *text);
|
||||
Pusher& ClickFocus(bool cf = true);
|
||||
Pusher& NoClickFocus() { return ClickFocus(false); }
|
||||
bool IsClickFocus() const { return clickfocus; }
|
||||
bool IsClickFocus() const { return clickfocus; }
|
||||
|
||||
Font GetFont() const { return font; }
|
||||
String GetLabel() const { return label; }
|
||||
|
|
@ -295,6 +295,7 @@ private:
|
|||
int linecy;
|
||||
int light;
|
||||
int mincy;
|
||||
int direction;
|
||||
|
||||
int GetIndex() const;
|
||||
int GetIndex(Point p);
|
||||
|
|
@ -331,6 +332,9 @@ public:
|
|||
Switch& SetFont(Font f) { font = f; Refresh(); return *this; }
|
||||
Font GetFont() const { return font; }
|
||||
Switch& MinCaseHeight(int cy) { mincy = cy; Refresh(); return *this; }
|
||||
Switch& SetAutoDirection() { direction = 0; return *this; }
|
||||
Switch& SetHorizontal() { direction = 1; return *this; }
|
||||
Switch& SetVertical() { direction = -1; return *this; }
|
||||
|
||||
Switch();
|
||||
virtual ~Switch();
|
||||
|
|
|
|||
|
|
@ -159,6 +159,10 @@ void Switch::Paint(Draw& w) {
|
|||
int y = 0;
|
||||
int x = 0;
|
||||
bool horz = linecy * cs.GetCount() > sz.cy;
|
||||
|
||||
if (direction == 1) horz = true;
|
||||
else if (direction == -1) horz = false;
|
||||
|
||||
if(horz) {
|
||||
posx.SetCount(cs.GetCount());
|
||||
linecy = sz.cy;
|
||||
|
|
@ -308,6 +312,7 @@ void Switch::CancelMode() {
|
|||
}
|
||||
|
||||
Switch::Switch() {
|
||||
direction = 0;
|
||||
linecy = 16;
|
||||
mincy = 0;
|
||||
Transparent();
|
||||
|
|
|
|||
|
|
@ -146,6 +146,11 @@ lickFocus]([@(0.0.255) bool]_[*@3 cf]_`=_[@(0.0.255) true])&]
|
|||
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,
|
||||
|
|
@ -166,4 +171,4 @@ onst]&]
|
|||
[s7;%% CTRL`_PRESSED-|pusher is enabled and pressed&]
|
||||
[s7;%% CTRL`_DISABLED-|pusher is disabled&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
[s0; ]]
|
||||
|
|
@ -18,34 +18,11 @@ rl]&]
|
|||
[s0; &]
|
||||
[s2;
|
||||
@@image:1287&131
|
||||
cホ斧<EFBFBD><EFBFBD><EFBFBD>懦力<EFBFBD>チニ佝<EFBFBD><EFBFBD><EFBFBD>茗箸、<EFBFBD>シэマケヲ<EFBFBD>ヤシ<EFBFBD><EFBFBD>椄、ミタケ靄隹<EFBFBD>ミタツ<EFBFBD>糟箍櫛ツテ囑・エ
|
||||
キチ蕉リチ亥シ唾シ<EFBFBD><EFBFBD>ヌルル撈酩」ヲ艷<EFBFBD>豼<EFBFBD><EFBFBD>釮マフサッメョゥメメメメメ<EFBFBD>メメメメモ・ヤ<EFBFBD><EFBFBD>洄ロナナ<EFBFBD>タワワ屶・璢ニニ゙コ<EFBFBD><EFBFBD>
|
||||
ヲヲ奕イゥネ戦鈐シ樅シ<EFBFBD>フ・<EFBFBD>ラキ゚鴟ナ<EFBFBD>ヌキ冥ーオ<EFBFBD>ハ逃奕イゥフケイ<EFBFBD>セネセ<EFBFBD>」ワャョラォユレュヨ<EFBFBD>ラ寫ニ。<EFBFBD>并ア<EFBFBD>ュヒ
|
||||
募篁ウ肓懣<EFBFBD>オアノ*イ蟠粫<EFBFBD>鄒頌スヒサы聚<EFBFBD>リ字・酖蝪ロフセリセスカ嶇ヨォリ<EFBFBD>ラツムフ譚噬酎ハミメ沍瘁リ゚<EFBFBD>
|
||||
象悶皃マ來ナ<EFBFBD><EFBFBD>ッ<EFBFBD>ィ顗<EFBFBD>ホ莅褪<EFBFBD><EFBFBD>「ユ菴<EFBFBD>ン楫⊥杦ム<EFBFBD>セオ<EFBFBD>蕫酔ホ砕Κ<EFBFBD>屡ト赶怙ク鯉エィク<EFBFBD>刻<EFBFBD>
|
||||
。リミ鰯埓。紗ワユン幻サ<EFBFBD>椄<EFBFBD>、「<EFBFBD>ム<EFBFBD><EFBFBD><EFBFBD>ュ榻ァ突ンャッチ<EFBFBD><EFBFBD>嵯ツ釥ヘッ<EFBFBD>テ<EFBFBD>チ<EFBFBD>ー蟆聖ソヘ渚<EFBFBD>ワ<EFBFBD><EFBFBD>ハ⊥ナ
|
||||
ク蜈テqゥ、<EFBFBD>襁樛朋ニテ「ク迢ル<EFBFBD>讙ヘヨ<EFBFBD>ュヘレ槃耶ナ﨧葩ャ末癒カ♂ヲ髯アエ隴ミ<EFBFBD>勢髙牴ぺア整魑<EFBFBD>ヒ鴪<EFBFBD>
|
||||
ノユ楠≦メルイコ込エモ<EFBFBD>ノ<EFBFBD><EFBFBD>靱タャル<EFBFBD>ェ「隱カラ<EFBFBD>スウ溽帆者<EFBFBD>ホマ<EFBFBD><EFBFBD><EFBFBD>菠匈リエ<EFBFBD>閥タア茶ミ厠」トケ蕀ト恃粒フ
|
||||
ヌ阿イ<EFBFBD><EFBFBD>忠マ<EFBFBD><EFBFBD>楴笊エェ狆シスト<EFBFBD>ト裵屎゙<EFBFBD>氓ウ゚<EFBFBD>餧<EFBFBD>援゚アク嵯蠻閠<EFBFBD>ク哿ュ墳<EFBFBD>ヌ<EFBFBD>ゥワ髴ヤ<EFBFBD>渙ン酘鰄
|
||||
宅<EFBFBD>擲レリ呆セキ沂<EFBFBD>ぜ宦ウメ<EFBFBD>競鉗<EFBFBD>ケゥ・琲η杏タ尊碯ェ趨モ<EFBFBD>モクィィセテアェヌ<EFBFBD>麿岔竿゚髙待<EFBFBD>靱<EFBFBD>ゥ
|
||||
ケ釛ル夏罅<EFBFBD>ネヒネメ」浙ぬ・タャケノ矜*乖オロャ<EFBFBD>霏糂モ郤テコ呪据鑅ノナ竍槃雀アレ菩<EFBFBD>「ク聆ナョ<EFBFBD>ハイ<EFBFBD>ク
|
||||
ウタ空寺イ堰応<EFBFBD>ヲ<EFBFBD>ョ器肭俗玩<EFBFBD>「ク瞳タサ昌髷賻ホ愼ア戟モ<EFBFBD><EFBFBD>ホマヘナ<EFBFBD>トこ<EFBFBD>ハハハハ猝ハハハハ<EFBFBD>潟ヲ<EFBFBD>ス
|
||||
|
||||
(A84AFQAAAOv/AAAAAHic7ZfNaxpBGMb9f3II5BSiJIdcvATPuaaHYFQ8BjEeJCTQQOhJaLCFtlBCckkRDGKw+cJDmhYlNMGP1FjBiGURQbz3wYVl2dmdHWdHo2SGh2Bmv377vs/Mu6/SLilSUlJSUlJSUlJTpVTq+/r628XFwNzcm6Wl4MbGXjp9+aoApppzMqlIbW4mPJ5gPJ5MpXJXVzfp9MX29ke3O7C1dfBKAKaaczKpTDl9vkg+/6NcLler1VqtVq/XG41GofAb87GYCa3L5WK5M+NpHADqzbUxyYEy5bRi5ngXvujxPUu7hONa7LpYDhrnQ+UhW8w+Pj02m81Wq3V3V8LRTOaaA5KRygBQH4xhAdhfnNuW4+EkTxhF9BwGjS+GKO7YdVXO5GVy9dtq6CLkPfYe3R61221FUXZ2PoVC+xyQjE7TA6iBag5GezCcADgM7yg4hTuNj2rYUAhxGr4hUdzV3Qw2O2meJP4kovfR+a/zrX+tTqeTy90sL4dZIA01QvtNL3B6AEOghgUwZTAAkL9ND42Ik1x9htpKBxZFZQVDgpGpJP9l9B5aFXxDorhnC1nsZqrN1n6tzR7PFuvFbrdbLJYWFvy2iSZpGTE0AC1QaqwQqO5gMAJYMZCuswUWy2nwktUTbYEFUtk6jR400/Vi6zR0xGhVwFl9qqJoqjbz5r0zn2eUjtLr9c7Pf7JsKWRIGTE0AH2UtECxA9AZTKNEOXlEnBQXscyIorJ1Gn2Sz2l+/x46YrQq4Dy8PUTRxG4Gm53en4Kz3+/v7n4Jh9+xOI3lRegAhvU4FIAtla3/x8Ap3GkcVHSf0F3nxGlYEW53AB0xWhVwPrefC/WCupuBs1L5i6NnZ3mxOaUAYOgDxQjAkbhhcyqQU6DTOKgoPrGqR3RsFpupikbf+3wRdMRoVfANqedcWYnE4x/IS8jSo5+0SqVAAAMDOUlhYAEWGCjbLOsx6MBi02c6Q7qO9Bh7ZknFYgceTxAdMVoVfEOiuGPXxXKwyrJwvTjAi3MOm7IJiR4HdiZzHQrt4+sRrQr+oriTtUC7ueme5lBOAEQxjIHTdAd2zs9Nxf3EMYddSkpKSkpKSkpKiP4DpnWuPQ==)
|
||||
&]
|
||||
[s2;
|
||||
@@image:406&312
|
||||
γイπ<EFBFBD><EFBFBD>懦ルマヒ崔ョ佻<EFBFBD>翆<EFBFBD>ワェ橳昼<EFBFBD>専薯オ茯宙ス<EFBFBD>ィミシ<EFBFBD>レメツロィ「鱗ヒ<EFBFBD>「態゚萋瑙ルナヤフヨ
|
||||
<EFBFBD>浯ンャヒィ檮<EFBFBD>ュ小ン纐<EFBFBD>アホ讒ルキ<EFBFBD><EFBFBD>嶇'<EFBFBD>キ゚<EFBFBD>シ曙<EFBFBD>掠舌<EFBFBD>萩滓譫障庄訣ス尨ョリ悄゚ャ偏<EFBFBD>酣唱・<EFBFBD>
|
||||
<EFBFBD>リ箘ラィ<EFBFBD>ォァァ逾メ<EFBFBD>レレ嶝ム<EFBFBD>オ勉濯」菫<EFBFBD>スワュ<EFBFBD>ョユ<EFBFBD>瓦エ嚶ユホユ嶇ヲ、ン癲<EFBFBD>ェ所ト「<EFBFBD><EFBFBD>遐<EFBFBD>石<EFBFBD>崛レ暝<EFBFBD>
|
||||
檐圜鮗<EFBFBD><EFBFBD><EFBFBD>マ庶ホシ<EFBFBD>凋エ」斧<EFBFBD>ヌ<EFBFBD>ク<EFBFBD>ン<EFBFBD>リ揉皰ッソハヘァ゚トルれェ煉<EFBFBD>キ<EFBFBD>ワ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>セェ宝ノノ跨ラsケヒ謝<EFBFBD>
|
||||
ワ<EFBFBD>・癩逝<EFBFBD>コチ<EFBFBD>レ<EFBFBD><EFBFBD>晟<EFBFBD>渤。ヒキ爛」ゥハ迦ゥキ<EFBFBD>テ<EFBFBD>ミソヘム<EFBFBD>懴<EFBFBD>屹<EFBFBD>サンセコ咊エ均ホ<EFBFBD>鉢ヌ科・カムソュム<EFBFBD>シ<EFBFBD><EFBFBD>ホ
|
||||
<EFBFBD>ウア<EFBFBD>遁槙亭帷ァ・メ<EFBFBD>泝<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ォ<EFBFBD>戛<EFBFBD><EFBFBD><EFBFBD><EFBFBD>叝、<EFBFBD>ラ届セト<EFBFBD>ヌ<EFBFBD>ェト<EFBFBD>チ<EFBFBD>コ<EFBFBD><EFBFBD>ュ銓ッスキコ裾鏡褌コ
|
||||
オ贔ホ役<EFBFBD>ユ<EFBFBD>ヌ<EFBFBD>ト<EFBFBD>チ<EFBFBD>カ「<EFBFBD>汰袷ッォ<EFBFBD>リぱッ<EFBFBD>蕚ョ叝゙<EFBFBD>巫<EFBFBD>ナ箭癆活ト<EFBFBD>ット<EFBFBD>ソラソ煕<EFBFBD>犱ロ陵ッ熏スレ麺エ<EFBFBD>。
|
||||
ヤ検セ凋<EFBFBD>。ャ<EFBFBD>傚ク得夷ァ<EFBFBD>サ僚割ソ崇鍾岡ホソ<EFBFBD>﨨゙ム<EFBFBD>ロセ﨟<EFBFBD>トーフ<EFBFBD>萓゙燧芹<EFBFBD>マ釚椏磊<EFBFBD>ヤ堡<EFBFBD><EFBFBD>ウ゚<EFBFBD>
|
||||
タ<EFBFBD><EFBFBD>ユ儒シ倶<EFBFBD>ョ罌ウノ┃<EFBFBD>鱗チー<EFBFBD><EFBFBD>ッ<EFBFBD><EFBFBD>ャ<EFBFBD>ノ<EFBFBD>珎樰イ<EFBFBD>ゃ鋠鯒<EFBFBD>トコ<EFBFBD>ラツ<EFBFBD>カ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>め「<EFBFBD><EFBFBD>ッ廻ェ
|
||||
憔<EFBFBD>矣<EFBFBD>メフ・ォ<EFBFBD><EFBFBD>。<EFBFBD>トイル<EFBFBD>ゃ斎圜憚キミ<EFBFBD>訂<EFBFBD><EFBFBD>梵マ<EFBFBD>ネ賦<EFBFBD>レ。<EFBFBD>蕈咢メ猟エ卆<EFBFBD>恢<EFBFBD>。フ浄壁タシソ澄歌
|
||||
襠灸ャ患タ<EFBFBD>スヲ」フ<EFBFBD>ま<EFBFBD>釤フ聟<EFBFBD><EFBFBD>艱<EFBFBD>ッ<EFBFBD>鉛莚ー峵ッ<EFBFBD>た完<EFBFBD>錦ヲ痛萠領<EFBFBD>ネ睫瞼<EFBFBD>螳卍弍<EFBFBD><EFBFBD>゙タ
|
||||
ア<EFBFBD><EFBFBD>諱<EFBFBD>
|
||||
(A0EAMgAAAM7/AAAAAHic7VnPSxtBGM3/40HwJCp68JKLePZqDxI15CgSPQRRqFA8BVrSQlsoohdLICKR1F/kYG3ZRVRM1sZtYF0sSygNge6tjyxdlv0xTman2YXO8AibzW7y3jff9+28jPn7lykQYxSLn+bmno+PLwwNPZuYWJyf3yyVTiJnRY+lpfzY2GIuVygWK6en56XS8dram9HRhZWVV5Fzo+Q/Pb1crX6u1WqKojQaDVVVm82mJF3h/Oqqj4pEIkF422cgfxB/m7/aHXf3d5qm6bp+eXmLTw8OzrwSnLSjlYD8R/44+Wvd8dgdhmGsr79Np1/EWQLqF/kP/jf1Gxd//YfearUqlfPJyYxXgpO5S45ToH0l4ZqQQP9B/Vr5r/0dFv+f3SHLtyMjKUoJ3qnxlcN3+tA/0X+c8Qd5m3+73T46+hI0C09OB0EUx4lIpTbRP9F/vPEH/06ns7HxPpPZCpLgG+cnJXDJHxuYAvR/9E/0H6sEnPzr9e/49PCw+o8k8JKTzb5E/0f/RP9B/Tr5T00t53KvvbcQngu+5ew65lvOFvD8Qv9H/0T/Qf0i/5E/iL8v/9gCzy/0f1Qu+g9ekf/e/HHFkHthCgjEAcIvRM6/V79ghuvtfNuXyy9gvVqWyzR+IQwfvhKcfqFwUpj5OJM+Tid3kzsXOwS/EJIPXwlOvwD+e9pe/ls+e50d/jBM8AtkPt4cC1p1eM/7HpNh+4WyVEb8Lf6zX2cHdwdlVQ7yC2T+ruOgM4QrfZdYQbD9gnKvIH8s/slqcuDdgNEygvwC4fvpRfFaxDr9wvbFNvIH8Qf//et9gl8g/AQvCfQqXH7h4fFBUiUr/pR+IfJEMln9AmGNGqacXbdQ5pL5//mFnpDwjMiVCgiQIfxC5PwZ9hfCNBm+fYl5fyHMj/KVwLy/EB8JzPsLhCwKs8DwPSYjzP6Cb0j7v8xj218gZIXvqq9XCZTkLbDtL/RBAr0KLvsL0SaSyeQXTOL/SGHK2XULZS6Zwi9wAvOzXkCAAX8A/IJmnw==)
|
||||
&]
|
||||
[s9; Options can be visually aligned horizontally or vertically `-
|
||||
U`+`+ choses alignment based on size of options and Ctrl rectangle.
|
||||
|
|
@ -203,7 +180,21 @@ onst]_[_^Value^ Value][@(0.0.255) `&]_[*@3 v])&]
|
|||
[s7; [%-*C@3 f]-|Font to be used.&]
|
||||
[s7; [*/ Return value]-|`*this for chaining.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s4;%- &]
|
||||
[s5;:Switch`:`:SetAutoDirection`(`):%- [_^Switch^ Switch][@(0.0.255) `&]_[* SetAutoDirectio
|
||||
n]()&]
|
||||
[s2; Sets Switch layout to automatic mode, where items are layed
|
||||
out depending on the available area for switch (vertically is
|
||||
the are is high enough, horizontally otherwise).&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:Switch`:`:SetHorizontal`(`):%- [_^Switch^ Switch][@(0.0.255) `&]_[* SetHorizontal]()&]
|
||||
[s2; Forces horizontal layout.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:Switch`:`:SetVertical`(`):%- [_^Switch^ Switch][@(0.0.255) `&]_[* SetVertical]()&]
|
||||
[s2; Forces vertical layout.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0;%- &]
|
||||
[ {{10000@3 [s0; [*@(229)4 Switch`::Case]]}}&]
|
||||
|
|
@ -218,7 +209,7 @@ witch`::GetCases] method.&]
|
|||
[s3;%- &]
|
||||
[s5;:Switch`:`:Case`:`:label:%- [_^String^ String]_[* label]&]
|
||||
[s2; Text of the case.&]
|
||||
[s3; &]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:Switch`:`:Case`:`:value:%- [_^Value^ Value]_[* value]&]
|
||||
[s2; Value of the case.&]
|
||||
|
|
@ -231,4 +222,4 @@ witch`::GetCases] method.&]
|
|||
[s5;:Switch`:`:Case`:`:enabled:%- [@(0.0.255) bool]_[* enabled]&]
|
||||
[s2; Enable flag.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
[s0; ]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue