From e2e047b8b5d31cd81208fd45c51b77979964d682 Mon Sep 17 00:00:00 2001 From: Teppo Kurki Date: Tue, 13 Jan 2009 14:13:57 +0000 Subject: [PATCH] Added Label, TextField and RichTextArea examples. svn changeset:6522/svn branch:trunk --- .../toolkit/demo/sampler/FeatureSet.java | 21 ++++++++ .../sampler/features/text/LabelPlain.java | 42 ++++++++++++++++ .../demo/sampler/features/text/LabelPlain.png | Bin 0 -> 1937 bytes .../features/text/LabelPlainExample.java | 20 ++++++++ .../features/text/LabelPreformatted.java | 42 ++++++++++++++++ .../features/text/LabelPreformatted.png | Bin 0 -> 1778 bytes .../text/LabelPreformattedExample.java | 25 ++++++++++ .../demo/sampler/features/text/LabelRich.java | 41 ++++++++++++++++ .../demo/sampler/features/text/LabelRich.png | Bin 0 -> 1849 bytes .../features/text/LabelRichExample.java | 45 ++++++++++++++++++ .../sampler/features/text/RichTextEditor.java | 44 +++++++++++++++++ .../sampler/features/text/RichTextEditor.png | Bin 0 -> 2305 bytes .../demo/sampler/features/text/TextArea.java | 45 ++++++++++++++++++ .../demo/sampler/features/text/TextArea.png | Bin 0 -> 1716 bytes .../features/text/TextAreaExample.java | 43 +++++++++++++++++ .../features/text/TextFieldSingle.java | 45 ++++++++++++++++++ .../sampler/features/text/TextFieldSingle.png | Bin 0 -> 970 bytes .../features/text/TextFieldSingleExample.java | 37 ++++++++++++++ 18 files changed, 450 insertions(+) create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelPlainExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformattedExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/LabelRichExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/TextArea.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/TextArea.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/TextAreaExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java diff --git a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java index e3b365b55d..97d6137942 100644 --- a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java +++ b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java @@ -42,6 +42,12 @@ import com.itmill.toolkit.demo.sampler.features.selects.TwinColumnSelect; import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetDisabled; import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetIcons; import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetScrolling; +import com.itmill.toolkit.demo.sampler.features.text.LabelPlain; +import com.itmill.toolkit.demo.sampler.features.text.LabelPreformatted; +import com.itmill.toolkit.demo.sampler.features.text.LabelRich; +import com.itmill.toolkit.demo.sampler.features.text.RichTextEditor; +import com.itmill.toolkit.demo.sampler.features.text.TextArea; +import com.itmill.toolkit.demo.sampler.features.text.TextFieldSingle; import com.itmill.toolkit.demo.sampler.features.windows.WindowChild; import com.itmill.toolkit.demo.sampler.features.windows.WindowChildAutosize; import com.itmill.toolkit.demo.sampler.features.windows.WindowChildModal; @@ -97,6 +103,7 @@ public class FeatureSet extends Feature { new Panels(), // // new Forms(), not done yet new Windows(), // + new Texts(), // }); } } @@ -237,6 +244,20 @@ public class FeatureSet extends Feature { } } + public static class Texts extends FeatureSet { + public Texts() { + super("Texts", new Feature[] { + // + new LabelPlain(), // + new LabelPreformatted(), // + new LabelRich(), // + new RichTextEditor(), // + new TextFieldSingle(), // + new TextArea(), // + }); + } + } + // ---------------------------------------------------------- /* * FeatureSet implementation follows. diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.java new file mode 100644 index 0000000000..b65c5ff538 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.java @@ -0,0 +1,42 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.ui.Label; + +public class LabelPlain extends Feature { + @Override + public String getName() { + return "Label - Plain text"; + } + + @Override + public String getDescription() { + return "A label is a simple component that allows you to add" + + " optionally formatted text components to your" + + " application." + + "
In this example the content mode is set to" + + " CONTENT_TEXT, meaning that the label will contain" + + " only plain text."; + + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Label.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LabelPreformatted.class, LabelRich.class, + TextFieldSingle.class, TextArea.class, RichTextEditor.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.png b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.png new file mode 100644 index 0000000000000000000000000000000000000000..6865b1bf5ba1160290f6c8a5c258fcca9f5c167a GIT binary patch literal 1937 zcmV;C2X6R@P)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBU(4@pEpRCr$PoLi0@Hw;Cc&E+?M_rI6P1TqAMkIO5Sie249!!UZP zDL#%!N=3u|>+9?5SN|#?@C~|u6%hDUV53d^*EUEBfB*B_m5iQSVP2AS>E&We5&aMJ z_e%SF#M7WJrjDP{7VFaPy*$@y99Uwq0D30-3}ZY|Kf305$x%I#Jc!L*C4B>a4z{avJv*yNXYQDXBujRcwXRz84|J4lKFXp!EslZYqArpQJuFBrho%?{p*>Mgfc+iO6pj=2%xMvn$dmg<1t$Ox`V zQuU)s^E{*7<8>mIMNJ;!QFpV;-6tt%(hY!5CQ!6_^B{5Cnr$WtXr}u-N(QIZb6nkj z1%F5k4Z3I}8gvopcQNz!t)oG|3xOg(JEI$P5rHBzpP$i3t|jV?#@(FA(0G0r^mbI+ z3)6(Wt{G@xCLs+v-J?GO7eNm#PDYa>2q0$XA#z^9EL8IiS-G}~@vK879c}`vzDfD{ z*;;f!+gfm|BPyBnc`9IMU~1dua7TTR!=NRf)usZqcyfe8%l|5C$?241Dqull5WIV7 zKV9`rZf*McUeLChR)b09mq5GK{ZSdc9n4wK`1nh0-PJmVVLoNj@?iviO6wRb)Y0rd zag%f|pGS&S#VlN^0PCKN!rlSo6Zh;@0zh8IyLK4j;_7d=2^@Yi-1g(+7dGgkEpE^a zx`;rLna=12T|}VBOlS0qK&O{;(yvGl)=w&bN3ndUB%|Unm4U{udC%FBYS70c{{+xr z=wYV;V5T7l7yRUb9J#oI4tLfONgm&OS0R*4V%ZS};KynCR#tgR|Hi6Vt=w*f6ke)X(d$9=W)!!`G;qbLCybb~G; zP-Lbvx{d~XpkUB4tAj%k^fIC+=&mE(SYHD8&ZTRnlz;W<1rH+2FR&{%ZSPOG)!t9ZC#O1 z)Tlw3Og)&fE$tQvp0qea;N@41%2GZ9T5;dbFFA6;N>*cb*D3?hlMP+_-V!`k)7Eb(fHL1MF7n^i(cQEa}7z)Qwph#g{1e+vuU2ZT5H!L9ZSK zEuRv2%U5t!6K?UPkrxZRCFo*CN6a@M=1oSiy(4Iuyz2AF^w)rPdxCuk_6*cry3?~8s1C59)AsJ6ME?0o(Ds~l z>EMEmxTK&{0n$AsW)b6{4)kbnEU0$j78GtBuJY(skcOHzUzLyBt^5V8LsqT=q$)1L zq)OgRKv2B$BB9bM(!3#Nm)I0pO6temqb>K(c+#MY_OU@X=pq6|W;&xAbP<6fGo8^5 zx`;rL8I;lFdzb6!(q$gUdQepnRL{&qL0{S9BQ&>nH(JPoUiE(4(WU9cs#m=Hw*L#D z$HYL+4b%+5{npCJ;egT>O_3&LX~O!W#3FpkPj^b=Dvt=LIs^JG?&SYeVkRlk@W`DO zjc74wC6nrRlgO@G(i8Qr`8*X+;lBX1!laJqyq#dqmK!MB9s_G>-s9 zEhW-?1vCf&)SrxKIiqniv6Y3xJCf1l{qhRvs15Q*cO7VX9@?@{k(_NEL)#J1+dcYU XO8&DR_iVMn00000NkvXXu0mjf7eA-K literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlainExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlainExample.java new file mode 100644 index 0000000000..7d2ce6c3ce --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlainExample.java @@ -0,0 +1,20 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.VerticalLayout; + +public class LabelPlainExample extends VerticalLayout { + + public LabelPlainExample() { + setSpacing(true); + + Label plainText = new Label("This is an example of a Label" + + " component. The content mode of this label is set" + + " to CONTENT_TEXT. This means that it will display" + + " the content text as is. HTML and XML special characters" + + " (<,>,&) are escaped properly to allow displaying them."); + plainText.setContentMode(Label.CONTENT_TEXT); + + addComponent(plainText); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.java new file mode 100644 index 0000000000..7658991dc6 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.java @@ -0,0 +1,42 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.ui.Label; + +public class LabelPreformatted extends Feature { + @Override + public String getName() { + return "Label - Preformatted"; + } + + @Override + public String getDescription() { + return "A label is a simple component that allows you to add" + + " optionally formatted text components to your" + + " application." + + "
In this example the content mode is set to" + + " CONTENT_PREFORMATTED. The text for this content type" + + " is by default rendered with fixed-width font. Line breaks" + + " can be inserted with \\n and tabulator characters with \\t."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Label.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LabelPlain.class, LabelRich.class, + TextFieldSingle.class, TextArea.class, RichTextEditor.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.png b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.png new file mode 100644 index 0000000000000000000000000000000000000000..d033a4b436cce58db6fcdca6de3697a937ebca4f GIT binary patch literal 1778 zcmc(gSy`$=I+^5%l?ya3aUOxxQ8UVAlJr!L z7K(zI+T;?Nqu4HB5;g=20FO$b8|U=4`@Xp2 z;UNH!`3(T%UIPHlw#tN+1sVZ8}lON=hAf+Hq}o zaQWhuNv(qdp$p09ai2bR8^ed07KfBHgdRvhZ!N0T>gUxU@LrBOEw{7pinB+Lv;}KO zf*3C$hnRBz$_~bsdhUsKbs?T@_ubFDl@EvS4_htXnJ#~YQrQ_5XRMUKOy82N2y;w$ z$_t?Tw|Mw(jVXT~M@)FyKl$(q&DTH=?%(dK_ z26m|wCO$Kl5^M$|^PdNUi(prF0XqSI)F{H-Gthfc6$UAp3+n+07e!&^$CIkGeK z!)tW0luKQ+!02Kct7SROv%kb=8B4sUmyy+$qu$M@Fu{UZ*aueeB+pRG@3-H0;O>un zyJNuJf6dn=&R2}y!!^YEAs{bs>?YI ziCd=jF|fdt=SBTZ2>P1Yv;U|ki{dbEh_Ry!>FdD*$yH$3V80VNc4QfuMtew&uOL1{ z&bG)0n?j?Nw?}j|kATx_E(}uej^Yjo*B#2QZgPej`>}NUelOv16@;IoP z|0Ywx%GkV3=%dTlMzO0mN;Br+Qi&%9$*$4cg+H{^w`68VUK@ayo;`Up(cH!<%PuJ(Bzv}Kn*u%*QadSX%#kwmQr*PRqN z7GoLZp4FQk8mXt+lB-Jo*j;_E$aM|wXtKl&uqHEvcXJ&ZWyOc5^}foyen5;OGrVzA zVkhRmDW3;x-h8NPyiNH6kOtf|Pw*LUC6HnYB3Dy0_^zs$^@*9GGPKx3wesGstKDs@ z>q`e=&c|}~HOsP0LG$g`cliis23JV;pz_f2Hpvd<$z@Dk>3VtFcsW&DXRUAza>d24n&j&PO4yjhveNqC%fGLKA9Ji^+@IHTji*8NmtKHaR6w|B@zGIgS#gSM(EP=*{)z&HHz_wFYA za){9wWsr7ICF)!r5WPZa?8RMQN5HXj4R8}`r&3^B{xDlCyG6Qt(>{wGm{jN>r{sAJ zEClazb-g(VMeAiA>aIOr$Du8BnF@_1>=9LffUimppw?64CBrZKJ!)u&42t$&?hZ=q zb4sd9KzTTx8V|2;7S6i+@)t%+pKM4n)B}C(cwFaC>E>65IoVOqpbxA!kHR#8m!zw7 zhWBGSI7D0k*<+D!@}HcUEX*0c)Pc9E>+lZx$9gt3cD1#vJ*Z-Ies+W};8ck28J(EO zl1%Vib*v6I|G1O>`K3*smN14+GN5jJr2JhNZd)VzymERhnuV|WbWyR~@XvxEvq@co zsfm60#`8~66R(`1??Gl18t)aDhNv}ea+8-D!7|-15Rnp;obowfmI}}cFHu_xKgpqT ZpUuK5IB28Aar-F&fdP12liyj!zW`sVIAs6; literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformattedExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformattedExample.java new file mode 100644 index 0000000000..2794982c89 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformattedExample.java @@ -0,0 +1,25 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.VerticalLayout; + +public class LabelPreformattedExample extends VerticalLayout { + + public LabelPreformattedExample() { + setSpacing(true); + + Label preformattedText = new Label( + "This is an example of a Label component.\n" + + "\nThe content mode of this label is set" + + "\nto CONTENT_PREFORMATTED. This means" + + "\nthat it will display the content text" + + "\nusing a fixed-width font. You also have" + + "\nto insert the line breaks yourself.\n" + + "\n\tHTML and XML special characters" + + "\n\t(<,>,&) are escaped properly to" + + "\n\tallow displaying them."); + preformattedText.setContentMode(Label.CONTENT_PREFORMATTED); + + addComponent(preformattedText); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.java new file mode 100644 index 0000000000..2772effd13 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.java @@ -0,0 +1,41 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.ui.Label; + +public class LabelRich extends Feature { + @Override + public String getName() { + return "Label - Rich text"; + } + + @Override + public String getDescription() { + return "A label is a simple component that allows you to add" + + " optionally formatted text components to your" + + " application." + + "
In this example the content mode is set to" + + " CONTENT_XHTML. This content mode assumes that the" + + " content set to the label will be valid XHTML."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Label.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LabelPlain.class, LabelPreformatted.class, + RichTextEditor.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.png b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ba9fa202826b050b800d127526fd13217c75ec GIT binary patch literal 1849 zcmbW2Z8*~lAIJa6WOZgCWVI*{afHK-j;B~AHW_AwwdUN3IlHAaag4S&!ja9xgc@gB z^ZZb2={A+EN$sD(eT7<}Qjjn`F=H!WOKmBnB%nCnYWPrBy^Bl>eKPZP5WR^9{p(R_{_ z`?but2ke62YSJmwe=6^Jj1P-8VeU$>#iz&S!F#sGvW!G&tD_%??G{EW(+0#FiQ8X? zrhT*h{8IRIz`u9wN$+^_aw90M7hU2)$_x_;S_t5~Vj?O}&4ku)I7&bbq<~5CCGq@- zJ*Sv=aWARjV-S`+EcSNgIA{O%n=7&?H0kEj;_+XbaspP%)l#~Qxu}=kT#lbQjx*^c z&Zw}TW+CKuC3mjM?D_^OLqJa-VaqM4gjiI7l6T^io0!%7Ft4371n#lEBg?=i-lX@U20tC8gXbK^Z(gSirW7tS*a^Mi=4>C@JB&+Cei+ zvuehyc2}sCo?TqEcWF(nh_%r#c_m;+$*Il3Hb0SrN^lQemh9u-l7v?}@kzc}(gxY} zF$?~zW3II5PU`;P+yZu8GOxwjSts$^;*qulXn<#{+*&&#%YWn>JyLjB$f?l6TsXBA z)D1pak@LFHWRcAJhWYCER6pC4Shzma7ROa!`Bfx1MUMCvjFJSkfUux7*E<;l%~$2l zw>*Q@rxf<2xkF$pL#R9!i0f9fMuLSxn@Q(02wn08^p9R7=er~4$U;GH6+&#wx`eBn zz`N==wmIQ;s+bi9Yhg`6GGqP2A*wDWDZ2uZI)<4f?kgZeH2<8P!cH4u@JKoFv4xz>N;ct zzUJ_94np12enzPdIR+G>e2$a$@5(>x^1o_~u0Ry>a7vb9#Nt`~!^(-q{)Ow4d1+%= z!=;c~c4@z|`bBHw!83Vg;xdhhG0zYP&atM&Ha;O~n{i|#)~YPj&vLMk!JG**Eu>oB zTTy=RVt*0Sr*rv1*oIf)9Cn{wQUgOpn{9r1dEs5;i04RcF@DimP3l*R&t}mY%j3#^ z*{DYowT2?xzx|jkpJ6fTCO1zSqD||=8CnZti}`RqLtzKE}*$J(mS)X!6Ha=pZD zl4y&1MAWUe%6g5SQU&*D-+80DYKQIM>UW*reY^(yoJvUFW7T|dBog&Vszcc`%5O#W zt#>#XxKad@YY8hBZ{NPARe9G8V(A!^MC4erQUTMP7Ur8h`b}U5t!%Jqq9rJ6!t0s(za?Y>Tu`G zACA|2%bzI&-#zEwJ=mytw;KPu3G z`z_ zVAxc?`u~UNZ*wT%8hPBHq^gt)~Fbw(Vgnx?Nct zB~9(L_lj=UUXkz;Gln>nrdX~2qB^p<_34FWMiuyYmn|XX!{b9IUsM89&qPlGYUeMk yO{~EEIi20qLE3tf>-Jx7+x{{!(=5fAEgBg_Tf?yDL4=*(2B5q#$fnbg>Hh)P_Gc~t literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelRichExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRichExample.java new file mode 100644 index 0000000000..354747162f --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRichExample.java @@ -0,0 +1,45 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.RichTextArea; +import com.itmill.toolkit.ui.VerticalLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; +import com.itmill.toolkit.ui.Button.ClickListener; + +public class LabelRichExample extends VerticalLayout implements ClickListener { + + private Button b; + private Label richText; + + private final RichTextArea editor = new RichTextArea(); + + public LabelRichExample() { + setSpacing(true); + + richText = new Label("

Rich text label example

" + + "

In this example, the content mode is set to " + + "CONTENT_XHTML.

" + + "

This text can be edited with the Edit-button

"); + richText.setContentMode(Label.CONTENT_XHTML); + + addComponent(richText); + + b = new Button("Edit label"); + b.addListener(this); + addComponent(b); + } + + public void buttonClick(ClickEvent event) { + if (getComponentIterator().next() == richText) { + editor.setValue(richText.getValue()); + replaceComponent(richText, editor); + b.setCaption("Show label"); + } else { + richText.setValue(editor.getValue()); + replaceComponent(editor, richText); + b.setCaption("Edit label"); + } + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.java b/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.java new file mode 100644 index 0000000000..4af2b6f70f --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.java @@ -0,0 +1,44 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.ui.Component; +import com.itmill.toolkit.ui.Label; + +public class RichTextEditor extends Feature { + @Override + public String getName() { + return "Rich text area"; + } + + @Override + public String getDescription() { + return "A RichTextArea component allows editing XHTML" + + " content. Click the edit button to open the" + + " editor and the show button to show the edited" + + " result as an XHTML label."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Label.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LabelPlain.class, LabelPreformatted.class, + LabelRich.class, TextFieldSingle.class, TextArea.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Component getExample() { + return new LabelRichExample(); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.png b/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.png new file mode 100644 index 0000000000000000000000000000000000000000..140d0ee2fdb7ec63fb12f1aaee6ac9fa5289ea53 GIT binary patch literal 2305 zcmcImYdF&lAO0_LXqjWJhG$M?gv6YAm`%fDVhrt3c$}8Q=6otek|;whT1s@9Vzr>-v5BUB5fi#ThHL2etgG3;-#Y0AORs zN|^zGSbYGP^#uU)TL1u!xWjR^1OSN(4j7bs!s&%O&&di{najQXlRq`RAXj4gtBlAC)SJt5=o|4nZKo;8?X9h{UDbha%s`$aeh1x!chfjD<$M^ zyp3SH#T)^q$JK{bbnM(lhUnaDb?th0pv&5^KfR#z#!lD zH4|0uQJzIAmB3-BWX)hP+`Ge(*Iiar*N7Lt{H-l6U;MRZS3L@4|<8o>YU`jM(GuFS88AfwL>a zzT<1c#Z^AHFvFVJW>@HA(Y!?Zz1sJDeo?Wuu%$!sDutyxZ+#)Qv&Lekn}JGPn%(tY`+xkg7;Ay^b~|+MGDyaW^uL#w2q$(UjeOU)Tx@JwEmjWL2L|g|D;H(5A@*S zhh>pUlS45J@?cneo0?YJdM@qWY9p#Y-b0)eU7ehCql)BkKSr<;TdOpr;61R76QRFp z8x$WrU=O32RJ5*V;l&YYM`5g&=Y6yDA)KjRqvULB2+MrQJyq{!Bge}kf1?AmU665U zso=Foop4Ms50$26B=*Xaof2eXfFPC#s~pe0%xlg5j_)A+evm4x8aZ_(>0m%Xy{n@% zeZJ+DZT}#dx#BRGNx*(-&4b>sc@Z6>Me4OTbL~GOcMVff$B5JrHtYN}2u#s~v0pgi z1+JV_SQ<-?sNt$la)x{fF#@)dzcCPWJAYj+WtA_n{7Nuhct$+mGK*YX+QZVMY6Ca| zyw@|&sS7NL5;6CZpL7t_O-xrbKJ?e6%=b3@VW@P(YKK|j`!uF-i~0PnW*YrPGI`jO zN?HCCk)XykUqo<_Si^tpYWB2f>k=#P_B_L%aFq2k^}ZT{z%lfq0znLlfv~;k4Dq&mw5--X{?o11sm*}NM=)`Ie>IdmRV`>$(mLi z%)MPa`L|*+GC&%!G5dzUlHowWGW{z7BDu;f&roT7>eKdoAO8cfEg@{#r|_)zV6-6| z#x_J;cyF;u7REYKi(Ghh(!X0zuo@+<`dlchY|1);FULt>iH?{e5soQ^p*||JU71g3;+uXfl9W1 z2o4ExO!Tm@3_Nu5u$GZ%ahWNPbs~so50eu$PK^mYXIClOq%0B8JaX@Jh>2l#-(F&> zOUWPB*mzM`;-gZy`1soxFbA9+a6;Ls5lqRpiO*YEyqHhp%8_oCPESu`Rizwj^e2mx zP{irk-IVXL&_FJpr;jPkeb}x_Xf%3Qnh<3a5FfwRck{@tJLaETbo~6R9$ILHmChm6 zx2-#9PCnI#PsUbR_=N{{kL@yeHo5Ip^ibiZw9T`*g54*=@9JIU%iJhKtvNJ5Hun|} z+(1AjOeRKtER2n*;T9uLowV^Mu&Ld!vixd{E>yi<|I>gceuQu%#bAFX<%xbT*pzLb zq2(VHwRh^R47~!{sfu=XeGW$K>CF-0#I(69gZ-*P&YtgE%Fblf-4+$FMxnD9^SPH-xV)597lxCYOLCAVLzms&e72teNvUbCmus>6>|$Gx_FAs@?Rd!8+FQ9_v!YZo%@s*? zfxcSJ-#mXZ*_P1bl`PVvS9os^q&mQh0k52OQEBJg1slzt+)WHD>RCVs@YnGSv~yzCv}9BVVP_U`f@Ehgp+?5kVS=XsYKZxMvD4OJOmi+{Lb0 zKFplP;N@2w5=$^ve^G$N>Ib5@;XIJn)3;vbLe%3%X(c!DcKz-NL1tG)3e{qEv_ggy zXXr%d|Dwt5eB<^A9%ST7O5Q=w+B9P|-+=CY3yf@u1N2Bc3zGV-<3Zm1|3mx}`mI5d Vt)psmZ>OUG4tCBMmaXr_{{STXID7yA literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.java new file mode 100644 index 0000000000..52611d9d7c --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.java @@ -0,0 +1,45 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.ui.Label; + +public class TextArea extends Feature { + @Override + public String getName() { + return "Textarea"; + } + + @Override + public String getDescription() { + return "A multi-line Textfield component allows you to input" + + " several lines of text." + + "
In this example the text will be shown in a" + + " label component after you press enter." + + "
The amount of columns and lines can be set, and both are set here to" + + " 20 characters. Note that this only affects the width and height of the" + + " component, not the allowed length of input." + + "
For sensitive data input, the textfield can" + + " also be set into secret mode where the input will not be" + + " echoed to display."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Label.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LabelPlain.class, LabelPreformatted.class, + RichTextEditor.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.png b/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd04ba696838ee96de8f64d2bd3b25d6440488f GIT binary patch literal 1716 zcmbuA|3A}<9>+gyHs8;Yt@(b1<4b3aIXRn=nPY@AF<)XfSrUgrHLRV|SY3rpT=Mm3 zlKHx@C>y21`r?+)qN}u1lFnVaMJJ5;(sds9Pq;t4-_OVE{rc(s`sH;YEHuza-$EY% z0HdJ2{?sk9{~BHGt$hR5aBd4)C#Zpbz_lk<@3#arnM5H0KzE73I#Xv$+a~U%QUHMC z2msu(0HE1Aaa912?K-0svHIoh;lN0ATJx{-j8D{Kr~~K#4az_e14qHdlH8 z1Hx5aNyIe)1g>98EV=4%oz6f*Nh9Bt&NK%;a;!V!i}(KgxcFBDWIky`%ZtWw9|$ts*If)_^iYgsB$SEs@$tg{J=Jr?l4X)- zhZCz{41eJR%J=`59jd^cYCd`{f`lK^;i!!VGY7Z5kxOG^O4VN{-X&T87T_l=AgU=F z{Ar0u@)^amc{BUUF{%A(#*DzIm|iaRTg_LGRUcbI=174yvpLR)i76U6zY@CNU2p1{ z&ffeLx{Q++Jxh2=u5L9P*8t|Zyv?7Yc9E_*wy3TldnU)rSaeTgbtDkcJI?ZkwV;XMOC0R231xvfCW1*4iG1VlKT2L76mn zv5sL5`LzVZ-7ELKkGw&LMQ(4hHApk)_G%^V{Ap>EWQ@;~SD5UwPB&iWBJz~>>_@C` zL{JM>sf`7Thp`Kr6(N5Y7U?3SzmQ)W_N*!CJ@G@7$A3;FPbW<8RosPxLZ_VP`W+S0 zPxodM_k3DyfmyQZzPv8=B9&whv*-3(BKp#>8VK5R7X8PQniLPKj@d-Pq0#T2Co*%f zDdwZt(*cUMTJ}vH-_jsX06YFBhj7HuO`=U(+E$`@=o@!3-Q%U?UBy)CkGz70wyRNK zY7MwBQNyhW`2dT;;y-7`M(_b_u+qM%!!=!xro%5OV;@!wAA0?a!OV4PdvQHq@B^b& z(Z>R$*k-(Ehxk?-3;Y5HwUQBiClkVEk2$rIE(*Mf?}mjgnd~-C2cE@H{Gy2!S3Z)d zncNR$>|1?aUkTax_ED!UhoD9|-LAWWI!W1=0gkJVn_992lZz_Y9zF(#)zXCjI}2l* zvDkQp9Sp|C{3}s>)5Ysd2I%#Rc3h}h;9+(QSGIhRdOGCAuJGpZ-19Owk0;F3-9%ov zTUzS;IdPp#xC^y-$8P*F#kY4%!d4s%#6@j{I^_$@QXsM0?;tAHJbgarvUu6Ju~bu= zNgVgE^dVIq)l-*C1DxvH!>X6?5S0abkSfM!?p!w#KC9Bwy-1e?bE`VPw_eGN%z~s& zwoL6HmnfdvW&NiR)!6eV#wU%FsBF{KZZ_}0Ob=A`f9PTjXWuLHY}s~1A7kBd!|=Lq z@lb;I%NX*dkg{AS(pv}GIuQ`u>g(`kw^2xpBymCYlg8)}UTUp-0czYEW|>E5kM%ef1;p4Xd>f2s-rev^pu zmgtSk+b06xy}p$Nan5}?dHvWv{)zP()vIoC<*8@4x_|uV+&;x&vo#-u-w85si79qK ziaJ$qw8 z8sfb9m3bjU)b6^Z)XUH2_j@2NbMVJdrZbrzm051;$l(3uf^o;goHjj&j>01~<=#$` zxLk|}oTKyutn9@pn^Xcd_OFO0dXd+opw!W@v7qSWh1g(tMqi2CWp&|zxF&3%%T;%3 zXU@o>>V8*U&IFF`Tqr$50Y|>I|75{B`}FTvBMxNv`~{eGLl5(3-YWom&`w|DnA2E# t@sp=~KCAeCtrQUDq;O`GgwFaU1Eh_YgXH`WajRBIn this example the text will be shown in a" + + " label component after you press enter." + + "
The amount of columns can be set, and is set here to" + + " 5 characters. Note that this only affects the width of the" + + " component, not the allowed length of input." + + "
For sensitive data input, the textfield can" + + " also be set into secret mode where the input will not be" + + " echoed to display."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Label.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LabelPlain.class, LabelPreformatted.class, + RichTextEditor.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.png b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.png new file mode 100644 index 0000000000000000000000000000000000000000..2782e57b01208e485c68fb930be47cb5d3736020 GIT binary patch literal 970 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1SGeyEo=o+jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#N0|T>% zr;B4qMcmt2j(v9&L|E0QpEe8nwlnG6)Hj>om!zC@`q0aGS@d%7+Q^=&hW74H=5oJJ zKmPdR1G7Ly(>G>;9}Gr4Kf=wH91svNIUKoI@m$kB=@;wo@B8kza zeND=?;LqDwmRipy!wb`u^6yxh{W_WP`(|3)zj<|&w|QEp&6^fmrjzVwzD&wTmqB*c zj7=Pjq5Evs@+3BY)1R)Omyt0uYpL?wL#~UzPYSY+-Db4)`l7|RCWV@DT-`e3*1E;7 zpXl=2xrm+HX1n4qQ#J4DKlh3q_@{jRP?Bl5>q?E?RPi2(>n{p|4GY}TZ+CX}Fa75} z{etN0W5ThodA+Yot*>q>mrV7mSsKVn_knt zl3)Fe?|Nfyzj$NY_2uL1f6G5}g3ib}wRn+iZQf zWJ+WBghR#qYwXhwho9SV&-QKTwwN0kj{GO2%PbA6>~o#ZvcK`}K2W+?n>B0x2dSmX zcg*HoYh1HNe(w9_=CWTG6wMXWlVx7OzUu77(1o&Jt`#L-SUUUb>A-Ey7OQlp#=2Y7 zS@_M``e)taUrQCXy!o|Zd20Gqsk?p4?gVfDzV}Aa!%K!`Pu#zYCokUm{a49?+ZWH| zYQETM^V=;tNB(YkL3vhf{DpmaAGrK$f?tY;G#j$&W^^!!EWX&(#^GQnH4HesjsLhq Yr-l`_UpsIGnAsRSUHx3vIVCg!0P***HUIzs literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java new file mode 100644 index 0000000000..1095fc94ee --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java @@ -0,0 +1,37 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.data.Property; +import com.itmill.toolkit.data.Property.ValueChangeEvent; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.VerticalLayout; + +public class TextFieldSingleExample extends VerticalLayout implements + Property.ValueChangeListener { + + private Label plainText; + private final TextField editor = new TextField(); + + public TextFieldSingleExample() { + setSpacing(true); + + plainText = new Label("Initial text"); + plainText.setContentMode(Label.CONTENT_TEXT); + + editor.addListener(this); + editor.setImmediate(true); + editor.setColumns(5); + // editor.setSecret(true); + + addComponent(plainText); + addComponent(editor); + } + + /* + * Catch the valuechange event of the textfield and update the value of the + * label component + */ + public void valueChange(ValueChangeEvent event) { + plainText.setValue(editor.getValue()); + } +} -- 2.39.5