import java.util.ArrayList; import java.util.List; import org.eclipse.scout.commons.annotations.Order; import org.eclipse.scout.commons.exception.ProcessingException; import org.eclipse.scout.rt.client.ui.form.AbstractForm; import org.eclipse.scout.rt.client.ui.form.AbstractFormHandler; import org.eclipse.scout.rt.client.ui.form.fields.button.AbstractButton; import org.eclipse.scout.rt.client.ui.form.fields.button.AbstractCloseButton; import org.eclipse.scout.rt.client.ui.form.fields.button.AbstractOkButton; import org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox; import org.eclipse.scout.rt.client.ui.form.fields.smartfield.AbstractSmartField; import org.eclipse.scout.rt.client.ui.form.fields.tabbox.AbstractTabBox; import org.eclipse.scout.rt.shared.services.lookup.LookupCall; import org.eclipse.scout.rt.shared.services.lookup.LookupRow; import org.eclipse.scout.rt.test.client.data.AbstractMockLookupCall; import org.eclipse.scout.rt.test.client.form.BrokenSmartFieldsTestForm.MainBox.MyTabBox.LeftBox; public class BrokenSmartFieldsTestForm extends AbstractForm implements ITestForm { public BrokenSmartFieldsTestForm() throws ProcessingException { super(); } @Override public void startTest() throws ProcessingException { startInternal(new TestHandler()); } @Order(10) public class MainBox extends AbstractGroupBox { @Order(10.0) public class MyTabBox extends AbstractTabBox { @Order(10) public class LeftBox extends AbstractGroupBox { @Override protected String getConfiguredLabel() { return getClass().getSimpleName(); } @Order(10) public class LeftSmartField extends AbstractSmartField { @Override protected String getConfiguredLabel() { return getClass().getSimpleName(); } @Override protected Class getConfiguredLookupCall() { return TestValuesLookupCall.class; } } } @Order(20) public class RightBox extends AbstractGroupBox { @Override protected String getConfiguredLabel() { return getClass().getSimpleName(); } @Order(10) public class RightSmartField extends AbstractSmartField { @Override protected String getConfiguredLabel() { return getClass().getSimpleName(); } @Override protected Class getConfiguredLookupCall() { return TestValuesLookupCall.class; } } } } @Order(140) public class DisableButton extends AbstractButton { @Override protected String getConfiguredLabel() { return "Toggle left tab"; } @Override protected void execClickAction() throws ProcessingException { getFieldByClass(LeftBox.class).setVisible(!getFieldByClass(LeftBox.class).isVisible()); } } @Order(150) public class OkButton extends AbstractOkButton { } @Order(160) public class CloseButton extends AbstractCloseButton { } } public class TestHandler extends AbstractFormHandler { } public static class TestValuesLookupCall extends AbstractMockLookupCall { private static final long serialVersionUID = 1L; private final List m_data = new ArrayList(); public TestValuesLookupCall() { m_data.add(new LookupRow(1L, "First value")); m_data.add(new LookupRow(2L, "Second value")); m_data.add(new LookupRow(3L, "Third value")); } @Override protected List execCreateLookupRows() throws ProcessingException { return m_data; } } }