]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test case for #3145
authorArtur Signell <artur.signell@itmill.com>
Tue, 1 Sep 2009 11:02:36 +0000 (11:02 +0000)
committerArtur Signell <artur.signell@itmill.com>
Tue, 1 Sep 2009 11:02:36 +0000 (11:02 +0000)
svn changeset:8612/svn branch:6.1

src/com/vaadin/tests/components/textfield/TextFieldRelativeWidth.java [new file with mode: 0644]

diff --git a/src/com/vaadin/tests/components/textfield/TextFieldRelativeWidth.java b/src/com/vaadin/tests/components/textfield/TextFieldRelativeWidth.java
new file mode 100644 (file)
index 0000000..06a6a7a
--- /dev/null
@@ -0,0 +1,129 @@
+package com.vaadin.tests.components.textfield;\r
+\r
+import com.vaadin.data.Item;\r
+import com.vaadin.data.Property;\r
+import com.vaadin.data.util.IndexedContainer;\r
+import com.vaadin.tests.components.TestBase;\r
+import com.vaadin.ui.Button;\r
+import com.vaadin.ui.Component;\r
+import com.vaadin.ui.Table;\r
+import com.vaadin.ui.TextField;\r
+import com.vaadin.ui.Button.ClickEvent;\r
+\r
+public class TextFieldRelativeWidth extends TestBase {\r
+\r
+    @Override\r
+    public void setup() {\r
+        TextField tf = new TextField("test", "testing");\r
+        tf.setWidth("100%");\r
+\r
+        EditTable t = new EditTable();\r
+        t.setButtonCaption("Click to add new Key Research Question");\r
+        t.setInputPrompt("Key Reseach question");\r
+        t.setInputPromptChild("Question details");\r
+        t.addNewRow();\r
+        addComponent(t);\r
+    }\r
+\r
+    public class EditTable extends Table implements Button.ClickListener {\r
+\r
+        private Button addButton = new Button("Add new row",\r
+                (Button.ClickListener) this);\r
+\r
+        private String inputPrompt;\r
+\r
+        private String inputPromptChild;\r
+\r
+        private int nextItemIndex = 1;\r
+\r
+        private static final long serialVersionUID = 3326806911297977454L;\r
+\r
+        public EditTable() {\r
+            setColumnHeaderMode(Table.COLUMN_HEADER_MODE_HIDDEN);\r
+            inputPrompt = "";\r
+            setPageLength(100);\r
+            setHeight("100%");\r
+            setSizeFull();\r
+            addContainerProperty("id", Integer.class, null);\r
+            addContainerProperty("text", Component.class, null);\r
+            addContainerProperty("button", Button.class, null);\r
+            setColumnExpandRatio("text", 1);\r
+            Item i = getItem(addItem());\r
+            i.getItemProperty("text").setValue(addButton);\r
+            setImmediate(true);\r
+            setSelectable(true);\r
+            addListener(new Property.ValueChangeListener() {\r
+                private static final long serialVersionUID = 448896474865195605L;\r
+\r
+                public void valueChange(\r
+                        com.vaadin.data.Property.ValueChangeEvent event) {\r
+                    IndexedContainer idc = (IndexedContainer) getContainerDataSource();\r
+\r
+                }\r
+\r
+            });\r
+        }\r
+\r
+        public void addNewRow() {\r
+            IndexedContainer idc = (IndexedContainer) this\r
+                    .getContainerDataSource();\r
+            int size = idc.size();\r
+            Object itemId = idc.addItemAt(size - 1);\r
+            Item newItem = idc.getItem(itemId);\r
+            TextField tf = new TextField();\r
+            if (inputPrompt != null && inputPrompt.length() > 0) {\r
+                tf.setInputPrompt(inputPrompt);\r
+            }\r
+            tf.setWidth("100%");\r
+\r
+            newItem.getItemProperty("id").setValue(nextItemIndex);\r
+            nextItemIndex++;\r
+            newItem.getItemProperty("text").setValue(tf);\r
+            setValue(itemId);\r
+            itemId = idc.addItemAt(size);\r
+            newItem = idc.getItem(itemId);\r
+\r
+            tf = new TextField();\r
+            if (inputPromptChild != null && inputPromptChild.length() > 0) {\r
+                tf.setInputPrompt(inputPromptChild);\r
+            }\r
+            tf.setRows(1);\r
+            tf.setHeight("45px");\r
+            tf.setWidth("100%");\r
+            tf.addStyleName("childtf");\r
+            newItem.getItemProperty("text").setValue(tf);\r
+\r
+        }\r
+\r
+        public void setButtonCaption(String caption) {\r
+            addButton.setCaption(caption);\r
+        }\r
+\r
+        public void buttonClick(ClickEvent event) {\r
+            Button b = event.getButton();\r
+            if (b == addButton) {\r
+                this.select(getNullSelectionItemId());\r
+                addNewRow();\r
+            }\r
+        }\r
+\r
+        public void setInputPrompt(String string) {\r
+            inputPrompt = string;\r
+        }\r
+\r
+        public void setInputPromptChild(String string) {\r
+            inputPromptChild = string;\r
+        }\r
+\r
+    }\r
+\r
+    @Override\r
+    protected String getDescription() {\r
+        return "The table has 3 columns. The second column is expanded and contains 100% wide textfields. These should fill the available space. The third column is empty.";\r
+    }\r
+\r
+    @Override\r
+    protected Integer getTicketNumber() {\r
+        return 3145;\r
+    }\r
+}\r