From c21465359417903d0c30d36e1428e8e8e25c909f Mon Sep 17 00:00:00 2001 From: Teppo Kurki Date: Thu, 8 Jan 2009 09:22:57 +0000 Subject: [PATCH] Added rest of the select components. svn changeset:6446/svn branch:trunk --- .../toolkit/demo/sampler/FeatureSet.java | 6 +++ .../features/selects/ComboBoxContains.java | 35 ++++++++++++ .../features/selects/ComboBoxContains.png | Bin 0 -> 1388 bytes .../selects/ComboBoxContainsExample.java | 37 +++++++++++++ .../features/selects/ComboBoxNewItems.java | 35 ++++++++++++ .../features/selects/ComboBoxNewItems.png | Bin 0 -> 1648 bytes .../selects/ComboBoxNewItemsExample.java | 50 ++++++++++++++++++ .../features/selects/ComboBoxPlain.java | 4 +- .../features/selects/ComboBoxStartsWith.java | 5 +- .../features/selects/ListSelectMultiple.java | 4 +- .../features/selects/ListSelectSingle.java | 4 +- .../features/selects/NativeSelection.java | 4 +- .../features/selects/TwinColumnSelect.java | 4 +- 13 files changed, 175 insertions(+), 13 deletions(-) create mode 100644 src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContainsExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItemsExample.java diff --git a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java index b24a23e648..116558c94c 100644 --- a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java +++ b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java @@ -23,7 +23,10 @@ import com.itmill.toolkit.demo.sampler.features.notifications.NotificationError; import com.itmill.toolkit.demo.sampler.features.notifications.NotificationHumanized; import com.itmill.toolkit.demo.sampler.features.notifications.NotificationTray; import com.itmill.toolkit.demo.sampler.features.notifications.NotificationWarning; +import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxContains; +import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxNewItems; import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxPlain; +import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxStartsWith; import com.itmill.toolkit.demo.sampler.features.selects.ListSelectMultiple; import com.itmill.toolkit.demo.sampler.features.selects.ListSelectSingle; import com.itmill.toolkit.demo.sampler.features.selects.NativeSelection; @@ -134,6 +137,9 @@ public class FeatureSet extends Feature { new TwinColumnSelect(), // new NativeSelection(), // new ComboBoxPlain(), // + new ComboBoxStartsWith(), // + new ComboBoxContains(), // + new ComboBoxNewItems(), // }); } diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.java new file mode 100644 index 0000000000..f91f9c2a13 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.java @@ -0,0 +1,35 @@ +package com.itmill.toolkit.demo.sampler.features.selects; + +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.ComboBox; + +public class ComboBoxContains extends Feature { + + @Override + public String getDescription() { + return "A drop-down selection component with single item selection." + + " A 'contains' filter has been used with this combo box," + + " so you can key in some text and only the options" + + " containing your input will be shown."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(ComboBox.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { ComboBoxPlain.class, ComboBoxStartsWith.class, + ComboBoxNewItems.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.png b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.png new file mode 100644 index 0000000000000000000000000000000000000000..d803238c9d1bf7a73d2de24c2a198c4e8c9534b0 GIT binary patch literal 1388 zcmc(f`#aMM9LK+A5j82tk*!II=;Wjra;c4SZJJF;C#+#Rp=q`(cXM3Zh}5=A4vO&%x%CKT@{O!w8oQE?^9j*=l0L<0p z1YY6He|IxPp$#e(DGF1H#5+3xf}UNU6ah-cU@-ttm%U|`xJi-qNiKLS07M%BK;j<& zu%bYTAOJAT0AMB%0Bni?KqsP1=xL`oopC*Z@nZVVm1C(|hc#0RH&n_rwMR9-%B}US zX-T(|_D8)+L#?3RiR>o;*UkGU)2@3e7y0Tj|9B&t29{o(plgs6)!2kqO zqL6NYQJbkcf-|wRXWo6gHKg`?`wN(_vZ?22S6#B>5OjZvy3n2&rnvL_ZDLT9my}t+V*bcwX7gZ5Sm5~;^_w?VsL=xuMf9O>*OY|ml z%r}P~Smd~Q?>q{}H5a)J7{gJ1)h+#ya6gilc=eMfVKBbWy!#-LNIrl5ER)Gp-N&Ku*TEGBtpbn5t-tiKhjc5Ztu2Lp>&<18%D;S& z5DqxMy!>=@*$}LD9emZdUl6(dRGF`+BOjqHK?cfy6RSa$3=1y;A3rb%7 z`b5J|T5UZmjj4|_nFJYxp!%8Za77ow+liO7Ojpn59=Wp*rCa#sm}Myk{fzv(u$iWV zw6*f6h@;q9qT}kx2I7h<&YPO~XDOpT9qm7p31a`;YIM0KW1RV=qy5jq9};w0WXt`& zXM%?dGAsIia7o9Or9x{m=9%|51;x1s(-D@!N{GGg(`)PY(Guiv{>SYy>v-ZweynbS zZE>#%v{{rkhg1I#q8l8|St!2vB zE~22wz10vuWQH1CpUW#<>pj1k5jImOfkEE3&5iY|Q@ikJp)xnQXXBfb*K=NDfO~3O zb~s&3oHn;2J4!{f1+EM+VTr)X%}7s_3Sx9WO}J6SU~XL{R!vFDhl)Z`x_cpX$9Np1)?=r_)_{juCF%^d_J~Eo!w;P^Z^7Zb-tqMg^{oy`Ftv*CfQSx z5pndCL)Ovjs$ZviBMRcx?q#jyOnOQtH1xjrFX|rOn7ps?AeTpZ(^|uH&^{H&*i~9~ zfv?xm-ai-!S=I6Qnv-Pd%xd_?x~~RzB1i6{APxKyhFhC Lq{j(?Lm=xPP8pMo literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContainsExample.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContainsExample.java new file mode 100644 index 0000000000..8630e89bbe --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContainsExample.java @@ -0,0 +1,37 @@ +package com.itmill.toolkit.demo.sampler.features.selects; + +import com.itmill.toolkit.data.Property; +import com.itmill.toolkit.data.Property.ValueChangeEvent; +import com.itmill.toolkit.ui.ComboBox; +import com.itmill.toolkit.ui.VerticalLayout; +import com.itmill.toolkit.ui.AbstractSelect.Filtering; + +public class ComboBoxContainsExample extends VerticalLayout implements + Property.ValueChangeListener { + + private static final String[] cities = new String[] { "Berlin", "Brussels", + "Helsinki", "Madrid", "Oslo", "Paris", "Stockholm" }; + + public ComboBoxContainsExample() { + setSpacing(true); + + ComboBox l = new ComboBox("Please select a city"); + for (int i = 0; i < cities.length; i++) { + l.addItem(cities[i]); + } + + l.setFilteringMode(Filtering.FILTERINGMODE_CONTAINS); + l.setImmediate(true); + l.addListener(this); + + addComponent(l); + } + + /* + * Shows a notification when a selection is made. + */ + public void valueChange(ValueChangeEvent event) { + getWindow().showNotification("Selected city: " + event.getProperty()); + + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.java new file mode 100644 index 0000000000..7d8b60b883 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.java @@ -0,0 +1,35 @@ +package com.itmill.toolkit.demo.sampler.features.selects; + +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.ComboBox; + +public class ComboBoxNewItems extends Feature { + + @Override + public String getDescription() { + return "A drop-down selection component with single item selection." + + " This selection box also allows you to input your own" + + " choice. Your input will also be added to the selection" + + " of available choices."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(ComboBox.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { ComboBoxPlain.class, ComboBoxStartsWith.class, + ComboBoxContains.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.png b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.png new file mode 100644 index 0000000000000000000000000000000000000000..a7950b143dacaf4646eb88a9bca0e88a7b3d12df GIT binary patch literal 1648 zcmb7_eLT|%9LImNp|B~Z)Uvyj#xhbe*L2zBY0+l#m>TlXdhnPrEoVgvg~Fq!Sw(DfD$}hd^D5( zPp#0>^g5l=^O^xV<>T%Q@PwxCH2^t^-;W0XexANMOk2Yn!##ZV1Hfq{05CHE;EP5v z+9Xn!EM;C<;7Wict%*nO4Y=C*4mZl58*2o*RFv{6U5 z7AV5XnY`S$3T2wlbksewV@s_cPs!u)?z2#xPelD-mQul4emUV_Z^u0oPovS8%@8dJ zJZ&WeHfb92^Bm22wb1wx<EmN+{WEmv$n}lZPOUuA9{(a6m@*?(Dzk#3p zq{KFaO#(fa`?728D9J3jv5RkDe0aUL{?)vi#r~MBnZuk#Z2q0`fM{7#Zx=;=@X4vO z7@ZL-Ly$!LV_cm62Lf}uTY#?E^N%)Z!V8G&Ho_ZOmq;XprP1kA15?vM=`FQoqL8oi zB7s0xUFr4~K07luBa_M8{{>RBsYQz9>0OZgww#@wHyV&!Pf=l6^kobTr^IC?e*w>7etL`RS2HU=-KC0aEll8P(9Px>WJ>)1;b zQI{d|papd+mYO!u!s47@cZJV7t6hf$SL(G%*b@L$On?-0FE@rTzCT@;c zJfQ4{I5;^h%>N~+y3sL9)Gx7L@irO3Jw|67Vd}`uwFt-9R3>p#{?)O!L-U5ygpGih zfCW>TL)N79vQnxgb_CwUK!qY6zydoyC?_)3v|=@on{m1BKQ>8#UC@4JE@>}A-my$? z%gQBUVuzdV87{T`l1y{$@Hfi&h^~i!M|8R9iPkt1b`_Zs`eHkVTA&IUuX;yk!p>nT z(nTQL@FAd08a4^gh?dxLD)W|@a<&USXqSa*}VsK%meA$G-y|yPY5y%y!o(B9%vkEj|yXPBN3hvQ=#Ga z8f-E%3fGFqLZy`#rUMcSIJh?K5wdS^kQ>9v?J<4ZKEtdn@GtKUiJKsoF1;dOMs-dM zZk*H8b6Nd#M{w|7R2HjSb~eYr9PU#$HF!AtR)1}NOJ}2Ek9>`B&XHXY9p^Bsh6@Eo zva?8~ch<@1%%xB3j)NyXFQ}8Eu7*JQE(G?<_^KJp_DF<6dAEP&&%Ej~m-AMcAx;qk!+sWT! z{V)BVbyBKB?K@yQ@#X!^lT#5Ut`(|h6{*KJn{56q!f8l~$SDwVKc^@+UyIw6UK{<; z+D!)aOyLJ2HxYaWC(SeJFV<8tGrS&l>bB38s1u!`rGz77*Jj`AZ?^l|9cxr9Jr>55 z;d;r==57a<6;;)lQI9OZ!0CQ&)dMsDXV0AIp8ni7jtkVS089BI*eZ&nW&usCh%HHl zWzbqQIar(oMrzx>1>)POx|ty94eR^?BA2l^c3L}e7OOq>fnC9gMrUvD^!`6s0{S65X2_XOg literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItemsExample.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItemsExample.java new file mode 100644 index 0000000000..2c4e57c25a --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItemsExample.java @@ -0,0 +1,50 @@ +package com.itmill.toolkit.demo.sampler.features.selects; + +import com.itmill.toolkit.data.Property; +import com.itmill.toolkit.data.Property.ValueChangeEvent; +import com.itmill.toolkit.ui.ComboBox; +import com.itmill.toolkit.ui.VerticalLayout; +import com.itmill.toolkit.ui.AbstractSelect.Filtering; + +public class ComboBoxNewItemsExample extends VerticalLayout implements + Property.ValueChangeListener { + + private static final String[] cities = new String[] { "Berlin", "Brussels", + "Helsinki", "Madrid", "Oslo", "Paris", "Stockholm" }; + private ComboBox l; + + public ComboBoxNewItemsExample() { + setSpacing(true); + + l = new ComboBox("Please select a city"); + for (int i = 0; i < cities.length; i++) { + l.addItem(cities[i]); + } + + l.setFilteringMode(Filtering.FILTERINGMODE_OFF); + l.setNewItemsAllowed(true); + l.setImmediate(true); + l.addListener(this); + + addComponent(l); + } + + /* + * Shows a notification when a selection is made. + */ + public void valueChange(ValueChangeEvent event) { + Boolean newItem = true; + String s = event.getProperty().toString(); + + for (int i = 0; i < cities.length; i++) { + if (s == null || s.equals(cities[i])) { + newItem = false; + } + } + if (newItem) { + getWindow().showNotification("Selected an added item: " + s); + } else { + getWindow().showNotification("Selected city: " + s); + } + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxPlain.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxPlain.java index 8bfa0b3ecd..8f993b3595 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxPlain.java +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxPlain.java @@ -20,8 +20,8 @@ public class ComboBoxPlain extends Feature { @Override public Class[] getRelatedFeatures() { - return new Class[] { ListSelectSingle.class, NativeSelection.class, - ListSelectMultiple.class, TwinColumnSelect.class }; + return new Class[] { ComboBoxStartsWith.class, ComboBoxContains.class, + ComboBoxNewItems.class }; } @Override diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxStartsWith.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxStartsWith.java index 25907566c5..d90e549262 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxStartsWith.java +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxStartsWith.java @@ -22,9 +22,8 @@ public class ComboBoxStartsWith extends Feature { @Override public Class[] getRelatedFeatures() { - return new Class[] { ComboBoxPlain.class, ListSelectSingle.class, - NativeSelection.class, ListSelectMultiple.class, - TwinColumnSelect.class }; + return new Class[] { ComboBoxPlain.class, ComboBoxContains.class, + ComboBoxNewItems.class }; } @Override diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectMultiple.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectMultiple.java index d1c345634a..372fcfc119 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectMultiple.java +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectMultiple.java @@ -22,8 +22,8 @@ public class ListSelectMultiple extends Feature { @Override public Class[] getRelatedFeatures() { - return new Class[] { ComboBoxPlain.class, NativeSelection.class, - ListSelectSingle.class, TwinColumnSelect.class }; + return new Class[] { NativeSelection.class, ListSelectSingle.class, + TwinColumnSelect.class }; } @Override diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectSingle.java b/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectSingle.java index cc495d3560..ba149e2549 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectSingle.java +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/ListSelectSingle.java @@ -20,8 +20,8 @@ public class ListSelectSingle extends Feature { @Override public Class[] getRelatedFeatures() { - return new Class[] { ComboBoxPlain.class, NativeSelection.class, - ListSelectMultiple.class, TwinColumnSelect.class }; + return new Class[] { NativeSelection.class, ListSelectMultiple.class, + TwinColumnSelect.class }; } @Override diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/NativeSelection.java b/src/com/itmill/toolkit/demo/sampler/features/selects/NativeSelection.java index 3bcf5253a1..b6b54ef2d1 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/selects/NativeSelection.java +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/NativeSelection.java @@ -19,8 +19,8 @@ public class NativeSelection extends Feature { @Override public Class[] getRelatedFeatures() { - return new Class[] { ComboBoxPlain.class, ListSelectSingle.class, - ListSelectMultiple.class, TwinColumnSelect.class }; + return new Class[] { ListSelectSingle.class, ListSelectMultiple.class, + TwinColumnSelect.class }; } @Override diff --git a/src/com/itmill/toolkit/demo/sampler/features/selects/TwinColumnSelect.java b/src/com/itmill/toolkit/demo/sampler/features/selects/TwinColumnSelect.java index 3410ac64c6..d91ebb297c 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/selects/TwinColumnSelect.java +++ b/src/com/itmill/toolkit/demo/sampler/features/selects/TwinColumnSelect.java @@ -25,8 +25,8 @@ public class TwinColumnSelect extends Feature { @Override public Class[] getRelatedFeatures() { - return new Class[] { ComboBoxPlain.class, NativeSelection.class, - ListSelectMultiple.class, ListSelectSingle.class }; + return new Class[] { NativeSelection.class, ListSelectMultiple.class, + ListSelectSingle.class }; } @Override -- 2.39.5