From bf97ece83f5f00fef98b41b648772e1d5d132b08 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Tue, 1 Apr 2014 18:42:34 +0400 Subject: [PATCH] tabs --- examples/example1/main.d | 22 +++---- examples/example1/res/frame_blue.9.png | Bin 0 -> 215 bytes examples/example1/res/tab_btn_up_hover.9.png | Bin 1099 -> 1086 bytes src/dlangui/widgets/styles.d | 7 ++- src/dlangui/widgets/tabs.d | 58 +++++++++++++++++-- src/dlangui/widgets/widget.d | 8 ++- 6 files changed, 75 insertions(+), 20 deletions(-) create mode 100644 examples/example1/res/frame_blue.9.png diff --git a/examples/example1/main.d b/examples/example1/main.d index 329a344f..fc9df270 100644 --- a/examples/example1/main.d +++ b/examples/example1/main.d @@ -47,16 +47,10 @@ extern (C) int UIAppMain(string[] args) { Window window = Platform.instance().createWindow("My Window", null); static if (true) { - LinearLayout layout = new LinearLayout(); - TabWidget tabs = new TabWidget("TABS"); - tabs.addTab((new TextWidget()).id("tab1").textColor(0x00802000).text("Tab 1 contents"), "Tab 1"d); - tabs.addTab((new TextWidget()).id("tab2").textColor(0x00802000).text("Tab 2 contents"), "Tab 2"d); - tabs.addTab((new TextWidget()).id("tab3").textColor(0x00802000).text("Tab 3 contents"), "Tab 3"d); - tabs.addTab((new TextWidget()).id("tab4").textColor(0x00802000).text("Tab 4 contents"), "Tab 4"d); - tabs.addTab((new TextWidget()).id("tab5").textColor(0x00802000).text("Tab 5 contents"), "Tab 5"d); - tabs.selectTab("tab1"); - layout.addChild(tabs); + tabs.layoutWidth(FILL_PARENT).layoutHeight(FILL_PARENT); + + LinearLayout layout = new LinearLayout("tab1"); layout.addChild((new TextWidget()).textColor(0x00802000).text("Text widget 0")); layout.addChild((new TextWidget()).textColor(0x40FF4000).text("Text widget")); @@ -117,7 +111,15 @@ extern (C) int UIAppMain(string[] args) { layout.layoutHeight(FILL_PARENT).layoutWidth(FILL_PARENT); - window.mainWidget = layout; + tabs.addTab(layout, "Tab 1"d); + tabs.addTab((new TextWidget()).id("tab2").textColor(0x00802000).text("Tab 2 contents bla bla bla"), "Tab 2"d); + tabs.addTab((new TextWidget()).id("tab3").textColor(0x00802000).text("Tab 3 contents"), "Tab 3"d); + tabs.addTab((new TextWidget()).id("tab4").textColor(0x00802000).text("Tab 4 contents some long string"), "Tab 4"d); + tabs.addTab((new TextWidget()).id("tab5").textColor(0x00802000).text("Tab 5 contents"), "Tab 5"d); + + tabs.selectTab("tab1"); + + window.mainWidget = tabs; } else { window.mainWidget = (new Button()).text("sample button"); } diff --git a/examples/example1/res/frame_blue.9.png b/examples/example1/res/frame_blue.9.png new file mode 100644 index 0000000000000000000000000000000000000000..faae7a3f1abb3c6db2f2612edfa9b8f9c23e296d GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^sz5By!3HD~>RCAUxasM9?Cxx12MW|);c30j}Og?XPKw?k-7K|Rn?22WQ%mvv4F FO#r4qMqU5_ literal 0 HcmV?d00001 diff --git a/examples/example1/res/tab_btn_up_hover.9.png b/examples/example1/res/tab_btn_up_hover.9.png index fa378fe1aac4f0b7db5f5e0c59ff62fa82e6dac2..df0c1f5d5480e0e67b9a10c39b5a56c20588f677 100644 GIT binary patch delta 1021 zcmV-G9`-+%YVsh7CLC9g?FO^u;Ot=H=dMEnE*?*Smh0o<$O@rWsF&Ik@_%~I3K;skC@?K>Mo#fmdyEz= zg2XA32fUu}%*XH;F2Yoeaiy4QLXz4zmp`RT6t4^)_-%y<)sEA$|Tvs^OR%&r>Qu7wG?kvjNXzig!xgGE?m{o$`jV-Xt6G>R%ja1 zFlI#>x2CE*CC}6{bq#?A4d|`arnk32$$R3Zm!c1+3Aq5EO$;7* z3V+SQK?1kdMD?T=ch9pVI?kO7&qkgVzh|Qlt^QO=gG{USybTVq6~y7EggmA15fSJE zDzj-OEowbLng)WWWodO?Sa(Yuyc+H0_+DppuMR5VFE8K4T7^)Xkd^!8+-IrHbIBWt zJkh(m+Jx+F5xM$P5*3sv3CELnoaH|6&UQ7rDADDfUINx;{L+Z?G|{S>X6L@*5(;Qh z4|3!gYp~=QUxKUXRS6{qR5H2m*-Y!o#yd}3lCx@!Q2rTb-W_fk`b)AwsBO5`R65F> r^ux!n1P7&$Y28#K-SbL3$*%tog;7C#;HBY000000NkvXXu0mjf{-pAb delta 1035 zcmV+m1oZp92+IhNPk#mpEjdh$)Bpej-AP12RA}DKTD@)?F$^YUwFZi&LxBK6#{}?@ zFm%D(u!y&j~_qsj4-`^ zz{_7>;I&^!{v!Yc@)}=Y{Y?JS@cPMs`}_N|)oS%|wOU=Ilz$-SjED$`Q`?3yM1-8P zzAE#1&KYvffQUJS01pojzaJkT|E$;R9RM6-e_y=4z5R4|cXxAref^m(&KV{dD=p5A z(ece@^K-l1ZrAJe76ASYM!h*dKfk!Vyu3*%EvPs89X&H*n2>sm^NeKB`1RG*)y;0V z`wIZS0HBNg@qfjf^SkA8`QdOl?8jc>7MHvx88tSB8ns+5&k*rF0K5f&5PNVh_WM1i zl#+!J&M?j+mWSxr@py!;>i_^201yHIdxVU)JuqW`yIm6*_2)$9?BH0a+ zsCf2&JPDmx@~jqh(s2$n6sS>Jgh-L(F-V$=jAgohcz=zIJ{X1L-FY$P^_~?l^m|cY zTHuTv~J>i*;;W3;XUU_&Eu0~iL^isB}kjsFvT95C(o65alFPL0ys*TXmX3EN@TFb zQ~hgH$$xV$S83|gGgp+X=Z?!u4MvnnvW4d<$pB7Mar$a5-l`bAC0z*fqbgmvs-u-B ztoPAkU0SWsG^An7iZpIbRe4IDsb%UK0u36_TdPfPZ-bJj=?zcyD;1ztk`^CF^g zI&h?yST#qbZNQShO_XQridmb_1#}53S|`PGuYb_Md%_fQIG|k@i=(_pDQ!Y5+gl$| zAyx3?*+R-%q$%Y=HX&QlVTHG~xRZ?W8KwrHkM&fIhVl|G-Be1+rUdT-bB<6NtCqtx ziP*te6Gq2YhLtAlv2=-JgE*ejO88m@s#Qn9QkrvRNx}EgOvqM++={EXdqQo!))MGa z^nc+vAr}C&iNQTjp;x}NzK_&d<<-1s`5NZ>$ za=)DWEVX$mc_Wc0dUscwki9J;SAR;Pf`1Yv;dt_nlicUsxkeWyy4=%Cz}k#o8gZT` zT2<5R)K{EC0WIo5jyz)xmOSHga235Op~QenCigv?X}rk8!5m;g+F4 zCmV#?hHFiwqs&R)d<}DOQ2LnGO*O(jFZEkb_V=Ct0Z(#481p0*qW}N^07*qoL