Example usage for com.vaadin.ui AbstractTextField setMaxLength

List of usage examples for com.vaadin.ui AbstractTextField setMaxLength

Introduction

In this page you can find the example usage for com.vaadin.ui AbstractTextField setMaxLength.

Prototype

public void setMaxLength(int maxLength) 

Source Link

Document

Sets the maximum number of characters in the field.

Usage

From source file:at.peppol.webgui.app.components.TabInvoiceLine.java

License:Mozilla Public License

private void initElements() {
    invoiceLineList = parent.getInvoice().getInvoiceLine();

    final GridLayout grid = new GridLayout(4, 4);
    final VerticalLayout outerLayout = new VerticalLayout();
    hiddenContent = new VerticalLayout();
    hiddenContent.setSpacing(true);/* w w w  . ja  v a 2  s. co  m*/
    hiddenContent.setMargin(true);

    table = new InvoiceLineTable(parent.getInvoice().getInvoiceLine());
    table.setSelectable(true);
    table.setImmediate(true);
    table.setNullSelectionAllowed(false);
    table.setHeight(150, UNITS_PIXELS);
    table.setFooterVisible(false);
    table.addStyleName("striped strong");

    //table.addListener(parent.new LinesTotalAmountListener());
    //table.addListener(parent.new TaxExclusiveAmountListener());

    final VerticalLayout tableContainer = new VerticalLayout();
    tableContainer.addComponent(table);
    tableContainer.setMargin(false, true, false, false);

    // buttons Add, Edit, Delete
    final Button addBtn = new Button("Add new");
    final Button editBtn = new Button("Edit selected");
    final Button deleteBtn = new Button("Delete Selected");

    addBtn.addListener(new Button.ClickListener() {
        @Override
        public void buttonClick(final Button.ClickEvent event) {
            addBtn.setEnabled(false);
            editBtn.setEnabled(false);
            deleteBtn.setEnabled(false);
            //addMode = true;
            hiddenContent.removeAllComponents();
            invoiceLineItem = createInvoiceLineItem();

            final Label formLabel = new Label("<h3>Adding new invoice line</h3>", Label.CONTENT_XHTML);

            hiddenContent.addComponent(formLabel);
            final Form form = createInvoiceLineMainForm();
            hiddenContent.addComponent(form);

            HorizontalLayout h1 = new HorizontalLayout();
            h1.setSpacing(true);
            h1.setMargin(true);

            // Set invoiceLine 0..N cardinality panels
            //final Panel itemPropertyPanel = new ItemPropertyForm ("Additional",
            //                                                      invoiceLineItem.getInvLineAdditionalItemPropertyList ());
            final ItemPropertyForm itemPropertyPanel = new ItemPropertyForm("Additional",
                    invoiceLineItem.getInvLineAdditionalItemPropertyList());
            h1.addComponent(itemPropertyPanel);

            //add the allowance/charge indicator 0..N cardinality
            final InvoiceLineAllowanceChargeForm lineAllowanceChargePanel = new InvoiceLineAllowanceChargeForm(
                    "", invoiceLineItem.getAllowanceCharge(), parent.getInvoice());

            //add the listeners for line extension amount calculation
            BIIRULE_T10_R018 biirule_t10_r018 = new BIIRULE_T10_R018(invoiceLineItem, form);
            form.getField("Price Amount").addListener(biirule_t10_r018);
            form.getField("Base Quantity").addListener(biirule_t10_r018);
            form.getField("Invoiced Quantity").addListener(biirule_t10_r018);
            lineAllowanceChargePanel.getTable().addListener((ItemSetChangeListener) biirule_t10_r018);

            //add the listeners for VAT AE tax total amount
            EUGEN_T10_R018 eugen_t10_r018 = new EUGEN_T10_R018(form, "Tax Scheme ID", "Tax Category ID",
                    "Tax Total Amount");
            form.getField("Tax Scheme ID").addListener(eugen_t10_r018);
            form.getField("Tax Category ID").addListener(eugen_t10_r018);

            h1.addComponent(lineAllowanceChargePanel);

            HorizontalLayout h2 = new HorizontalLayout();
            h2.setSpacing(true);
            h2.setMargin(true);

            final Panel lineOrderPanel = new InvoiceLineOrderForm("", invoiceLineItem.getInvLineOrderList());

            h2.addComponent(lineOrderPanel);

            final Panel lineCommodityPanel = new InvoiceLineCommodityClassificationForm("",
                    invoiceLineItem.getInvLineCommodityClassificationList());

            h2.addComponent(lineCommodityPanel);

            hiddenContent.addComponent(h1);
            hiddenContent.addComponent(h2);

            // Save new line button
            final HorizontalLayout buttonLayout = new HorizontalLayout();
            buttonLayout.setSpacing(true);
            buttonLayout.addComponent(new Button("Save invoice line", new Button.ClickListener() {
                @Override
                public void buttonClick(final ClickEvent event) {
                    AbstractTextField itemName = (AbstractTextField) form.getField("Item Name");
                    itemName.setMaxLength(50);

                    if (itemName.getValue().toString().length() > 50) {
                        //itemName.setComponentError(new UserError("Item Name should not be more than 50 characters"));
                        itemName.setValue(itemName.getValue().toString().substring(0, 49));
                        getWindow().showNotification("Item Name truncated to 50 chars",
                                Notification.TYPE_TRAY_NOTIFICATION);
                    }

                    try {
                        /*Collection<String> props = (Collection<String>) form.getItemPropertyIds();
                        List<Field> fields = new ArrayList<Field>();
                        for (String property : props) {
                           fields.add(form.getField(property));
                        }
                        List<BlurListener> listeners = new ArrayList<BlurListener>();
                        for (Field f : fields) {
                           if (f instanceof AbstractTextField) {
                              AbstractTextField ff = (AbstractTextField)f;
                              listeners.addAll((Collection<BlurListener>) ff.getListeners(BlurEvent.class));
                           }
                        }
                        ValidatorsList.validateListenersNotify(listeners);
                        form.validate();*/
                        Utils.validateFormFields(form);
                        //form.commit();
                        // update table (and consequently add new item to invoiceList list)
                        table.addLine(invoiceLineItem);
                        //hide form
                        hiddenContent.setVisible(false);
                        //addMode = false;
                        addBtn.setEnabled(true);
                        editBtn.setEnabled(true);
                        deleteBtn.setEnabled(true);
                        //itemName.setComponentError(null);
                    } catch (InvalidValueException e) {
                        getWindow().showNotification("Invoice line has errors",
                                Notification.TYPE_TRAY_NOTIFICATION);
                    }

                }
            }));
            buttonLayout.addComponent(new Button("Cancel", new Button.ClickListener() {
                @Override
                public void buttonClick(final ClickEvent event) {
                    addBtn.setEnabled(true);
                    editBtn.setEnabled(true);
                    deleteBtn.setEnabled(true);
                    hiddenContent.removeAllComponents();
                    // hide form
                    hiddenContent.setVisible(false);
                    addMode = false;
                }
            }));

            hiddenContent.addComponent(buttonLayout);

            // hiddenContent.setVisible(!hiddenContent.isVisible());
            hiddenContent.setVisible(true);
        }
    });

    editBtn.addListener(new Button.ClickListener() {
        @Override
        public void buttonClick(final Button.ClickEvent event) {
            final Object rowId = table.getValue(); // get the selected rows id
            if (rowId != null) {
                addBtn.setEnabled(true);
                editBtn.setEnabled(true);
                deleteBtn.setEnabled(true);

                final String sid = (String) table.getContainerProperty(rowId, "ID.value").getValue();
                // TODO: PUT THIS IN FUNCTION BEGINS
                editMode = true;
                hiddenContent.removeAllComponents();

                // get selected item
                invoiceLineItem = (InvoiceLineAdapter) invoiceLineList.get(table.getIndexFromID(sid));
                // clone it to original item
                originalItem = new InvoiceLineAdapter();
                cloneInvoiceLineItem(invoiceLineItem, originalItem);

                final Label formLabel = new Label("<h3>Editing invoice line</h3>", Label.CONTENT_XHTML);

                hiddenContent.addComponent(formLabel);
                final Form form = createInvoiceLineMainForm();
                hiddenContent.addComponent(form);

                HorizontalLayout h1 = new HorizontalLayout();
                h1.setSpacing(true);
                h1.setMargin(true);
                // Set invoiceLine 0..N cardinality panels
                final ItemPropertyForm itemPropertyPanel = new ItemPropertyForm("Additional",
                        invoiceLineItem.getInvLineAdditionalItemPropertyList());
                h1.addComponent(itemPropertyPanel);

                //add the allowance/charge indicator 0..N cardinality
                final InvoiceLineAllowanceChargeForm lineAllowanceChargePanel = new InvoiceLineAllowanceChargeForm(
                        "", invoiceLineItem.getAllowanceCharge(), parent.getInvoice());

                //add the listeners for line extension amount calculation
                BIIRULE_T10_R018 biirule_t10_r018 = new BIIRULE_T10_R018(invoiceLineItem, form);
                form.getField("Price Amount").addListener(biirule_t10_r018);
                form.getField("Base Quantity").addListener(biirule_t10_r018);
                lineAllowanceChargePanel.getTable().addListener((ItemSetChangeListener) biirule_t10_r018);

                //add the listeners for VAT AE tax total amount
                EUGEN_T10_R018 eugen_t10_r018 = new EUGEN_T10_R018(form, "Tax Scheme ID", "Tax Category ID",
                        "Tax Total Amount");
                form.getField("Tax Scheme ID").addListener(eugen_t10_r018);
                form.getField("Tax Category ID").addListener(eugen_t10_r018);

                h1.addComponent(lineAllowanceChargePanel);

                HorizontalLayout h2 = new HorizontalLayout();
                h2.setSpacing(true);
                h2.setMargin(true);

                final Panel lineOrderPanel = new InvoiceLineOrderForm("",
                        invoiceLineItem.getInvLineOrderList());
                h2.addComponent(lineOrderPanel);

                final Panel lineCommodityPanel = new InvoiceLineCommodityClassificationForm("",
                        invoiceLineItem.getInvLineCommodityClassificationList());
                h2.addComponent(lineCommodityPanel);

                hiddenContent.addComponent(h1);
                hiddenContent.addComponent(h2);

                /*// Set invoiceLine 0..N cardinalily panels
                final Panel itemPropertyPanel = new ItemPropertyForm ("Additional",
                                                        invoiceLineItem.getInvLineAdditionalItemPropertyList ());
                hiddenContent.addComponent (itemPropertyPanel);*/

                // Save new line button
                final HorizontalLayout buttonLayout = new HorizontalLayout();
                buttonLayout.setSpacing(true);
                buttonLayout.addComponent(new Button("Save changes", new Button.ClickListener() {
                    @Override
                    public void buttonClick(final ClickEvent event) {
                        // update table (and consequently edit item to allowanceChargeList
                        // list)
                        AbstractTextField itemName = (AbstractTextField) form.getField("Item Name");
                        itemName.setMaxLength(50);

                        if (itemName.getValue().toString().length() > 50) {
                            //itemName.setComponentError(new UserError("Item Name should not be more than 50 characters"));
                            itemName.setValue(itemName.getValue().toString().substring(0, 49));
                            getWindow().showNotification("Item Name truncated to 50 chars",
                                    Notification.TYPE_TRAY_NOTIFICATION);
                        }

                        try {
                            /*Collection<String> props = (Collection<String>) form.getItemPropertyIds();
                            List<Field> fields = new ArrayList<Field>();
                            for (String property : props) {
                               fields.add(form.getField(property));
                            }
                            List<BlurListener> listeners = new ArrayList<BlurListener>();
                            for (Field f : fields) {
                               if (f instanceof AbstractTextField) {
                                  AbstractTextField ff = (AbstractTextField)f;
                                  listeners.addAll((Collection<BlurListener>) ff.getListeners(BlurEvent.class));
                               }
                            }
                            ValidatorsList.validateListenersNotify(listeners);
                            form.validate();*/
                            Utils.validateFormFields(form);
                            //table.setInvoiceLine (sid, invoiceLineItem);
                            table.setLine(sid, invoiceLineItem);
                            addBtn.setEnabled(true);
                            editBtn.setEnabled(true);
                            deleteBtn.setEnabled(true);
                            //    hide form
                            hiddenContent.setVisible(false);
                            editMode = false;
                        } catch (InvalidValueException e) {
                            getWindow().showNotification("Invoice line has errors",
                                    Notification.TYPE_TRAY_NOTIFICATION);
                        }
                    }
                }));
                buttonLayout.addComponent(new Button("Cancel editing", new Button.ClickListener() {
                    @Override
                    public void buttonClick(final ClickEvent event) {
                        hiddenContent.removeAllComponents();
                        addBtn.setEnabled(true);
                        editBtn.setEnabled(true);
                        deleteBtn.setEnabled(true);
                        //table.setInvoiceLine (sid, originalItem);
                        table.setLine(sid, originalItem);
                        // hide form
                        hiddenContent.setVisible(false);
                        editMode = false;
                    }
                }));

                hiddenContent.addComponent(buttonLayout);

                // hiddenContent.setVisible(!hiddenContent.isVisible());
                hiddenContent.setVisible(true);
                // TODO: PUT THIS IN FUNCTION ENDS
            } else {
                parent.getWindow().showNotification("Info", "No table line is selected",
                        Window.Notification.TYPE_HUMANIZED_MESSAGE);
            }

        }
    });

    deleteBtn.addListener(new Button.ClickListener() {
        @Override
        public void buttonClick(final Button.ClickEvent event) {
            final Object rowId = table.getValue(); // get the selected rows id
            if (rowId != null) {
                if (table.getContainerProperty(rowId, "ID.value").getValue() != null) {
                    final String sid = (String) table.getContainerProperty(rowId, "ID.value").getValue();
                    //table.removeInvoiceLine (sid);
                    table.removeLine(sid);
                }
            } else {
                parent.getWindow().showNotification("Info", "No table line is selected",
                        Window.Notification.TYPE_HUMANIZED_MESSAGE);

            }
        }
    });

    final VerticalLayout buttonsContainer = new VerticalLayout();
    buttonsContainer.setSpacing(true);
    buttonsContainer.addComponent(addBtn);
    buttonsContainer.addComponent(editBtn);
    buttonsContainer.addComponent(deleteBtn);

    final Panel outerPanel = new Panel("Invoice Line");

    grid.addComponent(tableContainer, 0, 0);
    grid.addComponent(buttonsContainer, 1, 0);

    outerPanel.addComponent(grid);
    outerLayout.addComponent(outerPanel);

    // ---- HIDDEN FORM BEGINS -----
    final VerticalLayout formLayout = new VerticalLayout();
    formLayout.addComponent(hiddenContent);
    hiddenContent.setVisible(false);
    outerLayout.addComponent(formLayout);
    // ---- HIDDEN FORM ENDS -----

    setLayout(outerLayout);
    grid.setSizeUndefined();
    outerPanel.requestRepaintAll();
}

From source file:com.expressui.core.view.field.FormField.java

License:Open Source License

private void initWidthAndMaxLengthDefaults(AbstractTextField abstractTextField) {
    Integer defaultTextWidth = MainApplication.getInstance().applicationProperties.getDefaultTextFieldWidth();
    defaultWidth = MathUtil.maxIgnoreNull(defaultTextWidth, getBeanPropertyType().getMinimumLength());
    abstractTextField.setWidth(defaultWidth, Sizeable.UNITS_EM);

    Integer maxWidth = getBeanPropertyType().getMaximumLength();
    if (maxWidth != null) {
        abstractTextField.setMaxLength(maxWidth);
    }//from w ww  .  jav  a 2s.c o m
}

From source file:com.purebred.core.view.field.FormField.java

License:Open Source License

private void initWidthAndMaxLengthDefaults(AbstractTextField abstractTextField) {
    defaultWidth = MathUtil.maxIgnoreNull(DEFAULT_TEXT_FIELD_WIDTH, getBeanPropertyType().getMinimumLength());
    abstractTextField.setWidth(defaultWidth, Sizeable.UNITS_EM);

    Integer maxWidth = getBeanPropertyType().getMaximumLength();
    if (maxWidth != null) {
        abstractTextField.setMaxLength(maxWidth);
    }/*from   w  ww  .  j  a va2s. co m*/
}

From source file:de.escidoc.admintool.view.user.password.PasswordViewImpl.java

License:Open Source License

private void configure(final AbstractTextField passwordField) {
    passwordField.setWidth(ViewConstants.PASSWORD_FIELD_WIDTH, UNITS_PIXELS);
    passwordField.setImmediate(true);// w  w  w . ja  v a  2s  . com
    passwordField.setMaxLength(MAX_PASSWORD_LENGTH);
}

From source file:nz.co.senanque.vaadinsupport.HintsImpl.java

License:Apache License

public AbstractField getTextField(MaduraPropertyWrapper property) {
    AbstractTextField ret = null;
    if (property.isSecret()) {
        ret = new PasswordField();
    } else {// www .j  ava  2  s .  c o m
        ret = new TextField();
        //           int maxLength = property.getMaxLength();
        //           if (maxLength > 100) {
        //              ret = new TextArea();
        //           } else {
        //              ret = new TextField();
        //           }
    }
    ret.setMaxLength(property.getMaxLength());
    return ret;
}

From source file:nz.co.senanque.workflowui.WorkflowUIHints.java

License:Apache License

public AbstractField<?> getTextField(MaduraPropertyWrapper property) {
    AbstractTextField ret = null;
    if (property.isSecret()) {
        ret = new PasswordField();
    } else {/* w  w w .jav a  2 s.co m*/
        if ("comment".equals(property.getName())) {
            TextArea textArea = new TextArea();
            textArea.setRows(5);
            textArea.setWordwrap(true);
            textArea.setWidth("400px");
            ret = textArea;
        } else {
            ret = new TextField();
        }
    }
    ret.setMaxLength(property.getMaxLength());
    if (property.getValue() == null) {
        property.setValue("");
    }
    return ret;
}

From source file:org.abstractform.vaadin.VaadinFormToolkit.java

License:Apache License

protected AbstractComponent internalBuildField(Field field, Map<String, Object> extraObjects) {
    AbstractComponent ret = null;/*  w  w w .ja  va  2 s  . c  o  m*/
    if (field.getType().equals(Field.TYPE_BOOL)) {
        CheckBox cb = new CheckBox(field.getName());
        cb.setImmediate(true);
        ret = cb;
    } else if (field.getType().equals(Field.TYPE_DATETIME)) {
        DateField dt = new DateField(field.getName());
        dt.setResolution(DateField.RESOLUTION_DAY);
        dt.setDescription(field.getDescription());
        dt.setRequired(field.isRequired());
        dt.setImmediate(true);
        dt.setReadOnly(field.isReadOnly());
        ret = dt;
    } else if (field.getType().equals(Field.TYPE_TEXT) || field.getType().equals(Field.TYPE_NUMERIC)
            || field.getType().equals(Field.TYPE_PASSWORD)) {
        AbstractTextField textField;
        if (field.getType().equals(Field.TYPE_PASSWORD)) {
            textField = new PasswordField(field.getName());
        } else {
            textField = new TextField(field.getName());
        }
        //textField.setColumns(field.getDisplayWidth());
        if (field.getMaxLength() != 0) {
            textField.setMaxLength(field.getMaxLength());
        }
        textField.setDescription(field.getDescription());
        textField.setReadOnly(field.isReadOnly());
        textField.setNullRepresentation("".intern());
        textField.setNullSettingAllowed(true);
        textField.setRequired(field.isRequired());
        textField.setImmediate(true);
        textField.setWidth("100%");
        ret = textField;
    } else if (field.getType().equals(SelectorConstants.TYPE_SELECTOR)) {
        ComboBox comboBox = new ComboBox(field.getName());
        comboBox.setTextInputAllowed(false);
        comboBox.setNullSelectionAllowed(!field.isRequired());
        comboBox.setDescription(field.getDescription());
        comboBox.setReadOnly(field.isReadOnly());
        comboBox.setRequired(field.isRequired());
        comboBox.setImmediate(true);
        comboBox.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_PROPERTY);
        comboBox.setItemCaptionPropertyId(VaadinSelectorContainer.PROPERTY_CAPTION);
        comboBox.setWidth("100%");
        ret = comboBox;
    } else if (field.getType().equals(TableConstants.TYPE_TABLE)) {
        ret = buildTableField(field, extraObjects);
    }
    return ret;
}