package com.itmill.toolkit.tests.tickets;\r
\r
+import java.util.Date;\r
+import java.util.Iterator;\r
+import java.util.Random;\r
+\r
import com.itmill.toolkit.Application;\r
+import com.itmill.toolkit.data.util.BeanItem;\r
+import com.itmill.toolkit.data.validator.StringLengthValidator;\r
import com.itmill.toolkit.terminal.Resource;\r
import com.itmill.toolkit.terminal.ThemeResource;\r
import com.itmill.toolkit.terminal.UserError;\r
import com.itmill.toolkit.ui.Button;\r
import com.itmill.toolkit.ui.ExpandLayout;\r
+import com.itmill.toolkit.ui.Field;\r
+import com.itmill.toolkit.ui.Form;\r
+import com.itmill.toolkit.ui.FormLayout;\r
import com.itmill.toolkit.ui.GridLayout;\r
import com.itmill.toolkit.ui.Layout;\r
import com.itmill.toolkit.ui.OrderedLayout;\r
private Layout orderedLayout;\r
private Layout gridLayout;\r
private Layout expandLayout;\r
+ private Layout formLayout;\r
private GridLayout mainLayout;\r
private Button switchToGridButton;\r
private Button switchToOrderedButton;\r
private Button switchToExpandButton;\r
+ private Button switchToFormsButton;\r
\r
public void init() {\r
Window w = new Window(getClass().getSimpleName());\r
orderedLayout = createOL();\r
gridLayout = createGL();\r
expandLayout = createEL();\r
+ formLayout = createForms();\r
\r
switchToGridButton = new Button("Switch to GridLayout",\r
new ClickListener() {\r
\r
});\r
\r
+ switchToFormsButton = new Button("Switch to Form", new ClickListener() {\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ changeLayout(switchToFormsButton, formLayout);\r
+ }\r
+\r
+ });\r
+\r
OrderedLayout buttonLayout = new OrderedLayout(\r
OrderedLayout.ORIENTATION_HORIZONTAL);\r
buttonLayout.addComponent(switchToOrderedButton);\r
buttonLayout.addComponent(switchToGridButton);\r
buttonLayout.addComponent(switchToExpandButton);\r
+ buttonLayout.addComponent(switchToFormsButton);\r
\r
mainLayout.addComponent(buttonLayout);\r
mainLayout.addComponent(orderedLayout);\r
"1000", "150", "100%", null, true);\r
createLayout(l1,\r
new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL),\r
- "1000", "150", "100", null, false);\r
+ "1000", "150", "50", null, false);\r
GridLayout l2 = new GridLayout(6, 1);\r
createLayout(l2, new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL),\r
"200", "500", true);\r
GridLayout l1 = new GridLayout(1, 3);\r
createLayout(l1, new GridLayout(8, 1), "1000", "150", "100%", null,\r
true);\r
- createLayout(l1, new GridLayout(8, 1), "1000", "150", "100", null,\r
- false);\r
+ createLayout(l1, new GridLayout(8, 1), "1000", "150", "50", null, false);\r
GridLayout l2 = new GridLayout(6, 1);\r
createLayout(l2, new GridLayout(1, 8), "200", "500", true);\r
createLayout(l2, new GridLayout(1, 8), "200", "500", "100%", null, true);\r
return layout;\r
}\r
\r
+ public class FormObject {\r
+ private String stringValue = "abc";\r
+ private int intValue = 1;\r
+ private long longValue = 2L;\r
+ private Date dateValue = new Date(34587034750L);\r
+\r
+ public String getStringValue() {\r
+ return stringValue;\r
+ }\r
+\r
+ public void setStringValue(String stringValue) {\r
+ this.stringValue = stringValue;\r
+ }\r
+\r
+ public int getIntValue() {\r
+ return intValue;\r
+ }\r
+\r
+ public void setIntValue(int intValue) {\r
+ this.intValue = intValue;\r
+ }\r
+\r
+ public long getLongValue() {\r
+ return longValue;\r
+ }\r
+\r
+ public void setLongValue(long longValue) {\r
+ this.longValue = longValue;\r
+ }\r
+\r
+ public Date getDateValue() {\r
+ return dateValue;\r
+ }\r
+\r
+ public void setDateValue(Date dateValue) {\r
+ this.dateValue = dateValue;\r
+ }\r
+\r
+ }\r
+\r
+ private Layout createForms() {\r
+ GridLayout layout = new GridLayout(1, 5);\r
+ Form form;\r
+\r
+ Random r = new Random();\r
+ GridLayout l1 = new GridLayout(1, 3);\r
+ form = createForm(l1, "200", "500");\r
+ BeanItem item = new BeanItem(new FormObject());\r
+ form.setItemDataSource(item);\r
+ for (Iterator i = item.getItemPropertyIds().iterator(); i.hasNext();) {\r
+ Object property = i.next();\r
+ Field f = form.getField(property);\r
+\r
+ f.setRequired(r.nextBoolean());\r
+ if (r.nextBoolean()) {\r
+ f.setIcon(new ThemeResource("icons/16/document-add.png"));\r
+ }\r
+ if (r.nextBoolean()) {\r
+ f.setCaption(null);\r
+ }\r
+\r
+ f.addValidator(new StringLengthValidator("Error", 10, 8, false));\r
+ }\r
+ // createLayout(l1, new\r
+ // ExpandLayout(ExpandLayout.ORIENTATION_HORIZONTAL),\r
+ // "1000", "150", "50", null, false);\r
+\r
+ // GridLayout l2 = new GridLayout(6, 1);\r
+ // createLayout(l2, new ExpandLayout(ExpandLayout.ORIENTATION_VERTICAL),\r
+ // "200", "500", true);\r
+ // createLayout(l2, new ExpandLayout(ExpandLayout.ORIENTATION_VERTICAL),\r
+ // "200", "500", "100%", null, true);\r
+ // createLayout(l2, new ExpandLayout(ExpandLayout.ORIENTATION_VERTICAL),\r
+ // "150", "500", true);\r
+ // createLayout(l2, new ExpandLayout(ExpandLayout.ORIENTATION_VERTICAL),\r
+ // "150", "500", "100%", null, true);\r
+ // createLayout(l2, new ExpandLayout(ExpandLayout.ORIENTATION_VERTICAL),\r
+ // "100", "500", true);\r
+ // createLayout(l2, new ExpandLayout(ExpandLayout.ORIENTATION_VERTICAL),\r
+ // "100", "500", "100%", null, true);\r
+ layout.addComponent(l1);\r
+ // layout.addComponent(l2);\r
+\r
+ return layout;\r
+ }\r
+\r
+ private Form createForm(GridLayout parentLayout, String w, String h) {\r
+ FormLayout formLayout = new FormLayout();\r
+ Form form = new Form(formLayout);\r
+\r
+ Panel p = new Panel("Form " + w + "x" + h);\r
+\r
+ p.setWidth(w);\r
+ p.setHeight(h);\r
+\r
+ p.getLayout().setSizeFull();\r
+\r
+ parentLayout.addComponent(p);\r
+ p.addComponent(form);\r
+ formLayout.setSizeFull();\r
+\r
+ return form;\r
+ }\r
+\r
protected void changeLayout(Button b, Layout newLayout) {\r
switchToOrderedButton.setEnabled(true);\r
switchToGridButton.setEnabled(true);\r
switchToExpandButton.setEnabled(true);\r
+ switchToFormsButton.setEnabled(true);\r
\r
b.setEnabled(false);\r
java.util.Iterator i = mainLayout.getComponentIterator();\r
\r
if (align) {\r
((AlignmentHandler) newLayout).setComponentAlignment(\r
- tf, OrderedLayout.ALIGNMENT_LEFT,\r
+ tf, OrderedLayout.ALIGNMENT_RIGHT,\r
OrderedLayout.ALIGNMENT_BOTTOM);\r
}\r
}\r