Example usage for com.vaadin.ui Alignment BOTTOM_LEFT

List of usage examples for com.vaadin.ui Alignment BOTTOM_LEFT

Introduction

In this page you can find the example usage for com.vaadin.ui Alignment BOTTOM_LEFT.

Prototype

Alignment BOTTOM_LEFT

To view the source code for com.vaadin.ui Alignment BOTTOM_LEFT.

Click Source Link

Usage

From source file:fi.semantum.strategia.Utils.java

License:Open Source License

public static void manage(final Main main) {

    final Database database = main.getDatabase();

    VerticalLayout content = new VerticalLayout();
    content.setSizeFull();//ww w .  j a  v a  2s.  c  om
    content.setSpacing(true);

    HorizontalLayout hl1 = new HorizontalLayout();
    hl1.setSpacing(true);
    hl1.setWidth("100%");

    final ComboBox users = new ComboBox();
    users.setWidth("100%");
    users.setNullSelectionAllowed(false);
    users.addStyleName(ValoTheme.COMBOBOX_SMALL);
    users.setCaption("Valitse kyttj:");

    final Map<String, Account> accountMap = new HashMap<String, Account>();
    makeAccountCombo(main, accountMap, users);

    for (Account a : Account.enumerate(database)) {
        accountMap.put(a.getId(database), a);
        users.addItem(a.getId(database));
        users.select(a.getId(database));
    }

    final Table table = new Table();
    table.setSelectable(true);
    table.setMultiSelect(true);
    table.addStyleName(ValoTheme.TABLE_SMALL);
    table.addStyleName(ValoTheme.TABLE_SMALL);
    table.addStyleName(ValoTheme.TABLE_COMPACT);

    users.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 5036991262418844060L;

        @Override
        public void valueChange(ValueChangeEvent event) {
            users.removeValueChangeListener(this);
            makeAccountCombo(main, accountMap, users);
            makeAccountTable(database, users, accountMap, table);
            users.addValueChangeListener(this);
        }

    });

    final TextField tf = new TextField();

    Validator nameValidator = new Validator() {

        private static final long serialVersionUID = -4779239111120669168L;

        @Override
        public void validate(Object value) throws InvalidValueException {
            String s = (String) value;
            if (s.isEmpty())
                throw new InvalidValueException("Nimi ei saa olla tyhj");
            if (accountMap.containsKey(s))
                throw new InvalidValueException("Nimi on jo kytss");
        }

    };

    final Button save = new Button("Luo", new Button.ClickListener() {

        private static final long serialVersionUID = -6053708137324681886L;

        public void buttonClick(ClickEvent event) {

            if (!tf.isValid())
                return;

            String pass = Long.toString(Math.abs(UUID.randomUUID().getLeastSignificantBits()), 36);
            Account.create(database, tf.getValue(), "", Utils.hash(pass));

            Updates.update(main, true);

            makeAccountCombo(main, accountMap, users);
            makeAccountTable(database, users, accountMap, table);

            Dialogs.infoDialog(main, "Uusi kyttj '" + tf.getValue() + "' luotu",
                    "Kyttjn salasana on " + pass + "", null);

        }

    });
    save.addStyleName(ValoTheme.BUTTON_SMALL);

    final Button remove = new Button("Poista", new Button.ClickListener() {

        private static final long serialVersionUID = -5359199320445328801L;

        public void buttonClick(ClickEvent event) {

            Object selection = users.getValue();
            Account state = accountMap.get(selection);

            // System cannot be removed
            if ("System".equals(state.getId(database)))
                return;

            state.remove(database);

            Updates.update(main, true);

            makeAccountCombo(main, accountMap, users);
            makeAccountTable(database, users, accountMap, table);

        }

    });
    remove.addStyleName(ValoTheme.BUTTON_SMALL);

    tf.setWidth("100%");
    tf.addStyleName(ValoTheme.TEXTFIELD_SMALL);
    tf.setCaption("Luo uusi kyttj nimell:");
    tf.setValue(findFreshUserName(nameValidator));
    tf.setCursorPosition(tf.getValue().length());
    tf.setValidationVisible(true);
    tf.setInvalidCommitted(true);
    tf.setImmediate(true);
    tf.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = -8274588731607481635L;

        @Override
        public void textChange(TextChangeEvent event) {
            tf.setValue(event.getText());
            try {
                tf.validate();
            } catch (InvalidValueException e) {
                save.setEnabled(false);
                return;
            }
            save.setEnabled(true);
        }

    });
    tf.addValidator(nameValidator);
    if (!tf.isValid())
        save.setEnabled(false);

    hl1.addComponent(users);
    hl1.setExpandRatio(users, 1.0f);
    hl1.setComponentAlignment(users, Alignment.BOTTOM_CENTER);

    hl1.addComponent(tf);
    hl1.setExpandRatio(tf, 1.0f);
    hl1.setComponentAlignment(tf, Alignment.BOTTOM_CENTER);

    hl1.addComponent(save);
    hl1.setExpandRatio(save, 0.0f);
    hl1.setComponentAlignment(save, Alignment.BOTTOM_CENTER);

    hl1.addComponent(remove);
    hl1.setExpandRatio(remove, 0.0f);
    hl1.setComponentAlignment(remove, Alignment.BOTTOM_CENTER);

    content.addComponent(hl1);
    content.setExpandRatio(hl1, 0.0f);

    table.addContainerProperty("Kartta", String.class, null);
    table.addContainerProperty("Oikeus", String.class, null);
    table.addContainerProperty("Laajuus", String.class, null);

    table.setWidth("100%");
    table.setHeight("100%");
    table.setNullSelectionAllowed(true);
    table.setMultiSelect(true);
    table.setCaption("Kyttjn oikeudet");

    makeAccountTable(database, users, accountMap, table);

    content.addComponent(table);
    content.setExpandRatio(table, 1.0f);

    final Button removeRights = new Button("Poista valitut rivit", new Button.ClickListener() {

        private static final long serialVersionUID = 4699670345358079045L;

        public void buttonClick(ClickEvent event) {

            Object user = users.getValue();
            Account state = accountMap.get(user);

            Object selection = table.getValue();
            Collection<?> sel = (Collection<?>) selection;

            List<Right> toRemove = new ArrayList<Right>();

            for (Object s : sel) {
                Integer index = (Integer) s;
                toRemove.add(state.rights.get(index - 1));
            }

            for (Right r : toRemove)
                state.rights.remove(r);

            Updates.update(main, true);

            makeAccountTable(database, users, accountMap, table);

        }

    });
    removeRights.addStyleName(ValoTheme.BUTTON_SMALL);

    table.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 1188285609779556446L;

        @Override
        public void valueChange(ValueChangeEvent event) {

            Object selection = table.getValue();
            Collection<?> sel = (Collection<?>) selection;
            if (sel.isEmpty())
                removeRights.setEnabled(false);
            else
                removeRights.setEnabled(true);

        }

    });

    final ComboBox mapSelect = new ComboBox();
    mapSelect.setWidth("100%");
    mapSelect.setNullSelectionAllowed(false);
    mapSelect.addStyleName(ValoTheme.COMBOBOX_SMALL);
    mapSelect.setCaption("Valitse kartta:");
    for (Strategiakartta a : Strategiakartta.enumerate(database)) {
        mapSelect.addItem(a.uuid);
        mapSelect.setItemCaption(a.uuid, a.getText(database));
        mapSelect.select(a.uuid);
    }

    final ComboBox rightSelect = new ComboBox();
    rightSelect.setWidth("100px");
    rightSelect.setNullSelectionAllowed(false);
    rightSelect.addStyleName(ValoTheme.COMBOBOX_SMALL);
    rightSelect.setCaption("Valitse oikeus:");
    rightSelect.addItem("Muokkaus");
    rightSelect.addItem("Luku");
    rightSelect.select("Luku");

    final ComboBox propagateSelect = new ComboBox();
    propagateSelect.setWidth("130px");
    propagateSelect.setNullSelectionAllowed(false);
    propagateSelect.addStyleName(ValoTheme.COMBOBOX_SMALL);
    propagateSelect.setCaption("Valitse laajuus:");
    propagateSelect.addItem(VALITTU_KARTTA);
    propagateSelect.addItem(ALATASON_KARTAT);
    propagateSelect.select(VALITTU_KARTTA);

    final Button addRight = new Button("Lis rivi", new Button.ClickListener() {

        private static final long serialVersionUID = -4841787792917761055L;

        public void buttonClick(ClickEvent event) {

            Object user = users.getValue();
            Account state = accountMap.get(user);

            String mapUUID = (String) mapSelect.getValue();
            Strategiakartta map = database.find(mapUUID);
            String right = (String) rightSelect.getValue();
            String propagate = (String) propagateSelect.getValue();

            Right r = new Right(map, right.equals("Muokkaus"), propagate.equals(ALATASON_KARTAT));
            state.rights.add(r);

            Updates.update(main, true);

            makeAccountTable(database, users, accountMap, table);

        }

    });
    addRight.addStyleName(ValoTheme.BUTTON_SMALL);

    table.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 6439090862804667322L;

        @Override
        public void valueChange(ValueChangeEvent event) {

            Object selection = table.getValue();
            Collection<?> selected = (Collection<?>) selection;
            if (!selected.isEmpty()) {
                removeRights.setEnabled(true);
            } else {
                removeRights.setEnabled(false);
            }

        }

    });

    HorizontalLayout hl2 = new HorizontalLayout();
    hl2.setSpacing(true);
    hl2.setWidth("100%");

    hl2.addComponent(removeRights);
    hl2.setComponentAlignment(removeRights, Alignment.TOP_LEFT);
    hl2.setExpandRatio(removeRights, 0.0f);

    hl2.addComponent(addRight);
    hl2.setComponentAlignment(addRight, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(addRight, 0.0f);

    hl2.addComponent(mapSelect);
    hl2.setComponentAlignment(mapSelect, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(mapSelect, 1.0f);

    hl2.addComponent(rightSelect);
    hl2.setComponentAlignment(rightSelect, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(rightSelect, 0.0f);

    hl2.addComponent(propagateSelect);
    hl2.setComponentAlignment(propagateSelect, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(propagateSelect, 0.0f);

    content.addComponent(hl2);
    content.setComponentAlignment(hl2, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(hl2, 0.0f);

    final VerticalLayout vl = new VerticalLayout();

    final Panel p = new Panel();
    p.setWidth("100%");
    p.setHeight("200px");
    p.setContent(vl);

    final TimeConfiguration tc = TimeConfiguration.getInstance(database);

    final TextField tf2 = new TextField();
    tf2.setWidth("200px");
    tf2.addStyleName(ValoTheme.TEXTFIELD_SMALL);
    tf2.setCaption("Strategiakartan mritysaika:");
    tf2.setValue(tc.getRange());
    tf2.setCursorPosition(tf.getValue().length());
    tf2.setValidationVisible(true);
    tf2.setInvalidCommitted(true);
    tf2.setImmediate(true);
    tf2.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = -8274588731607481635L;

        @Override
        public void textChange(TextChangeEvent event) {
            tf2.setValue(event.getText());
            try {
                tf2.validate();
                tc.setRange(event.getText());
                updateYears(database, vl);
                Updates.update(main, true);
            } catch (InvalidValueException e) {
                return;
            }
        }

    });
    tf2.addValidator(new Validator() {

        private static final long serialVersionUID = -4779239111120669168L;

        @Override
        public void validate(Object value) throws InvalidValueException {
            String s = (String) value;
            TimeInterval ti = TimeInterval.parse(s);
            long start = ti.startYear;
            long end = ti.endYear;
            if (start < 2015)
                throw new InvalidValueException("Alkuvuosi ei voi olla aikaisempi kuin 2015.");
            if (end > 2025)
                throw new InvalidValueException("Pttymisvuosi ei voi olla myhisempi kuin 2025.");
            if (end - start > 9)
                throw new InvalidValueException("Strategiakartta ei tue yli 10 vuoden tarkasteluja.");
        }

    });

    content.addComponent(tf2);
    content.setComponentAlignment(tf2, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(tf2, 0.0f);

    updateYears(database, vl);

    content.addComponent(p);
    content.setComponentAlignment(p, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(p, 0.0f);

    HorizontalLayout buttons = new HorizontalLayout();
    buttons.setSpacing(true);
    buttons.setMargin(false);

    Dialogs.makeDialog(main, main.dialogWidth(), main.dialogHeight(0.8), "Hallinnoi strategiakarttaa", "Sulje",
            content, buttons);

}

From source file:fi.semantum.strategia.Utils.java

License:Open Source License

public static void setUserMeter(final Main main, final Base base, final Meter m) {

    final Database database = main.getDatabase();

    final Window subwindow = new Window("Aseta mittarin arvo", new VerticalLayout());
    subwindow.setModal(true);/*from  ww  w . j  a v a 2s  . c om*/
    subwindow.setWidth("350px");
    subwindow.setResizable(false);

    final VerticalLayout winLayout = (VerticalLayout) subwindow.getContent();
    winLayout.setMargin(true);
    winLayout.setSpacing(true);

    String caption = m.getCaption(database);
    if (caption != null && !caption.isEmpty()) {
        final Label header = new Label(caption);
        header.addStyleName(ValoTheme.LABEL_LARGE);
        winLayout.addComponent(header);
    }

    final Indicator indicator = m.getPossibleIndicator(database);
    if (indicator == null)
        return;

    Datatype dt = indicator.getDatatype(database);
    if (!(dt instanceof EnumerationDatatype))
        return;

    final Label l = new Label("Selite: " + indicator.getValueShortComment());

    AbstractField<?> forecastField = dt.getEditor(main, base, indicator, true, new CommentCallback() {

        @Override
        public void runWithComment(String shortComment, String comment) {
            l.setValue("Selite: " + indicator.getValueShortComment());
        }

        @Override
        public void canceled() {
        }

    });
    forecastField.setWidth("100%");
    forecastField.setCaption("Ennuste");
    winLayout.addComponent(forecastField);

    AbstractField<?> currentField = dt.getEditor(main, base, indicator, false, new CommentCallback() {

        @Override
        public void runWithComment(String shortComment, String comment) {
            l.setValue("Selite: " + indicator.getValueShortComment());
        }

        @Override
        public void canceled() {
        }

    });
    currentField.setWidth("100%");
    currentField.setCaption("Toteuma");
    winLayout.addComponent(currentField);

    winLayout.addComponent(l);

    l.setWidth("100%");
    winLayout.setComponentAlignment(l, Alignment.BOTTOM_CENTER);

    HorizontalLayout hl = new HorizontalLayout();
    winLayout.addComponent(hl);
    winLayout.setComponentAlignment(hl, Alignment.BOTTOM_CENTER);

    Button ok = new Button("Sulje", new Button.ClickListener() {

        private static final long serialVersionUID = 1364802814012491490L;

        public void buttonClick(ClickEvent event) {
            main.removeWindow(subwindow);
        }

    });

    Button define = new Button("Mrit", new Button.ClickListener() {

        private static final long serialVersionUID = 1364802814012491490L;

        public void buttonClick(ClickEvent event) {
            Meter.editMeter(main, base, m);
        }

    });

    hl.addComponent(ok);
    hl.setComponentAlignment(ok, Alignment.BOTTOM_LEFT);
    hl.addComponent(define);
    hl.setComponentAlignment(define, Alignment.BOTTOM_LEFT);

    main.addWindow(subwindow);

}

From source file:fi.semantum.strategia.Utils.java

License:Open Source License

public static void editTags(final Main main, String title, final Base container) {

    final Database database = main.getDatabase();

    final Window subwindow = new Window(title, new VerticalLayout());
    subwindow.setModal(true);/*from w w  w  .  ja  v  a  2 s . co  m*/
    subwindow.setWidth("400px");
    subwindow.setHeight("360px");
    subwindow.setResizable(true);

    VerticalLayout winLayout = (VerticalLayout) subwindow.getContent();
    winLayout.setMargin(true);
    winLayout.setSpacing(true);

    // Add some content; a label and a close-button
    final List<String> tags = new ArrayList<String>();
    for (Tag t : container.getRelatedTags(database))
        tags.add(t.getId(database));

    final CssLayout vl = new CssLayout();
    vl.setCaption("Kytss olevat aihetunnisteet:");
    fillTagEditor(database, vl, tags, Account.canWrite(main, container));
    winLayout.addComponent(vl);

    HorizontalLayout hl = new HorizontalLayout();
    hl.setWidth("100%");
    hl.setSpacing(true);

    final TagCombo combo = new TagCombo();
    final CustomLazyContainer comboContainer = new CustomLazyContainer(database, combo,
            Tag.enumerate(database));
    combo.setWidth("100%");
    combo.setCaption("Uusi aihetunniste:");
    combo.setInputPrompt("valitse listasta tai kirjoita");
    combo.setFilteringMode(FilteringMode.STARTSWITH);
    combo.setTextInputAllowed(true);
    combo.setImmediate(true);
    combo.setNullSelectionAllowed(false);
    combo.setInvalidAllowed(true);
    combo.setInvalidCommitted(true);
    combo.setItemCaptionMode(ItemCaptionMode.PROPERTY);
    combo.setItemCaptionPropertyId("id"); //should set
    combo.setContainerDataSource(comboContainer);

    hl.addComponent(combo);
    hl.setExpandRatio(combo, 1.0f);

    Button add = new Button("Lis", new Button.ClickListener() {

        private static final long serialVersionUID = -2848576385076605664L;

        public void buttonClick(ClickEvent event) {
            String filter = (String) combo.getValue();
            if (filter != null && filter.length() > 0) {
                Tag t = database.getOrCreateTag(filter);
                if (tags.contains(t.getId(database)))
                    return;
                tags.add(t.getId(database));
                fillTagEditor(database, vl, tags, main.account != null);
                combo.clear();
            }
        }
    });
    hl.addComponent(add);
    hl.setComponentAlignment(add, Alignment.BOTTOM_LEFT);
    hl.setExpandRatio(add, 0.0f);

    winLayout.addComponent(hl);

    Button close = new Button("Tallenna", new Button.ClickListener() {

        private static final long serialVersionUID = -451523776456589591L;

        public void buttonClick(ClickEvent event) {
            main.removeWindow(subwindow);
            List<Tag> newTags = new ArrayList<Tag>();
            for (String s : tags)
                newTags.add(database.getOrCreateTag(s));
            container.setRelatedTags(database, newTags);
            Updates.update(main, true);
        }
    });
    Button discard = new Button("Peru muutokset", new Button.ClickListener() {

        private static final long serialVersionUID = -2387057110951581993L;

        public void buttonClick(ClickEvent event) {
            main.removeWindow(subwindow);
        }
    });

    HorizontalLayout hl2 = new HorizontalLayout();
    hl2.setSpacing(true);
    hl2.addComponent(close);
    hl2.addComponent(discard);
    winLayout.addComponent(hl2);
    winLayout.setComponentAlignment(hl2, Alignment.MIDDLE_CENTER);

    main.addWindow(subwindow);

}

From source file:fi.semantum.strategia.widget.Indicator.java

License:Open Source License

public static void manageIndicators(final Main main, final Base base) {

    String currentTime = main.getUIState().time;
    boolean showYears = currentTime.equals(Property.AIKAVALI_KAIKKI);

    final Database database = main.getDatabase();

    VerticalLayout content = new VerticalLayout();
    content.setSizeFull();//from  w w w.j  a  va  2 s. c  o m
    content.setSpacing(true);

    final Table table = new Table();
    table.setSelectable(true);
    table.setMultiSelect(true);
    table.addStyleName(ValoTheme.TABLE_SMALL);
    table.addStyleName(ValoTheme.TABLE_COMPACT);

    table.addContainerProperty("Indikaattori", Label.class, null);
    if (showYears)
        table.addContainerProperty("Vuosi", String.class, null);

    table.setWidth("100%");
    table.setHeight("100%");
    table.setNullSelectionAllowed(true);

    table.setEditable(false);
    table.setColumnExpandRatio("Indikaattori", 2.0f);
    if (showYears)
        table.setColumnExpandRatio("Vuosi", 0.0f);

    makeIndicatorTable(main, base, table);

    content.addComponent(table);
    content.setExpandRatio(table, 1.0f);

    abstract class IndicatorButtonListener implements Button.ClickListener {

        private static final long serialVersionUID = -7551250112503063540L;

        protected Indicator getPossibleSelection() {
            Object selection = table.getValue();
            Collection<?> selected = (Collection<?>) selection;
            if (selected.size() != 1)
                return null;
            return (Indicator) selected.iterator().next();
        }

        @SuppressWarnings("unchecked")
        protected Collection<Indicator> getSelection() {
            return (Collection<Indicator>) table.getValue();
        }

        protected Map<Base, List<Indicator>> getSelectionByParent(Database database) {
            return indicatorsByParent(database, getSelection());
        }

    }

    final Button removeIndicators = new Button("Poista", new IndicatorButtonListener() {

        private static final long serialVersionUID = -2538054127519468282L;

        public void buttonClick(ClickEvent event) {

            Collection<Indicator> selection = getSelection();
            for (Indicator i : selection) {
                Base owner = i.getOwner(database);
                if (owner == null)
                    continue;
                owner.removeIndicator(i);
            }

            final Set<Base> bases = new HashSet<Base>();
            final Strategiakartta map = database.getMap(base);
            bases.add(map);
            for (Tavoite t : map.tavoitteet) {
                bases.add(t);
                for (Painopiste p : t.painopisteet) {
                    bases.add(p);
                }
            }
            for (Base b : bases) {
                for (Meter meter : b.getMeters(database)) {
                    Indicator indicator = meter.getPossibleIndicator(database);
                    if (selection.contains(indicator)) {
                        b.removeMeter(meter);
                    }
                }
            }

            makeIndicatorTable(main, base, table);

            Updates.update(main, true);

        }

    });
    removeIndicators.addStyleName(ValoTheme.BUTTON_TINY);

    final Button moveUp = new Button("Siirr ylemms", new IndicatorButtonListener() {

        private static final long serialVersionUID = -635232943884881464L;

        public void buttonClick(ClickEvent event) {

            for (Map.Entry<Base, List<Indicator>> entry : getSelectionByParent(database).entrySet()) {
                entry.getKey().moveIndicatorsUp(entry.getValue());
            }

            makeIndicatorTable(main, base, table);
            Updates.update(main, true);

        }

    });
    moveUp.addStyleName(ValoTheme.BUTTON_TINY);

    final Button moveDown = new Button("Siirr alemmas", new IndicatorButtonListener() {

        private static final long serialVersionUID = 2779521990166604444L;

        public void buttonClick(ClickEvent event) {

            for (Map.Entry<Base, List<Indicator>> entry : getSelectionByParent(database).entrySet()) {
                entry.getKey().moveIndicatorsDown(entry.getValue());
            }

            makeIndicatorTable(main, base, table);
            Updates.update(main, true);

        }

    });
    moveDown.addStyleName(ValoTheme.BUTTON_TINY);

    final Button modify = new Button("Mrit");
    modify.addClickListener(new IndicatorButtonListener() {

        private static final long serialVersionUID = 5149432436059288486L;

        public void buttonClick(ClickEvent event) {

            Indicator indicator = getPossibleSelection();
            if (indicator == null)
                return;

            editIndicator(main, base, indicator);

        }

    });
    modify.addStyleName(ValoTheme.BUTTON_TINY);

    final TextField indicatorText = new TextField();
    indicatorText.setWidth("100%");
    indicatorText.addStyleName(ValoTheme.TEXTFIELD_TINY);
    indicatorText.setCaption("Tunniste");

    List<Datatype> types = Datatype.enumerate(database);

    final ComboBox datatypeSelect = new ComboBox();
    datatypeSelect.setWidth("100%");
    datatypeSelect.setNullSelectionAllowed(false);
    datatypeSelect.addStyleName(ValoTheme.COMBOBOX_TINY);
    datatypeSelect.setCaption("Tietotyyppi");
    for (Datatype dt : types)
        datatypeSelect.addItem(dt);

    final Button addIndicator = new Button("Lis ptasolle", new Button.ClickListener() {

        private static final long serialVersionUID = -2395147866745115337L;

        public void buttonClick(ClickEvent event) {

            String text = indicatorText.getValue();
            Object dt = datatypeSelect.getValue();
            if (text.isEmpty() || dt == null || dt.equals(datatypeSelect.getNullSelectionItemId()))
                return;

            base.addIndicator(Indicator.create(database, text, (Datatype) dt));
            makeIndicatorTable(main, base, table);
            Updates.update(main, true);

        }

    });
    addIndicator.addStyleName(ValoTheme.BUTTON_TINY);

    final Button addSubIndicator = new Button("Lis valitun alle", new IndicatorButtonListener() {

        private static final long serialVersionUID = -2395147866745115337L;

        public void buttonClick(ClickEvent event) {

            Indicator indicator = getPossibleSelection();
            if (indicator == null)
                return;

            String text = indicatorText.getValue();
            Object dt = datatypeSelect.getValue();
            if (text.isEmpty() || dt == null || dt.equals(datatypeSelect.getNullSelectionItemId()))
                return;

            indicator.addIndicator(Indicator.create(database, text, (Datatype) dt));
            makeIndicatorTable(main, base, table);

            Updates.update(main, true);

        }

    });
    addSubIndicator.addStyleName(ValoTheme.BUTTON_TINY);

    final Runnable setStates = new Runnable() {

        @Override
        public void run() {

            Object selection = table.getValue();
            Collection<?> selected = (Collection<?>) selection;
            if (!selected.isEmpty()) {
                removeIndicators.setEnabled(true);
                moveUp.setEnabled(true);
                moveDown.setEnabled(true);
                if (selected.size() == 1) {
                    modify.setEnabled(true);
                    addSubIndicator.setEnabled(true);
                } else {
                    addSubIndicator.setEnabled(false);
                    modify.setEnabled(false);
                }
            } else {
                moveUp.setEnabled(false);
                moveDown.setEnabled(false);
                removeIndicators.setEnabled(false);
                addSubIndicator.setEnabled(false);
                modify.setEnabled(false);
            }

        }

    };

    table.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 1188285609779556446L;

        @Override
        public void valueChange(ValueChangeEvent event) {
            setStates.run();
        }

    });

    setStates.run();

    HorizontalLayout hl2 = new HorizontalLayout();
    hl2.setSpacing(true);
    hl2.setWidthUndefined();

    hl2.addComponent(modify);
    hl2.setComponentAlignment(modify, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(modify, 0.0f);

    hl2.addComponent(removeIndicators);
    hl2.setComponentAlignment(removeIndicators, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(removeIndicators, 0.0f);

    hl2.addComponent(moveUp);
    hl2.setComponentAlignment(moveUp, Alignment.TOP_LEFT);
    hl2.setExpandRatio(moveUp, 0.0f);

    hl2.addComponent(moveDown);
    hl2.setComponentAlignment(moveDown, Alignment.TOP_LEFT);
    hl2.setExpandRatio(moveDown, 0.0f);

    HorizontalLayout hl3 = new HorizontalLayout();
    hl3.setSpacing(true);
    hl3.setWidth("100%");

    hl3.addComponent(addIndicator);
    hl3.setComponentAlignment(addIndicator, Alignment.BOTTOM_LEFT);
    hl3.setExpandRatio(addIndicator, 0.0f);

    hl3.addComponent(addSubIndicator);
    hl3.setComponentAlignment(addSubIndicator, Alignment.BOTTOM_LEFT);
    hl3.setExpandRatio(addSubIndicator, 0.0f);

    hl3.addComponent(indicatorText);
    hl3.setComponentAlignment(indicatorText, Alignment.BOTTOM_LEFT);
    hl3.setExpandRatio(indicatorText, 1.0f);

    hl3.addComponent(datatypeSelect);
    hl3.setComponentAlignment(datatypeSelect, Alignment.BOTTOM_LEFT);
    hl3.setExpandRatio(datatypeSelect, 2.0f);

    content.addComponent(hl2);
    content.setComponentAlignment(hl2, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(hl2, 0.0f);

    content.addComponent(hl3);
    content.setComponentAlignment(hl3, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(hl3, 0.0f);

    HorizontalLayout buttons = new HorizontalLayout();
    buttons.setSpacing(true);
    buttons.setMargin(false);

    final Window dialog = Dialogs.makeDialog(main, "650px", "800px", "Hallitse indikaattoreita", "Sulje",
            content, buttons);

}

From source file:fi.semantum.strategia.widget.Meter.java

License:Open Source License

public static void manageMeters(final Main main, final Base base) {

    String currentTime = main.getUIState().time;
    boolean showYears = currentTime.equals(Property.AIKAVALI_KAIKKI);

    final Database database = main.getDatabase();

    VerticalLayout content = new VerticalLayout();
    content.setSizeFull();/*from   ww  w .ja  va2s .  co m*/
    content.setSpacing(true);

    final Table table = new Table();
    table.setSelectable(true);
    table.setMultiSelect(true);
    table.addStyleName(ValoTheme.TABLE_SMALL);
    table.addStyleName(ValoTheme.TABLE_COMPACT);

    table.addContainerProperty("Mittari", Label.class, null);
    if (showYears)
        table.addContainerProperty("Vuosi", String.class, null);

    table.setWidth("100%");
    table.setHeight("100%");
    table.setNullSelectionAllowed(true);

    table.setEditable(false);
    table.setColumnExpandRatio("Mittari", 2.0f);
    if (showYears)
        table.setColumnExpandRatio("Vuosi", 0.0f);

    makeMeterTable(main, base, table);

    content.addComponent(table);
    content.setExpandRatio(table, 1.0f);

    abstract class MeterButtonListener implements Button.ClickListener {

        private static final long serialVersionUID = -6640950006518632633L;

        protected Meter getPossibleSelection() {
            Object selection = table.getValue();
            Collection<?> selected = (Collection<?>) selection;
            if (selected.size() != 1)
                return null;
            return (Meter) selected.iterator().next();
        }

        @SuppressWarnings("unchecked")
        protected Collection<Meter> getSelection() {
            return (Collection<Meter>) table.getValue();
        }

        protected Map<Base, List<Meter>> getSelectionByParent(Database database) {
            return metersByParent(database, getSelection());
        }

    }

    final Button removeMeters = new Button("Poista", new MeterButtonListener() {

        private static final long serialVersionUID = 2957964892664902859L;

        public void buttonClick(ClickEvent event) {

            for (Meter r : getSelection()) {
                Base owner = r.getOwner(database);
                if (owner != null)
                    owner.removeMeter(r);
            }

            makeMeterTable(main, base, table);
            Updates.update(main, true);

        }

    });
    removeMeters.addStyleName(ValoTheme.BUTTON_TINY);

    final Button moveUp = new Button("Siirr ylemms", new MeterButtonListener() {

        private static final long serialVersionUID = 8434251773337788784L;

        public void buttonClick(ClickEvent event) {

            Map<Base, List<Meter>> sel = getSelectionByParent(database);
            if (sel == null)
                return;

            for (Map.Entry<Base, List<Meter>> entry : sel.entrySet()) {
                entry.getKey().moveMetersUp(entry.getValue());
            }

            makeMeterTable(main, base, table);
            Updates.update(main, true);

        }

    });
    moveUp.addStyleName(ValoTheme.BUTTON_TINY);

    final Button moveDown = new Button("Siirr alemmas", new MeterButtonListener() {

        private static final long serialVersionUID = -5382367112305541842L;

        public void buttonClick(ClickEvent event) {

            for (Map.Entry<Base, List<Meter>> entry : getSelectionByParent(database).entrySet()) {
                entry.getKey().moveMetersDown(entry.getValue());
            }

            makeMeterTable(main, base, table);
            Updates.update(main, true);

        }

    });
    moveDown.addStyleName(ValoTheme.BUTTON_TINY);

    final Button modify = new Button("Mrit");
    modify.addClickListener(new MeterButtonListener() {

        private static final long serialVersionUID = -7109999546516429095L;

        public void buttonClick(ClickEvent event) {

            Meter meter = getPossibleSelection();
            if (meter == null)
                return;

            editMeter(main, base, meter);

        }

    });
    modify.addStyleName(ValoTheme.BUTTON_TINY);

    final ComboBox indicatorSelect = new ComboBox();
    indicatorSelect.setWidth("100%");
    indicatorSelect.setNullSelectionAllowed(false);
    indicatorSelect.addStyleName(ValoTheme.COMBOBOX_TINY);
    indicatorSelect.setCaption("Mrittj");
    final Strategiakartta map = database.getMap(base);

    // Indikaattorit
    for (Indicator i : map.getIndicators(database)) {
        MeterSpec spec = new MeterSpec(database, i);
        indicatorSelect.addItem(spec);
        indicatorSelect.select(spec);
    }
    // Enumeraatiot
    for (Datatype enu : Datatype.enumerate(database)) {
        if (enu instanceof EnumerationDatatype) {
            MeterSpec spec = new MeterSpec(database, enu);
            indicatorSelect.addItem(spec);
            indicatorSelect.select(spec);
        }
    }
    // Sisnrakennetut
    {
        MeterSpec spec = new MeterSpec(database, MeterSpec.IMPLEMENTATION);
        indicatorSelect.addItem(spec);
        indicatorSelect.select(spec);
    }

    indicatorSelect.setTextInputAllowed(false);

    final Button addMeter = new Button("Lis ptasolle", new Button.ClickListener() {

        private static final long serialVersionUID = -5178621686299637238L;

        public void buttonClick(ClickEvent event) {

            MeterSpec spec = (MeterSpec) indicatorSelect.getValue();
            Object source = spec.getSource();
            if (source instanceof Indicator) {
                Indicator ind = (Indicator) source;
                Meter.addIndicatorMeter(main, base, ind, Property.AIKAVALI_KAIKKI);
            } else if (source instanceof EnumerationDatatype) {
                EnumerationDatatype dt = (EnumerationDatatype) source;
                Indicator ind = Indicator.create(database, "Uusi " + dt.getId(database), dt);
                ind.update(main, base, dt.getDefaultValue(), false, "", "Alkuarvo");
                ind.update(main, base, dt.getDefaultForecast(), true, "", "Alkuarvo");
                Meter.addIndicatorMeter(main, base, ind, Property.AIKAVALI_KAIKKI);
            }

            makeMeterTable(main, base, table);
            Updates.update(main, true);

        }

    });
    addMeter.addStyleName(ValoTheme.BUTTON_TINY);

    final Button addSubmeter = new Button("Lis valitun alle", new MeterButtonListener() {

        private static final long serialVersionUID = -1250285092312682737L;

        public void buttonClick(ClickEvent event) {

            Meter meter = getPossibleSelection();
            if (meter == null)
                return;

            MeterSpec spec = (MeterSpec) indicatorSelect.getValue();
            Object source = spec.getSource();
            if (source instanceof Indicator) {
                Indicator ind = (Indicator) source;
                Meter.addIndicatorMeter(main, meter, ind, Property.AIKAVALI_KAIKKI);
            } else if (source instanceof EnumerationDatatype) {
                EnumerationDatatype dt = (EnumerationDatatype) source;
                Indicator ind = Indicator.create(database, "Uusi " + dt.getId(database), dt);
                ind.update(main, base, dt.getDefaultValue(), false, "", "Alkuarvo");
                ind.update(main, base, dt.getDefaultForecast(), true, "", "Alkuarvo");
                Meter.addIndicatorMeter(main, meter, ind, Property.AIKAVALI_KAIKKI);
            }

            makeMeterTable(main, base, table);
            Updates.update(main, true);

        }

    });
    addSubmeter.addStyleName(ValoTheme.BUTTON_TINY);

    final Runnable setStates = new Runnable() {

        @Override
        public void run() {

            Object selection = table.getValue();
            Collection<?> selected = (Collection<?>) selection;
            if (!selected.isEmpty()) {
                removeMeters.setEnabled(true);
                moveUp.setEnabled(true);
                moveDown.setEnabled(true);
                if (selected.size() == 1) {
                    modify.setEnabled(true);
                    addSubmeter.setEnabled(true);
                } else {
                    addSubmeter.setEnabled(false);
                    modify.setEnabled(false);
                }
            } else {
                moveUp.setEnabled(false);
                moveDown.setEnabled(false);
                removeMeters.setEnabled(false);
                addSubmeter.setEnabled(false);
                modify.setEnabled(false);
            }

        }

    };

    table.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 6439090862804667322L;

        @Override
        public void valueChange(ValueChangeEvent event) {
            setStates.run();
        }

    });

    setStates.run();

    HorizontalLayout hl2 = new HorizontalLayout();
    hl2.setSpacing(true);
    hl2.setWidthUndefined();

    hl2.addComponent(modify);
    hl2.setComponentAlignment(modify, Alignment.TOP_LEFT);
    hl2.setExpandRatio(modify, 0.0f);

    hl2.addComponent(removeMeters);
    hl2.setComponentAlignment(removeMeters, Alignment.TOP_LEFT);
    hl2.setExpandRatio(removeMeters, 0.0f);

    hl2.addComponent(moveUp);
    hl2.setComponentAlignment(moveUp, Alignment.TOP_LEFT);
    hl2.setExpandRatio(moveUp, 0.0f);

    hl2.addComponent(moveDown);
    hl2.setComponentAlignment(moveDown, Alignment.TOP_LEFT);
    hl2.setExpandRatio(moveDown, 0.0f);

    HorizontalLayout hl3 = new HorizontalLayout();
    hl3.setSpacing(true);
    hl3.setWidth("100%");

    hl3.addComponent(addMeter);
    hl3.setComponentAlignment(addMeter, Alignment.BOTTOM_LEFT);
    hl3.setExpandRatio(addMeter, 0.0f);

    hl3.addComponent(addSubmeter);
    hl3.setComponentAlignment(addSubmeter, Alignment.BOTTOM_LEFT);
    hl3.setExpandRatio(addSubmeter, 0.0f);

    hl3.addComponent(indicatorSelect);
    hl3.setComponentAlignment(indicatorSelect, Alignment.BOTTOM_LEFT);
    hl3.setExpandRatio(indicatorSelect, 1.0f);

    content.addComponent(hl2);
    content.setComponentAlignment(hl2, Alignment.MIDDLE_CENTER);
    content.setExpandRatio(hl2, 0.0f);

    content.addComponent(hl3);
    content.setComponentAlignment(hl3, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(hl3, 0.0f);

    HorizontalLayout buttons = new HorizontalLayout();
    buttons.setSpacing(true);
    buttons.setMargin(false);

    final Window dialog = Dialogs.makeDialog(main, "450px", "600px", "Hallitse mittareita", "Sulje", content,
            buttons);

}

From source file:fr.univlorraine.mondossierweb.views.windows.FiltreInscritsMobileWindow.java

License:Apache License

/**
 * Cre une fentre// w  ww .ja v  a  2 s  .  c  o  m
 */
public FiltreInscritsMobileWindow() {
    setWidth("95%");
    setModal(true);
    setResizable(false);
    setClosable(true);

    setCaption(applicationContext.getMessage(NAME + ".title", null, getLocale()));
    setStyleName("v-popover-blank");

    typeFavori = MdwTouchkitUI.getCurrent().getTypeObjListInscrits();

    GridLayout layout = new GridLayout(1, 2);
    layout.setWidth("100%");
    layout.setSpacing(true);
    layout.setMargin(true);
    setContent(layout);

    //Si on affiche la liste des inscrits  un ELP
    //on doit affiche l'tape d'appartenance et ventuellement les groupes
    //Affichage d'une liste droulante contenant la liste des annes
    if (typeIsElp()) {

        //GESTION DES ETAPES
        List<VersionEtape> letapes = MdwTouchkitUI.getCurrent().getListeEtapesInscrits();
        if (letapes != null && letapes.size() > 0) {

            Label etapeLabel = new Label(applicationContext.getMessage(NAME + ".etape", null, getLocale()));
            layout.addComponent(etapeLabel);
            layout.setComponentAlignment(etapeLabel, Alignment.BOTTOM_LEFT);
            listeEtapes = new NativeSelect();
            listeEtapes.setNullSelectionAllowed(false);
            listeEtapes.setRequired(false);
            listeEtapes.setWidth("100%");
            listeEtapes.addItem(TOUTES_LES_ETAPES_LABEL);
            listeEtapes.setItemCaption(TOUTES_LES_ETAPES_LABEL, TOUTES_LES_ETAPES_LABEL);
            for (VersionEtape etape : letapes) {
                String idEtape = etape.getId().getCod_etp() + "/" + etape.getId().getCod_vrs_vet();
                listeEtapes.addItem(idEtape);
                listeEtapes.setItemCaption(idEtape, "[" + idEtape + "] " + etape.getLib_web_vet());
            }

            if (MdwTouchkitUI.getCurrent().getEtapeInscrits() != null) {
                listeEtapes.setValue(MdwTouchkitUI.getCurrent().getEtapeInscrits());
            } else {

                listeEtapes.setValue(TOUTES_LES_ETAPES_LABEL);
            }
            //Gestion de l'vnement sur le changement d'tape
            listeEtapes.addValueChangeListener(new ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    vetSelectionnee = (String) event.getProperty().getValue();
                    if (vetSelectionnee.equals(TOUTES_LES_ETAPES_LABEL)) {
                        vetSelectionnee = null;
                    }
                    MdwTouchkitUI.getCurrent().setEtapeInscrits(vetSelectionnee);
                    //faire le changement
                    groupeSelectionne = ((listeGroupes != null && listeGroupes.getValue() != null)
                            ? (String) listeGroupes.getValue()
                            : null);
                    if (groupeSelectionne != null && groupeSelectionne.equals(TOUS_LES_GROUPES_LABEL)) {
                        groupeSelectionne = null;
                    }

                    //update de l'affichage
                    //initListe();

                }
            });
            layout.addComponent(listeEtapes);

        }

        //GESTION DES GROUPES
        List<ElpDeCollection> lgroupes = MdwTouchkitUI.getCurrent().getListeGroupesInscrits();
        if (lgroupes != null && lgroupes.size() > 0) {

            // Label "GROUPE"
            HorizontalLayout gLayout = new HorizontalLayout();
            gLayout.setSizeFull();
            Label groupeLabel = new Label(applicationContext.getMessage(NAME + ".groupe", null, getLocale()));
            gLayout.addComponent(groupeLabel);
            gLayout.setComponentAlignment(groupeLabel, Alignment.MIDDLE_LEFT);
            layout.addComponent(gLayout);

            //Liste droulante pour choisir le groupe
            listeGroupes = new NativeSelect();
            listeGroupes.setNullSelectionAllowed(false);
            listeGroupes.setRequired(false);
            listeGroupes.setWidth("100%");
            listeGroupes.addItem(TOUS_LES_GROUPES_LABEL);
            listeGroupes.setItemCaption(TOUS_LES_GROUPES_LABEL, TOUS_LES_GROUPES_LABEL);
            for (ElpDeCollection edc : lgroupes) {
                for (CollectionDeGroupes cdg : edc.getListeCollection()) {
                    for (Groupe groupe : cdg.getListeGroupes()) {
                        listeGroupes.addItem(groupe.getCleGroupe());
                        listeGroupes.setItemCaption(groupe.getCleGroupe(), groupe.getLibGroupe());

                    }
                }
            }
            //On pr-remplie le groupe choisi si on en a dj choisi un
            if (MdwTouchkitUI.getCurrent().getGroupeInscrits() != null) {
                listeGroupes.setValue(MdwTouchkitUI.getCurrent().getGroupeInscrits());
            } else {
                listeGroupes.setValue(TOUS_LES_GROUPES_LABEL);
            }

            //Gestion de l'vnement sur le changement de groupe
            listeGroupes.addValueChangeListener(new ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    groupeSelectionne = (String) event.getProperty().getValue();
                    if (groupeSelectionne.equals(TOUS_LES_GROUPES_LABEL)) {
                        groupeSelectionne = null;
                    }
                    MdwTouchkitUI.getCurrent().setGroupeInscrits(groupeSelectionne);
                    //faire le changement
                    vetSelectionnee = ((listeEtapes != null && listeEtapes.getValue() != null)
                            ? (String) listeEtapes.getValue()
                            : null);
                    if (vetSelectionnee != null && vetSelectionnee.equals(TOUTES_LES_ETAPES_LABEL)) {
                        vetSelectionnee = null;
                    }

                }
            });

            layout.addComponent(listeGroupes);

        }
    }

    // Bouton "Filtrer"
    HorizontalLayout bLayout = new HorizontalLayout();
    bLayout.setSizeFull();
    Button closeButton = new Button(applicationContext.getMessage(NAME + ".filtrerBtn", null, getLocale()));
    closeButton.setStyleName(ValoTheme.BUTTON_PRIMARY);
    closeButton.addStyleName("v-popover-button");
    demandeFiltrage = false;
    closeButton.addClickListener(e -> {
        //retourner vetSelectionnee et groupeSelectionne;
        demandeFiltrage = true;
        close();
    });
    bLayout.addComponent(closeButton);
    bLayout.setComponentAlignment(closeButton, Alignment.MIDDLE_CENTER);
    layout.addComponent(bLayout);

}

From source file:module.contents.presentationTier.component.PageView.java

License:Open Source License

private void renderPageMenuArea(final AbstractComponentContainer container) {
    final VerticalLayout verticalLayout = createVerticalLayout(container);

    menuArea = new PageMenuComponent(page);
    verticalLayout.addComponent(menuArea);

    if (page.canEdit()) {
        final AddSectionButton createSectionComponent = new AddSectionButton(new ContentEditorSaveListner() {
            @Override//from  w w  w. ja v a2s.  c o  m
            public void save(final String title, final String content) {
                final Section section = page.addSection(title, content);
                pageBodyComponent.addSection(section);
                rerenderMenuArea();
            }
        });
        verticalLayout.addComponent(createSectionComponent);
        verticalLayout.setComponentAlignment(createSectionComponent, Alignment.BOTTOM_LEFT);
    }
}

From source file:net.pkhsolutions.pecsapp.ui.components.PictureLayout.java

License:Open Source License

public PictureLayout(@NotNull PictureModel model) {
    this.model = model;
    setSpacing(true);//from   w w  w  .  j  a v a2 s.co m

    infoLabel = new Label("Drag och slpp en bild hr");
    infoLabel.setSizeUndefined();

    dropPane = new VerticalLayout();
    dropPane.setSizeFull();
    dropPane.addComponent(infoLabel);
    dropPane.setComponentAlignment(infoLabel, Alignment.MIDDLE_CENTER);

    image = new Image();
    image.setSizeUndefined();
    dropPane.addComponent(image);
    dropPane.setComponentAlignment(image, Alignment.MIDDLE_CENTER);

    progressBar = new ProgressBar();
    progressBar.setIndeterminate(true);
    progressBar.setVisible(false);
    dropPane.addComponent(progressBar);
    dropPane.setComponentAlignment(progressBar, Alignment.MIDDLE_CENTER);

    DragAndDropWrapper dragAndDropWrapper = new DragAndDropWrapper(dropPane);
    dragAndDropWrapper.setDropHandler(this);
    dragAndDropWrapper.setSizeFull();
    addComponent(dragAndDropWrapper);
    setExpandRatio(dragAndDropWrapper, 1f);

    title = new TextField();
    title.setInputPrompt("Skriv namnet hr");
    title.setWidth("100%");
    title.setImmediate(true);
    addComponent(title);
    setComponentAlignment(title, Alignment.BOTTOM_LEFT);

    imageChanged(null);
}

From source file:net.sourceforge.javydreamercsw.validation.manager.web.component.LoginDialog.java

License:Apache License

public void init() {
    //Layout/* w w  w.java 2 s.  c o m*/
    FormLayout layout = new FormLayout();
    setContent(layout);
    HorizontalLayout hlayout = new HorizontalLayout();
    hlayout.addComponent(loginButton);
    hlayout.addComponent(cancelButton);
    layout.addComponent(name);
    layout.addComponent(password);
    name.focus();
    name.setWidth(100, Unit.PERCENTAGE);
    StringLengthValidator nameVal = new StringLengthValidator(Lookup.getDefault()
            .lookup(InternationalizationProvider.class).translate("password.length.message"));
    nameVal.setMinLength(5);
    name.addValidator(nameVal);
    name.setImmediate(true);
    StringLengthValidator passVal = new StringLengthValidator(
            Lookup.getDefault().lookup(InternationalizationProvider.class).translate("password.empty.message"));
    passVal.setMinLength(3);
    password.addValidator(passVal);
    password.setImmediate(true);
    password.setWidth(100, Unit.PERCENTAGE);
    layout.addComponent(hlayout);
    layout.setComponentAlignment(name, Alignment.TOP_LEFT);
    layout.setComponentAlignment(password, Alignment.MIDDLE_LEFT);
    layout.setComponentAlignment(hlayout, Alignment.BOTTOM_LEFT);
    layout.setSpacing(true);
    layout.setMargin(true);

    // Keyboard navigation - enter key is a shortcut to login
    addActionHandler(new Handler() {
        @Override
        public Action[] getActions(Object target, Object sender) {
            return new Action[] { enterKey };
        }

        @Override
        public void handleAction(Action action, Object sender, Object target) {
            tryToLogIn();
        }
    });
}

From source file:org.activiti.administrator.ui.LoginView.java

License:Apache License

@SuppressWarnings("serial")
public LoginView(AdminApp application) {

    // Set application reference
    this.app = application;

    // Init window caption
    app.getMainWindow().setCaption(app.getMessage(Messages.Title));

    // Set style//from  w ww . ja va  2s . c  o  m
    setStyleName(Reindeer.LAYOUT_WHITE);

    // Set layout to full size
    setSizeFull();

    // Create main layout
    VerticalLayout mainLayout = new VerticalLayout();

    // Add layout styles
    mainLayout.setStyleName(Reindeer.LAYOUT_WHITE);
    mainLayout.setWidth("100%");
    mainLayout.setHeight("100%");
    mainLayout.setMargin(false);
    mainLayout.setSpacing(false);

    // Add layout
    addComponent(mainLayout);
    setComponentAlignment(mainLayout, Alignment.TOP_LEFT);

    // Add field and button layout
    VerticalLayout buttonLayout = new VerticalLayout();
    buttonLayout.setSpacing(true);
    buttonLayout.setMargin(true);
    buttonLayout.setWidth("200px");
    buttonLayout.setStyleName("login-form");

    // Add username field
    username = new TextField(app.getMessage(Messages.Username));
    username.setWidth("100%");
    buttonLayout.addComponent(username);

    // Add password field
    password = new PasswordField(app.getMessage(Messages.Password));
    password.setWidth("100%");
    buttonLayout.addComponent(password);

    // Add Login button
    buttonLayout.addComponent(login);
    buttonLayout.setComponentAlignment(login, Alignment.BOTTOM_LEFT);

    // Add button layout
    mainLayout.addComponent(buttonLayout);

    // Add footer text
    Label footerText = new Label(app.getMessage(Messages.Footer));
    footerText.setSizeUndefined();
    footerText.setStyleName(Reindeer.LABEL_SMALL);
    footerText.addStyleName("footer");
    mainLayout.addComponent(footerText);
    mainLayout.setComponentAlignment(footerText, Alignment.BOTTOM_CENTER);

    // Set focus to this component
    username.focus();

    // Add shortcut to login button
    login.setClickShortcut(KeyCode.ENTER);

    login.addListener(new Button.ClickListener() {

        public void buttonClick(Button.ClickEvent event) {
            try {

                // Athenticate the user
                authenticate((String) username.getValue(), (String) password.getValue());

                // Switch to the main view
                app.switchView(MainView.class.getName(), new MainView(app));

            } catch (Exception e) {
                getWindow().showNotification(e.toString());
            }
        }
    });

}