From: Teppo Kurki Date: Thu, 8 Jan 2009 09:22:57 +0000 (+0000) Subject: Added rest of the select components. X-Git-Tag: 6.7.0.beta1~3394 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c21465359417903d0c30d36e1428e8e8e25c909f;p=vaadin-framework.git Added rest of the select components. svn changeset:6446/svn branch:trunk --- 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 0000000000..d803238c9d Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxContains.png differ 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 0000000000..a7950b143d Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/selects/ComboBoxNewItems.png differ 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