diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/datefield/DateFieldInSubWindow.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/components/datefield/DateFieldInSubWindow.java | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/datefield/DateFieldInSubWindow.java b/uitest/src/com/vaadin/tests/components/datefield/DateFieldInSubWindow.java new file mode 100644 index 0000000000..4cf7b98679 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/datefield/DateFieldInSubWindow.java @@ -0,0 +1,146 @@ +package com.vaadin.tests.components.datefield; + +import java.util.Date; + +import com.vaadin.data.Item; +import com.vaadin.data.util.BeanItem; +import com.vaadin.tests.components.AbstractTestCase; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Component; +import com.vaadin.ui.DateField; +import com.vaadin.ui.DefaultFieldFactory; +import com.vaadin.ui.Field; +import com.vaadin.ui.Form; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.UI.LegacyWindow; +import com.vaadin.ui.VerticalLayout; +import com.vaadin.ui.Window; + +public class DateFieldInSubWindow extends AbstractTestCase { + + @SuppressWarnings("serial") + public class TestCaseWindow extends Window { + + public class MyBean { + private Date myDate; + private String myString; + + public Date getMyDate() { + return myDate; + } + + public void setMyDate(Date myDate) { + this.myDate = myDate; + } + + public String getMyString() { + return myString; + } + + public void setMyString(String myString) { + this.myString = myString; + } + + } + + private MyBean myBean; + + public TestCaseWindow() { + super("Test Case Window"); + setModal(true); + setWidth("400px"); + myBean = new MyBean(); + + initWindow(); + } + + protected class CustomerFieldFactory extends DefaultFieldFactory { + + public static final String COMMON_FIELD_WIDTH = "12em"; + + @Override + public Field<?> createField(Item item, Object propertyId, + Component uiContext) { + Field<?> f = super.createField(item, propertyId, uiContext); + + if ("myDate".equals(propertyId)) { + ((DateField) f).setResolution(DateField.RESOLUTION_MIN); + ((DateField) f).setCaption("This is my date"); + + } + + return f; + } + } + + protected void initWindow() { + VerticalLayout layout = (VerticalLayout) getContent(); + layout.setMargin(true); + layout.setSpacing(true); + + /** + * This causes the window to add the .v-readonly style! + */ + setClosable(false); + + CustomerFieldFactory fieldFactory = new CustomerFieldFactory(); + final Form generalForm = new Form(); + { + generalForm.setCaption("My form"); + generalForm.setBuffered(false); + generalForm.setFormFieldFactory(fieldFactory); + + BeanItem<MyBean> myBeanItem = new BeanItem<MyBean>(myBean); + generalForm.setItemDataSource(myBeanItem); + + generalForm.setVisibleItemProperties(new String[] { "myDate", + "myString" }); + generalForm.setValidationVisible(true); + addComponent(generalForm); + } + + HorizontalLayout buttons = new HorizontalLayout(); + { + buttons.setSpacing(true); + + Button b = new Button("Close", new Button.ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + TestCaseWindow.this.close(); + } + }); + buttons.addComponent(b); + layout.addComponent(buttons); + + } + } + } + + @Override + public void init() { + LegacyWindow mainWindow = new LegacyWindow(); + setMainWindow(mainWindow); + Button open = new Button("Open window", new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + getMainWindow().addWindow(new TestCaseWindow()); + } + }); + + mainWindow.addComponent(open); + } + + @Override + protected String getDescription() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected Integer getTicketNumber() { + return 4582; + } + +} |