diff options
author | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
commit | 7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch) | |
tree | 0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/src/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java | |
parent | 8941056349e302e687e40e94c13709e75f256d73 (diff) | |
download | vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.tar.gz vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.zip |
Renamed tests -> uitest and tests/testbench -> uitest/src (#9299)
Diffstat (limited to 'uitest/src/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java b/uitest/src/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java new file mode 100644 index 0000000000..b91fd65842 --- /dev/null +++ b/uitest/src/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java @@ -0,0 +1,78 @@ +/* + * Copyright 2011 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.vaadin.tests; + +import java.util.Random; + +import com.vaadin.data.Item; +import com.vaadin.ui.AbstractSelect; +import com.vaadin.ui.CustomComponent; +import com.vaadin.ui.Panel; +import com.vaadin.ui.Select; + +public class UsingCustomNewItemHandlerInSelect extends CustomComponent { + + private final Select select = new Select(); + + public static Random random = new Random(1); + + private static int sequence = 0; + + public UsingCustomNewItemHandlerInSelect() { + + final Panel panel = new Panel("Select demo"); + panel.addComponent(select); + + select.setCaption("Select component"); + select.setImmediate(true); + select.addContainerProperty("CAPTION", String.class, ""); + select.setItemCaptionMode(Select.ITEM_CAPTION_MODE_PROPERTY); + select.setItemCaptionPropertyId("CAPTION"); + select.setNewItemsAllowed(true); + select.setNewItemHandler(new MyNewItemHandler()); + + populateSelect(); + + setCompositionRoot(panel); + } + + public void populateSelect() { + final String[] names = new String[] { "John", "Mary", "Joe", "Sarah", + "Jeff", "Jane", "Peter", "Marc", "Josie", "Linus" }; + for (int j = 0; j < 4; j++) { + Integer id = new Integer(sequence++); + Item item = select.addItem(id); + item.getItemProperty("CAPTION").setValue( + id.toString() + ": " + + names[random.nextInt() % names.length]); + } + } + + public class MyNewItemHandler implements AbstractSelect.NewItemHandler { + @Override + public void addNewItem(String newItemCaption) { + // here could be db insert or other backend operation + Integer id = new Integer(sequence++); + Item item = select.addItem(id); + item.getItemProperty("CAPTION").setValue( + id.toString() + ": " + newItemCaption); + select.setValue(id); + } + + } + +} |