summaryrefslogtreecommitdiffstats
path: root/vaadin-app/src/ch/asynk/helloworld/DataMappingLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'vaadin-app/src/ch/asynk/helloworld/DataMappingLayout.java')
-rw-r--r--vaadin-app/src/ch/asynk/helloworld/DataMappingLayout.java170
1 files changed, 0 insertions, 170 deletions
diff --git a/vaadin-app/src/ch/asynk/helloworld/DataMappingLayout.java b/vaadin-app/src/ch/asynk/helloworld/DataMappingLayout.java
deleted file mode 100644
index 42801d8..0000000
--- a/vaadin-app/src/ch/asynk/helloworld/DataMappingLayout.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package ch.asynk.helloworld;
-
-import com.vaadin.terminal.UserError;
-import com.vaadin.data.Property;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.util.ObjectProperty;
-import com.vaadin.data.Validator;
-import com.vaadin.data.validator.DoubleValidator;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.AbstractComponent;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.FormLayout;
-import com.vaadin.ui.Panel;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.TextField;
-
-public class DataMappingLayout extends VerticalLayout {
- //
- private static final long serialVersionUID = 1L;
- //
- private Context ctx = null;
-
- public DataMappingLayout(Context context) {
- ctx = context;
- //
- final AbstractComponent pa = buildPanel();
- pa.setWidth(600,UNITS_PIXELS);
- pa.setHeight(400,UNITS_PIXELS);
- addComponent(pa);
- setComponentAlignment(pa, Alignment.MIDDLE_CENTER);
- //
- }
- //
- private AbstractComponent buildPanel() {
- Panel panel = new Panel("Data Mapping Layout");
- FormLayout layout = new FormLayout();
- panel.setContent(layout);
- //
- final TextField tf1 = new TextField("Property.ValueChangeListener");
- tf1.setImmediate(true);
- layout.addComponent(tf1);
- final Label lb1 = new Label();
- lb1.setCaption("The Value");
- layout.addComponent(lb1);
- tf1.addListener( new Property.ValueChangeListener() {
- private static final long serialVersionUID = 1L;
- @Override
- public void valueChange(ValueChangeEvent event) {
- String value = (String) tf1.getValue();
- lb1.setValue(value);
- }
- });
- //
- Double trouble = 66.6;
- final ObjectProperty<Double> property = new ObjectProperty<Double>(trouble);
- final TextField tf2 = new TextField("ObjectProperty + Validator", property);
- tf2.setImmediate(true);
- tf2.addValidator( new DoubleValidator("It should be a double") );
- //tf2.setValidationVisible(false); // nothing will happen
- layout.addComponent(tf2);
- final Label lb2 = new Label(property);
- lb2.setCaption("The Value");
- layout.addComponent(lb2);
- //
- final TextField tf3 = new TextField("No spaces");
- layout.addComponent(tf3);
- tf3.setComponentError(null); // (actually the default)
- final Button b1 = new Button("Ok!");
- layout.addComponent(b1);
- b1.addListener(new Button.ClickListener() {
- private static final long serialVersionUID = 1L;
- @Override
- public void buttonClick(ClickEvent event) {
- if (! ((String) tf3.getValue()).matches("^\\w*$")) {
- tf3.setComponentError(new UserError("Must be letters and numbers"));
- } else {
- tf3.setComponentError(null);
- }
- }
- });
- //
- // final Validator intValidator = new Validator() { ... }
- class MyIntValidator implements Validator {
- private static final long serialVersionUID = 1L;
- public boolean isValid(Object value) {
- if (value == null || !(value instanceof String)) {
- return false;
- }
- return ((String) value).matches("[1-9][0-9]{4}");
- }
- public void validate(Object value) throws InvalidValueException {
- if (!isValid(value)) {
- if (value != null && value.toString().startsWith("0")) {
- throw new InvalidValueException("Must not start with a zero.");
- } else {
- throw new InvalidValueException("Must be a number 10000-99999.");
- }
- }
- }
- };
- final TextField tf5 = new TextField("MyIntValidator");
- tf5.addValidator(new MyIntValidator());
- tf5.setImmediate(true);
- layout.addComponent(tf5);
- //
- class IntegerObjectProperty implements Property {
- private static final long serialVersionUID = 1L;
- Integer data = 0;
- boolean readOnly = false;
- public Class<?> getType() {
- return Integer.class;
- }
- public Object getValue() {
- return data;
- }
- public boolean isReadOnly() {
- return readOnly;
- }
- public void setReadOnly(boolean newStatus) {
- readOnly = newStatus;
- }
- public void setValue(Object newValue) throws ReadOnlyException, ConversionException {
- if (readOnly)
- throw new ReadOnlyException();
- if (newValue instanceof Integer)
- data = (Integer) newValue;
- else if (newValue instanceof String)
- try {
- data = Integer.parseInt((String) newValue, 16);
- } catch (NumberFormatException e) {
- throw new ConversionException("Must be an integer (from property)");
- }
- else
- throw new ConversionException("Unknown entry type (from property)");
- }
- @Override
- public String toString() {
- return Integer.toHexString(data)+" (hex)";
- }
- };
- final IntegerObjectProperty intProperty = new IntegerObjectProperty();
- intProperty.setValue(666);
- final TextField tf4 = new TextField("MyObjectProperty",intProperty);
- tf4.setImmediate(true);
- tf4.setErrorHandler(new ComponentErrorHandler() {
- private static final long serialVersionUID = 1L;
- @Override
- public boolean handleComponentError(ComponentErrorEvent event) {
- tf4.setComponentError(new UserError("Must be an integer (from handler)"));
- return true;
- }
- });
- layout.addComponent(tf4);
- //
- Button nextButton = new Button("next layout");
- nextButton.setDescription("Go to next layout");
- layout.addComponent(nextButton );
- nextButton.addListener( new Button.ClickListener() {
- private static final long serialVersionUID = 1L;
- @Override
- public void buttonClick(ClickEvent event) {
- getApplication().getMainWindow().setContent( new LayoutLayout(ctx) );
- }
- });
- //
- return panel;
- }
-}