Example usage for com.vaadin.ui.themes ValoTheme TABLE_COMPACT

List of usage examples for com.vaadin.ui.themes ValoTheme TABLE_COMPACT

Introduction

In this page you can find the example usage for com.vaadin.ui.themes ValoTheme TABLE_COMPACT.

Prototype

String TABLE_COMPACT

To view the source code for com.vaadin.ui.themes ValoTheme TABLE_COMPACT.

Click Source Link

Document

Reduce the white space inside the table cells.

Usage

From source file:com.hybridbpm.ui.component.chart.ChartEditor.java

License:Apache License

public ChartEditor(Module module) {
    super();//from  ww w  .j a  va  2s .  c  o m
    this.module = HybridbpmUI.getDevelopmentAPI().getModuleById(module.getId());

    if (this.module.getDesign() != null && !this.module.getDesign().isEmpty()) {
        this.diagrammePreference = HybridbpmCoreUtil.jsonToObject(this.module.getDesign(),
                DiagrammePreference.class);
    } else {
        diagrammePreference = DiagrammePreference.createDefault();
    }
    preferences.setItemDataSource(diagrammePreference);

    btnExecute.setIcon(FontAwesome.COG);
    btnExecute.setStyleName(ValoTheme.BUTTON_BORDERLESS);
    btnExecute.addStyleName(ValoTheme.BUTTON_SMALL);

    btnTest.setIcon(FontAwesome.PLAY);
    btnTest.setStyleName(ValoTheme.BUTTON_BORDERLESS);
    btnTest.addStyleName(ValoTheme.BUTTON_SMALL);

    horizontalSplitPanel.addComponents(codeEditorLayout, designEditorLayout);
    horizontalSplitPanel.setSplitPosition(50, Sizeable.Unit.PERCENTAGE);
    buttonBar.addComponent(btnTest, 0);

    table.setSizeFull();
    table.setStyleName(ValoTheme.TABLE_COMPACT);

    queryEditor.setCaption("Request");
    queryEditor.setMode(AceMode.sql);
    queryEditor.setTheme(AceTheme.textmate);
    queryEditor.setShowGutter(true);
    queryEditor.setSizeFull();

    codeEditorLayout.setSizeFull();
    codeEditorLayout.addStyleName("code");
    codeEditorLayout.setMargin(new MarginInfo(false, false, false, true));
    codeEditorLayout.setSpacing(true);
    codeEditorLayout.setExpandRatio(queryEditor, 1f);
    codeEditorLayout.setExpandRatio(table, 2f);

    for (DiagrammeChartType chartType : DiagrammeChartType.values()) {
        chartTypeGroup.addItem(chartType.toString());
        chartTypeGroup.setItemIcon(chartType, chartType.getIcon());
        chartTypeGroup.setItemCaption(chartType, chartType.getName());
    }
    chartTypeGroup.setStyleName(ValoTheme.OPTIONGROUP_HORIZONTAL);
    chartTypeGroup.addStyleName(ValoTheme.OPTIONGROUP_SMALL);
    chartTypeGroup.setImmediate(true);
    chartTypeGroup.setNullSelectionAllowed(false);
    chartTypeGroup.addValueChangeListener(this);
    addComponent(chartTypeGroup, 1);

    designEditorLayout.setSizeFull();
    designEditorLayout.addStyleName("template");
    designEditorLayout.setMargin(new MarginInfo(false, true, false, true));
    designEditorLayout.setSpacing(true);

    preferences.bind(queryEditor, DiagrammePreference.QUERY);
    preferences.bind(chartTypeGroup, DiagrammePreference.CHART_TYPE);
    refreshChartConfigurationLayout();
}

From source file:com.hybridbpm.ui.component.chart.color.GaugeBandLayout.java

License:Apache License

public GaugeBandLayout(final BeanFieldGroup<DiagrammePreference> preferences) {
    super(preferences);

    setCaption("Gauge Band Colors");
    setSizeFull();/*from ww  w.j  ava 2 s.co m*/
    setSpacing(true);
    setMargin(false);

    addBandButton.setIcon(FontAwesome.PLUS);
    addBandButton.setStyleName(ValoTheme.BUTTON_BORDERLESS);
    addBandButton.addStyleName(ValoTheme.BUTTON_SMALL);

    bandAdditionButtonFrame.setSpacing(true);
    bandAdditionButtonFrame.addComponent(addBandButton);
    bandAdditionButtonFrame.setComponentAlignment(addBandButton, Alignment.MIDDLE_RIGHT);

    addComponent(bandAdditionButtonFrame);

    addBandButton.addClickListener(new Button.ClickListener() {
        @Override
        public void buttonClick(Button.ClickEvent event) {
            addBand();
        }
    });

    colorTable.setHeight("100%");
    colorTable.setWidth("100%");
    colorTable.addStyleName(ValoTheme.TABLE_COMPACT);
    colorTable.addStyleName(ValoTheme.TABLE_SMALL);
    colorTable.addStyleName("color-table");

    colorTable.addContainerProperty(Translate.getMessage("colour"), ColorPicker.class, null);
    colorTable.addContainerProperty(Translate.getMessage("start"), TextField.class, null);
    colorTable.addContainerProperty(Translate.getMessage("end"), TextField.class, null);
    colorTable.addContainerProperty("remove", Button.class, null);

    // COLOR COLUMN
    colorTable.addGeneratedColumn(Translate.getMessage("colour"), new Table.ColumnGenerator() {
        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            final Property<String> colorProp = tableContainer.getItem(itemId).getItemProperty("color");

            int[] col = ColourUtil.decode(colorProp.getValue());
            ColorPicker picker = new ColorPicker();
            picker.addStyleName("diagramme");
            picker.setPosition(Page.getCurrent().getBrowserWindowWidth() / 2 - 246 / 2,
                    Page.getCurrent().getBrowserWindowHeight() / 2 - 507 / 2);
            picker.setColor(new com.vaadin.shared.ui.colorpicker.Color(col[0], col[1], col[2]));

            picker.addColorChangeListener(new ColorChangeListener() {
                @Override
                public void colorChanged(ColorChangeEvent event) {
                    colorProp.setValue(event.getColor().getCSS());
                    updateDiagramme();
                }
            });
            picker.setWidth("25px");

            return picker;
        }
    });

    // BAND START COLUMN
    colorTable.addGeneratedColumn(Translate.getMessage("start"), new Table.ColumnGenerator() {
        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            final Property<Double> startProp = tableContainer.getContainerProperty(itemId, "startValue");

            final ObjectProperty<Double> startValue = new ObjectProperty<Double>(0.0);
            TextField startField = new TextField(startValue);
            //startField.setWidth("60px");
            startField.setSizeFull();
            startField.setNullRepresentation("0");
            startField.addStyleName("tfwb");
            startField.setConvertedValue(startProp.getValue());
            startField.setImmediate(true);

            startValue.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(Property.ValueChangeEvent event) {
                    startProp.setValue((Double) event.getProperty().getValue());
                    updateDiagramme();
                }
            });

            return startField;
        }
    });

    // BAND END COLUMN
    colorTable.addGeneratedColumn(Translate.getMessage("end"), new Table.ColumnGenerator() {
        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            final Property<Double> endProp = tableContainer.getContainerProperty(itemId, "endValue");

            final ObjectProperty<Double> endValue = new ObjectProperty<Double>(0.0);
            TextField endField = new TextField(endValue);
            //endField.setWidth("60px");
            endField.setSizeFull();
            endField.setNullRepresentation("0");
            endField.addStyleName("tfwb");
            endField.setConvertedValue(endProp.getValue());
            endField.setImmediate(true);

            endValue.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(Property.ValueChangeEvent valueChangeEvent) {
                    endProp.setValue((Double) valueChangeEvent.getProperty().getValue());
                    updateDiagramme();
                }
            });

            return endField;
        }
    });

    // DELETE BAND COLUMN
    colorTable.addGeneratedColumn("remove", new Table.ColumnGenerator() {

        @Override
        public Object generateCell(Table source, final Object itemId, Object columnId) {

            Button delete = new Button(FontAwesome.TIMES);
            delete.addClickListener(new Button.ClickListener() {
                @Override
                public void buttonClick(Button.ClickEvent event) {
                    removeBand(itemId);
                }
            });
            delete.setWidth("43px");

            return delete;
        }
    });

    colorTable.setColumnWidth(Translate.getMessage("colour"), 33);
    colorTable.setColumnWidth("remove", 48);
    colorTable.setColumnExpandRatio(Translate.getMessage("start"), 0.5f);
    colorTable.setColumnExpandRatio(Translate.getMessage("end"), 0.5f);

    colorTable.setSortEnabled(false);
    colorTable.setPageLength(0);
    colorTable.setEditable(true);
    colorTable.setImmediate(true);

    addComponent(colorTable);
    setExpandRatio(colorTable, 1f);
    setComponentAlignment(colorTable, Alignment.TOP_LEFT);
}

From source file:com.hybridbpm.ui.UsersMenu.java

License:Apache License

public UsersMenu() {
    textSearch.addStyleName(ValoTheme.TEXTFIELD_SMALL);
    textSearch.setWidth(100, Unit.PERCENTAGE);
    textSearch.setNullRepresentation("");
    textSearch.setWidth(100, Unit.PERCENTAGE);
    textSearch.setInputPrompt("type to search users");
    textSearch.addTextChangeListener(new FieldEvents.TextChangeListener() {

        @Override/*from w  w w  .  j  ava  2  s. c  o m*/
        public void textChange(FieldEvents.TextChangeEvent event) {
            search(event.getText());
        }
    });

    table.addStyleName(ValoTheme.TABLE_BORDERLESS);
    table.addStyleName(ValoTheme.TABLE_NO_HEADER);
    table.addStyleName(ValoTheme.TABLE_NO_VERTICAL_LINES);
    table.addStyleName(ValoTheme.TABLE_SMALL);
    table.addStyleName(ValoTheme.TABLE_COMPACT);
    table.addStyleName(ValoTheme.TABLE_NO_STRIPES);
    table.addContainerProperty("user", User.class, null, "Username", null, Table.Align.LEFT);
    table.addContainerProperty("tasks", Label.class, null, "Tasks", null, Table.Align.LEFT);
    table.setColumnExpandRatio("user", 1f);
    table.setVisibleColumns("user", "tasks");
    table.setSizeFull();
    table.setColumnExpandRatio("user", 1f);
    table.setSelectable(false);
    table.addGeneratedColumn("user", new UserColumnGenerator());

    addComponents(textSearch, table);
    setExpandRatio(table, 1f);
    setHeight(100, Unit.PERCENTAGE);
    setWidth(300, Unit.PIXELS);
    addStyleName("users-list");
    setVisible(false);
}

From source file:com.scipionyx.butterflyeffect.frontend.configuration.ui.view.AboutView.java

License:Apache License

/**
 * //from  w  w w .j  a v  a 2s.com
 * @param instancesBackend
 * @param justclean
 */
private void loadClusterInformation(List<ServiceInstance> instancesBackend, GridLayout layout,
        boolean justclean) {

    layout.removeAllComponents();

    int i = 0;
    for (ServiceInstance instance : instancesBackend) {

        Grid<GridProperty<?>> tableCluster = new Grid<>("Node [" + i + "]");
        tableCluster.addStyleName(ValoTheme.TABLE_COMPACT);
        tableCluster.setSizeFull();

        tableCluster.addColumn(GridProperty::getName).setCaption("Property");
        tableCluster.addColumn(GridProperty::getValue).setCaption("Value");

        List<GridProperty<?>> list = new ArrayList<>();
        list.add(new GridProperty<>("Host", instance.getHost()));
        list.add(new GridProperty<>("Service Id", instance.getServiceId()));
        list.add(new GridProperty<>("Port", instance.getPort()));
        list.add(new GridProperty<>("Uri", instance.getUri()));

        for (String key : instance.getMetadata().keySet()) {
            list.add(new GridProperty<>("Metadata[" + key + "]", instance.getMetadata().get(key)));
        }

        tableCluster.setItems(list);

        layout.addComponent(tableCluster);

        i++;

    }

}

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();// w  ww. j a v a  2s.  co  m
    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.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  ww .  j a  v a  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  v  a  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("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:org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons.java

License:Open Source License

private void setStyle() {
    addStyleName(ValoTheme.TABLE_NO_STRIPES);
    addStyleName(ValoTheme.TABLE_NO_HORIZONTAL_LINES);
    addStyleName(ValoTheme.TABLE_NO_VERTICAL_LINES);
    addStyleName(ValoTheme.TABLE_BORDERLESS);
    addStyleName(ValoTheme.TABLE_COMPACT);
}

From source file:org.esn.esobase.view.tab.DirectTableEditTab.java

public DirectTableEditTab(DBService service_, SearchService searchService_) {
    this.service = service_;
    this.searchService = searchService_;
    this.setSizeFull();
    this.setMargin(false);
    linkedItemClickListener = new LinkedItemClickListener();
    searchTabs = new TabSheet();
    searchTabs.setSizeFull();/*from  w ww. j  av  a 2 s  .co  m*/
    searchTabs.setHeight(250f, Unit.PIXELS);
    VerticalLayout searchInCatalogsLayout = new VerticalLayout();
    searchInCatalogsLayout.setSizeFull();
    searchInCatalogsLayout.setMargin(false);
    HorizontalLayout hl = new HorizontalLayout();
    hl.setDefaultComponentAlignment(Alignment.BOTTOM_LEFT);
    searchField = new TextField();
    searchField.setWidth(500, Unit.PIXELS);
    searchField
            .addShortcutListener(new ShortcutListener("Search shortcut", ShortcutAction.KeyCode.ENTER, null) {
                @Override
                public void handleAction(Object sender, Object target) {
                    search();
                }
            });
    hl.addComponent(searchField);
    searchButton = new Button("?");
    searchButton.setIcon(FontAwesome.SEARCH);
    searchButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            search();

        }
    });
    hl.addComponent(searchButton);
    hl.addComponent(new Label(""));

    tableNamesList.add("GSpreadSheetsNpcName");
    tableNamesList.add("GSpreadSheetsNpcPhrase");
    tableNamesList.add("GSpreadSheetsPlayerPhrase");
    tableNamesList.add("GSpreadSheetsAbilityDescription");
    tableNamesList.add("GSpreadSheetsAchievement");
    tableNamesList.add("GSpreadSheetsAchievementDescription");
    tableNamesList.add("GSpreadSheetsActivator");
    tableNamesList.add("GSpreadSheetsCollectible");
    tableNamesList.add("GSpreadSheetsCollectibleDescription");
    tableNamesList.add("GSpreadSheetsItemDescription");
    tableNamesList.add("GSpreadSheetsItemName");
    tableNamesList.add("GSpreadSheetsJournalEntry");
    tableNamesList.add("GSpreadSheetsLoadscreen");
    tableNamesList.add("GSpreadSheetsLocationName");
    tableNamesList.add("GSpreadSheetsNote");
    tableNamesList.add("GSpreadSheetsQuestDescription");
    tableNamesList.add("GSpreadSheetsQuestDirection");
    tableNamesList.add("GSpreadSheetsQuestName");
    tableNamesList.add("GSpreadSheetsQuestStartTip");
    tableNamesList.add("GSpreadSheetsQuestEndTip");
    tableNames = new ComboBoxMultiselect(null);
    tableNames.setSelectAllButtonCaption(" ?");
    tableNames.setShowSelectAllButton(new ComboBoxMultiselect.ShowButton() {
        @Override
        public boolean isShow(String filter, int page) {
            return true;
        }
    });
    tableNames.setClearButtonCaption("? ");
    tableNames.setPageLength(0);
    tableNames.addItems(tableNamesList);
    tableNames.selectAll();
    tableNames.setItemCaption("GSpreadSheetsAbilityDescription", "?? ???");
    tableNames.setItemCaption("GSpreadSheetsAchievement", "??");
    tableNames.setItemCaption("GSpreadSheetsAchievementDescription", "?? ?");
    tableNames.setItemCaption("GSpreadSheetsActivator", "?");
    tableNames.setItemCaption("GSpreadSheetsCollectible", " ");
    tableNames.setItemCaption("GSpreadSheetsCollectibleDescription",
            "??  ");
    tableNames.setItemCaption("GSpreadSheetsItemDescription", "?? ");
    tableNames.setItemCaption("GSpreadSheetsItemName", "?? ");
    tableNames.setItemCaption("GSpreadSheetsJournalEntry", "? ");
    tableNames.setItemCaption("GSpreadSheetsLoadscreen", " ?");
    tableNames.setItemCaption("GSpreadSheetsLocationName", "");
    tableNames.setItemCaption("GSpreadSheetsNote", "?");
    tableNames.setItemCaption("GSpreadSheetsNpcName", "NPC");
    tableNames.setItemCaption("GSpreadSheetsNpcPhrase", " NPC");
    tableNames.setItemCaption("GSpreadSheetsPlayerPhrase", " ");
    tableNames.setItemCaption("GSpreadSheetsQuestDescription", "?? ?");
    tableNames.setItemCaption("GSpreadSheetsQuestDirection", " ?");
    tableNames.setItemCaption("GSpreadSheetsQuestEndTip", " ");
    tableNames.setItemCaption("GSpreadSheetsQuestName", "?? ?");
    tableNames.setItemCaption("GSpreadSheetsQuestStartTip", "? ");
    hl.addComponent(tableNames);
    regularExpression = new CheckBox("regexp", false);
    hl.addComponent(regularExpression);
    withTranslatedNeighbours = new CheckBox(
            "? ?  ???", false);
    hl.addComponent(withTranslatedNeighbours);
    neighboursCount = new Slider(null, 1, 200);
    neighboursCount.setValue(20d);
    hl.addComponent(neighboursCount);
    searchInCatalogsLayout.addComponent(hl);
    translatedTextSpecification = new TranslatedTextSpecification();
    resultTable = new Table(" ?");
    resultTable.addStyleName(ValoTheme.TABLE_SMALL);
    resultTable.addStyleName(ValoTheme.TABLE_COMPACT);
    resultTable.setSizeFull();
    resultTable.setPageLength(0);
    hc.addContainerProperty("textEn", String.class, null);
    hc.addContainerProperty("textRu", String.class, null);
    hc.addContainerProperty("catalogType", String.class, null);
    hc.addContainerProperty("translator", String.class, null);
    hc.addContainerProperty("weight", Integer.class, null);
    resultTable.setContainerDataSource(hc);
    resultTable.setVisibleColumns(new Object[] { "textEn", "textRu", "catalogType", "translator" });
    resultTable.setColumnHeaders(
            new String[] { "?", "?? ?", "", "" });
    resultTable.addItemClickListener(new SearchTableRowClickListener());

    searchInCatalogsLayout.addComponent(resultTable);
    searchInCatalogsLayout.setExpandRatio(resultTable, 5f);

    searchTabs.addTab(searchInCatalogsLayout, "?");
    VerticalLayout translationsLayout = new VerticalLayout();
    translationsLayout.setMargin(false);
    translationsLayout.setSpacing(false);
    translationsLayout.setSizeFull();
    HorizontalLayout traslationsFilterslayout = new HorizontalLayout();
    statusFilter = new ComboBox("?", Arrays.asList(TRANSLATE_STATUS.values()));
    statusFilter.setNullSelectionAllowed(false);
    statusFilter.setValue(TRANSLATE_STATUS.NEW);
    traslationsFilterslayout.addComponent(statusFilter);
    translatorBox = new ComboBox("");
    translatorBox.setPageLength(15);
    sysAccountContainer = service.loadBeanItems(sysAccountContainer);
    translatorBox.setContainerDataSource(sysAccountContainer);
    translatorBox.setFilteringMode(FilteringMode.CONTAINS);
    traslationsFilterslayout.addComponent(translatorBox);
    translateTypeBox = new ComboBox("");
    translateTypeBox.setNullSelectionAllowed(true);
    translateTypeBox.setPageLength(15);
    translateTypeBox.addItem("spreadSheetsActivator");
    translateTypeBox.setItemCaption("spreadSheetsActivator", "?");
    translateTypeBox.addItem("spreadSheetsAchievement");
    translateTypeBox.setItemCaption("spreadSheetsAchievement", "??");
    translateTypeBox.addItem("spreadSheetsAchievementDescription");
    translateTypeBox.setItemCaption("spreadSheetsAchievementDescription",
            "?? ?");
    translateTypeBox.addItem("spreadSheetsNote");
    translateTypeBox.setItemCaption("spreadSheetsNote", "?");
    translateTypeBox.addItem("spreadSheetsItemDescription");
    translateTypeBox.setItemCaption("spreadSheetsItemDescription", "?? ");
    translateTypeBox.addItem("spreadSheetsItemName");
    translateTypeBox.setItemCaption("spreadSheetsItemName", "?? ");
    translateTypeBox.addItem("spreadSheetsJournalEntry");
    translateTypeBox.setItemCaption("spreadSheetsJournalEntry", "?  ");
    translateTypeBox.addItem("spreadSheetsLocationName");
    translateTypeBox.setItemCaption("spreadSheetsLocationName", "?? ");
    translateTypeBox.addItem("spreadSheetsNpcName");
    translateTypeBox.setItemCaption("spreadSheetsNpcName", " NPC");
    translateTypeBox.addItem("spreadSheetsNpcPhrase");
    translateTypeBox.setItemCaption("spreadSheetsNpcPhrase", " NPC");
    translateTypeBox.addItem("spreadSheetsPlayerPhrase");
    translateTypeBox.setItemCaption("spreadSheetsPlayerPhrase", " ");
    translateTypeBox.addItem("spreadSheetsQuestDescription");
    translateTypeBox.setItemCaption("spreadSheetsQuestDescription", "?? ?");
    translateTypeBox.addItem("spreadSheetsQuestDirection");
    translateTypeBox.setItemCaption("spreadSheetsQuestDirection", " ?");
    translateTypeBox.addItem("spreadSheetsQuestName");
    translateTypeBox.setItemCaption("spreadSheetsQuestName", "?? ?");
    translateTypeBox.addItem("spreadSheetsQuestStartTip");
    translateTypeBox.setItemCaption("spreadSheetsQuestStartTip", "? ");
    translateTypeBox.addItem("spreadSheetsQuestEndTip");
    translateTypeBox.setItemCaption("spreadSheetsQuestEndTip", " ");
    translateTypeBox.addItem("sheetsCollectible");
    translateTypeBox.setItemCaption("sheetsCollectible",
            "??  ");
    translateTypeBox.addItem("sheetsCollectibleDescription");
    translateTypeBox.setItemCaption("sheetsCollectibleDescription",
            "??  ");
    translateTypeBox.addItem("sheetsLoadscreen");
    translateTypeBox.setItemCaption("sheetsLoadscreen", " ?");
    translateTypeBox.setFilteringMode(FilteringMode.CONTAINS);
    traslationsFilterslayout.addComponent(translateTypeBox);
    filterTranslationButton = new Button("?");
    filterTranslationButton.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            filterTranslations();
        }
    });
    traslationsFilterslayout.addComponent(filterTranslationButton);
    traslationsFilterslayout.setComponentAlignment(filterTranslationButton, Alignment.BOTTOM_LEFT);
    translationsLayout.addComponent(traslationsFilterslayout);
    newTranslationsTable = new MGrid();
    newTranslationsTable.setSizeFull();
    newTranslationsContainer = new GeneratedPropertyListContainer<>(TranslatedText.class);
    newTranslationsTable.setContainerDataSource(newTranslationsContainer);
    filterTranslations();
    newTranslationsContainer.sort(new Object[] { "id" }, new boolean[] { true });
    newTranslationsTable.setContainerDataSource(newTranslationsContainer);
    newTranslationsTable.setColumns("author", "createTime", "text");
    newTranslationsTable.getColumn("author").setHeaderCaption("?").setMaximumWidth(200);
    newTranslationsTable.getColumn("createTime").setHeaderCaption("").setWidth(140);
    newTranslationsTable.getColumn("text").setHeaderCaption("").setMaximumWidth(800)
            .setMinimumWidth(600);
    newTranslationsTable.addItemClickListener(new TranslationsTableRowClickListener());
    translationsLayout.addComponent(newTranslationsTable);
    translationsLayout.setExpandRatio(newTranslationsTable, 5f);
    searchTabs.addTab(translationsLayout, "");
    this.addComponent(searchTabs);
    filterLayout = new HorizontalLayout();
    Label itemTypeLabel = new Label("");
    itemType = new ComboBox();
    itemType.addItems(service.getTypes());
    itemType.setNullSelectionAllowed(true);
    itemType.setFilteringMode(FilteringMode.CONTAINS);
    filterLayout.addComponent(itemTypeLabel);
    filterLayout.addComponent(itemType);
    Label itemSubTypeLabel = new Label("");
    itemSubType = new ComboBox();
    itemSubType.addItems(service.getSubTypes());
    itemSubType.setNullSelectionAllowed(true);
    itemSubType.setFilteringMode(FilteringMode.CONTAINS);
    filterLayout.addComponent(itemSubTypeLabel);
    filterLayout.addComponent(itemSubType);
    notTranslated = new CheckBox("? ");
    notTranslated.setValue(Boolean.FALSE);
    filterLayout.addComponent(notTranslated);
    filterLayout.setComponentAlignment(notTranslated, Alignment.MIDDLE_LEFT);
    this.addComponent(filterLayout);
    tableTabs = new TabSheet();
    tableTabs.setSizeFull();
    gSpreadSheetsNpcNameContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsNpcName.class);
    npcNameTable = new GspreadSheetTable(gSpreadSheetsNpcNameContainer, PAGESIZE,
            service.getgSpreadSheetsNpcNameRepository(), specification);
    npcNameTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    npcNameTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(npcNameTable));
    tableTabs.addTab(npcNameTable, "NPC");
    npcNameTable.build();
    npcNameTable.setVisibleColumns(
            new Object[] { "rowNum", "sex", "textEn", "textRu", "infoColumn", "translateColumn" });
    npcNameTable.setColumnWidth("sex", 87);
    npcNameTable.setColumnHeader("sex", "");

    locationNameContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsLocationName.class);
    locationNameTable = new GspreadSheetTable(locationNameContainer, PAGESIZE,
            service.getgSpreadSheetsLocationNameRepository(), specification);
    locationNameTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    locationNameTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(locationNameTable));
    tableTabs.addTab(locationNameTable, "");
    locationNameTable.build();
    locationNameTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    activatorContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsActivator.class);
    activatorTable = new GspreadSheetTable(activatorContainer, PAGESIZE,
            service.getgSpreadSheetsActivatorRepository(), specification);
    activatorTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    activatorTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(activatorTable));
    tableTabs.addTab(activatorTable, "?");
    activatorTable.build();
    activatorTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    playerPhraseContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsPlayerPhrase.class);
    playerPhraseTable = new GspreadSheetTable(playerPhraseContainer, PAGESIZE,
            service.getgSpreadSheetsPlayerPhraseRepository(), specification);
    playerPhraseTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    playerPhraseTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(playerPhraseTable));
    tableTabs.addTab(playerPhraseTable, " ");
    playerPhraseTable.build();
    playerPhraseTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    Page.Styles styles = Page.getCurrent().getStyles();
    styles.add(".wrapped-text {\n" + "    white-space: normal;\n" + "    overflow: hidden;\n" + "}");
    npcPhraseContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsNpcPhrase.class);
    npcPhraseTable = new GspreadSheetTable(npcPhraseContainer, PAGESIZE,
            service.getgSpreadSheetsNpcPhraseRepository(), specification);
    npcPhraseTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    npcPhraseTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(npcPhraseTable));
    tableTabs.addTab(npcPhraseTable, " NPC");
    npcPhraseTable.build();
    npcPhraseTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    questNameContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsQuestName.class);
    questNameTable = new GspreadSheetTable(questNameContainer, PAGESIZE,
            service.getgSpreadSheetsQuestNameRepository(), specification);
    questNameTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    questNameTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(questNameTable));
    tableTabs.addTab(questNameTable, "?? ?");
    questNameTable.build();
    questNameTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    questDescriptionContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsQuestDescription.class);
    questDescriptionTable = new GspreadSheetTable(questDescriptionContainer, PAGESIZE,
            service.getgSpreadSheetsQuestDescriptionRepository(), specification);
    questDescriptionTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    questDescriptionTable.addGeneratedColumn("translateColumn",
            new TranslateColumnGenerator(questDescriptionTable));
    tableTabs.addTab(questDescriptionTable, "?? ?");
    questDescriptionTable.build();
    questDescriptionTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    questDirectionContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsQuestDirection.class);
    questDirectionTable = new GspreadSheetTable(questDirectionContainer, PAGESIZE,
            service.getgSpreadSheetsQuestDirectionRepository(), specification);
    questDirectionTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    questDirectionTable.addGeneratedColumn("translateColumn",
            new TranslateColumnGenerator(questDirectionTable));
    tableTabs.addTab(questDirectionTable, " ?");
    questDirectionTable.build();
    questDirectionTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    questStartTipContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsQuestStartTip.class);
    questStartTipTable = new GspreadSheetTable(questStartTipContainer, PAGESIZE,
            service.getgSpreadSheetsQuestStartTipRepository(), specification);
    questStartTipTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    questStartTipTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(questStartTipTable));
    tableTabs.addTab(questStartTipTable, "? ");
    questStartTipTable.build();
    questStartTipTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    questEndTipContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsQuestEndTip.class);
    questEndTipTable = new GspreadSheetTable(questEndTipContainer, PAGESIZE,
            service.getgSpreadSheetsQuestEndTipRepository(), specification);
    questEndTipTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    questEndTipTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(questEndTipTable));
    tableTabs.addTab(questEndTipTable, " ");
    questEndTipTable.build();
    questEndTipTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    itemNameLayout = new VerticalLayout();
    itemNameLayout.setMargin(false);
    itemNameLayout.setSpacing(false);
    itemNameLayout.setSizeFull();
    Label itemNameLabel = new Label(
            "???!  ?  ?:   ? ?, ? ? ? ? .");
    itemNameLabel.setStyleName(ValoTheme.LABEL_COLORED);
    itemNameContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsItemName.class);
    itemNameTable = new GspreadSheetTable(itemNameContainer, PAGESIZE,
            service.getgSpreadSheetsItemNameRepository(), itemNameSpecification);
    itemNameTable.addGeneratedColumn("itemTypeColumn", new ItemInfoColumnGenerator());
    itemNameTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    itemNameTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(itemNameTable));
    itemNameLayout.addComponent(itemNameLabel);
    itemNameLayout.addComponent(itemNameTable);
    itemNameLayout.setExpandRatio(itemNameTable, 1f);
    tableTabs.addTab(itemNameLayout, "?? ");
    itemNameTable.build();
    itemNameTable.setVisibleColumns(
            new Object[] { "rowNum", "textEn", "textRu", "itemTypeColumn", "infoColumn", "translateColumn" });
    itemNameTable.setColumnHeader("itemTypeColumn", "");
    itemNameTable.setColumnExpandRatio("itemTypeColumn", 0.5f);

    itemDescriptionContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsItemDescription.class);
    itemDescriptionTable = new GspreadSheetTable(itemDescriptionContainer, PAGESIZE,
            service.getgSpreadSheetsItemDescriptionRepository(), specification);
    itemDescriptionTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    itemDescriptionTable.addGeneratedColumn("translateColumn",
            new TranslateColumnGenerator(itemDescriptionTable));
    tableTabs.addTab(itemDescriptionTable, "?? ");
    itemDescriptionTable.build();
    itemDescriptionTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    journalEntryContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsJournalEntry.class);
    journalEntryTable = new GspreadSheetTable(journalEntryContainer, PAGESIZE,
            service.getgSpreadSheetsJournalEntryRepository(), specification);
    journalEntryTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    journalEntryTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(journalEntryTable));
    tableTabs.addTab(journalEntryTable, "? ");
    journalEntryTable.build();
    journalEntryTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    achievementContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsAchievement.class);
    achievementTable = new GspreadSheetTable(achievementContainer, PAGESIZE,
            service.getgSpreadSheetsAchievementRepository(), specification);
    achievementTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    achievementTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(achievementTable));
    tableTabs.addTab(achievementTable, "??");
    achievementTable.build();
    achievementTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    achievementDescriptionContainer = new GeneratedPropertyListContainer<>(
            GSpreadSheetsAchievementDescription.class);
    achievementDescriptionTable = new GspreadSheetTable(achievementDescriptionContainer, PAGESIZE,
            service.getgSpreadSheetsAchievementDescriptionRepository(), specification);
    achievementDescriptionTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    achievementDescriptionTable.addGeneratedColumn("translateColumn",
            new TranslateColumnGenerator(achievementDescriptionTable));
    tableTabs.addTab(achievementDescriptionTable, "?? ?");
    achievementDescriptionTable.build();
    achievementDescriptionTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    abilityDescriptionContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsAbilityDescription.class);
    abilityDescriptionTable = new GspreadSheetTable(abilityDescriptionContainer, PAGESIZE,
            service.getgSpreadSheetsAbilityDescriptionRepository(), specification);
    abilityDescriptionTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    abilityDescriptionTable.addGeneratedColumn("translateColumn",
            new TranslateColumnGenerator(abilityDescriptionTable));
    tableTabs.addTab(abilityDescriptionTable, "?? ???");
    abilityDescriptionTable.build();
    abilityDescriptionTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    noteContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsNote.class);
    noteTable = new GspreadSheetTable(noteContainer, PAGESIZE, service.getgSpreadSheetsNoteRepository(),
            specification);
    noteTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    noteTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(noteTable));
    tableTabs.addTab(noteTable, "?");
    noteTable.build();
    noteTable.setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    collectibleContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsCollectible.class);
    collectibleTable = new GspreadSheetTable(collectibleContainer, PAGESIZE,
            service.getgSpreadSheetsCollectibleRepository(), specification);
    collectibleTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    collectibleTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(collectibleTable));
    tableTabs.addTab(collectibleTable, " ");
    collectibleTable.build();
    collectibleTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    collectibleDescriptionContainer = new GeneratedPropertyListContainer<>(
            GSpreadSheetsCollectibleDescription.class);
    collectibleDescriptionTable = new GspreadSheetTable(collectibleDescriptionContainer, PAGESIZE,
            service.getgSpreadSheetsCollectibleDescriptionRepository(), specification);
    collectibleDescriptionTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    collectibleDescriptionTable.addGeneratedColumn("translateColumn",
            new TranslateColumnGenerator(collectibleDescriptionTable));
    tableTabs.addTab(collectibleDescriptionTable,
            "??  ");
    collectibleDescriptionTable.build();
    collectibleDescriptionTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });

    loadscreenContainer = new GeneratedPropertyListContainer<>(GSpreadSheetsLoadscreen.class);
    loadscreenTable = new GspreadSheetTable(loadscreenContainer, PAGESIZE,
            service.getgSpreadSheetsLoadscreenRepository(), specification);
    loadscreenTable.addGeneratedColumn("infoColumn", new InfoColumnGenerator());
    loadscreenTable.addGeneratedColumn("translateColumn", new TranslateColumnGenerator(loadscreenTable));
    tableTabs.addTab(loadscreenTable, " ?");
    loadscreenTable.build();
    loadscreenTable
            .setVisibleColumns(new Object[] { "rowNum", "textEn", "textRu", "infoColumn", "translateColumn" });
    LoadTables();
    itemType.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            LoadTables();
        }
    });
    itemSubType.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            LoadTables();
        }
    });
    notTranslated.addValueChangeListener(new HasValue.ValueChangeListener<Boolean>() {
        @Override
        public void valueChange(HasValue.ValueChangeEvent<Boolean> event) {
            LoadTables();
        }
    });

    this.addComponent(tableTabs);
    this.setExpandRatio(tableTabs, 20f);
}

From source file:org.esn.esobase.view.tab.TranslateTab.java

public void Init() {
    removeAllComponents();/*from   w ww.  j  a va2  s.  c o m*/
    TopicNpcColumnGenerator topicNpcColumnGenerator = new TopicNpcColumnGenerator();
    TopicPlayerColumnGenerator topicPlayerColumnGenerator = new TopicPlayerColumnGenerator();
    SubtitleColumnGenerator subtitleColumnGenerator = new SubtitleColumnGenerator();
    TranslationColumnGenerator translationColumnGenerator = new TranslationColumnGenerator();
    FilterChangeListener filterChangeListener = new FilterChangeListener();
    this.setSizeFull();
    this.setSpacing(false);
    this.setMargin(false);
    npcListlayout = new HorizontalLayout();
    npcListlayout.setSpacing(false);
    npcListlayout.setMargin(false);
    npcListlayout.setSizeFull();
    npcTable = new ComboBox("NPC");
    npcTable.setPageLength(30);
    npcTable.setScrollToSelectedItem(true);
    npcTable.setWidth(100f, Unit.PERCENTAGE);
    npcTable.addValueChangeListener(new NpcSelectListener());
    npcTable.setScrollToSelectedItem(true);
    npcTable.setEmptySelectionAllowed(true);
    locationTable = new ComboBox("?");
    locationTable.setPageLength(30);
    locationTable.setScrollToSelectedItem(true);
    locationTable.setWidth(100f, Unit.PERCENTAGE);
    locationTable.addValueChangeListener(filterChangeListener);
    locationTable.setDataProvider(new ListDataProvider<>(locations));
    locationTable.setEmptySelectionAllowed(true);

    subLocationTable = new ComboBox("?");
    subLocationTable.setPageLength(30);
    subLocationTable.setScrollToSelectedItem(true);
    subLocationTable.setWidth(100f, Unit.PERCENTAGE);
    subLocationTable.addValueChangeListener(filterChangeListener);
    subLocationTable.setDataProvider(new ListDataProvider<>(subLocations));
    subLocationTable.setEmptySelectionAllowed(true);
    questTable = new ComboBox("?");
    questTable.setPageLength(30);
    questTable.setScrollToSelectedItem(true);

    questTable.setWidth(100f, Unit.PERCENTAGE);
    questTable.addValueChangeListener(filterChangeListener);
    questTable.setDataProvider(new ListDataProvider<>(questList));
    npcTable.setDataProvider(new ListDataProvider<>(npcList));

    FormLayout locationAndNpc = new FormLayout(questTable, locationTable, subLocationTable, npcTable);
    locationAndNpc.addStyleName(ValoTheme.FORMLAYOUT_LIGHT);
    locationAndNpc.setSizeFull();

    npcListlayout.addComponent(locationAndNpc);

    translateStatus = new ComboBoxMultiselect("? ",
            Arrays.asList(TRANSLATE_STATUS.values()));
    translateStatus.setClearButtonCaption("?");
    translateStatus.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            LoadFilters();
            LoadNpcContent();
        }
    });
    translateStatus.setPageLength(20);
    noTranslations = new CheckBox("?  ?");
    noTranslations.setValue(Boolean.FALSE);
    noTranslations.addValueChangeListener(new HasValue.ValueChangeListener<Boolean>() {
        @Override
        public void valueChange(HasValue.ValueChangeEvent<Boolean> event) {
            LoadFilters();
            LoadNpcContent();
        }
    });

    emptyTranslations = new CheckBox("?  ");
    emptyTranslations.setValue(Boolean.FALSE);
    emptyTranslations.addValueChangeListener(new HasValue.ValueChangeListener<Boolean>() {
        @Override
        public void valueChange(HasValue.ValueChangeEvent<Boolean> event) {
            LoadFilters();
            LoadNpcContent();
        }
    });
    HorizontalLayout checkBoxlayout = new HorizontalLayout(noTranslations, emptyTranslations);
    translatorBox = new ComboBox("");
    translatorBox.setPageLength(15);
    translatorBox.setScrollToSelectedItem(true);
    translatorBox.setDataProvider(new ListDataProvider(service.getSysAccounts()));
    translatorBox.addValueChangeListener(new HasValue.ValueChangeListener() {
        @Override
        public void valueChange(HasValue.ValueChangeEvent event) {
            LoadFilters();
            LoadNpcContent();
        }
    });
    refreshButton = new Button("");
    refreshButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            LoadFilters();
            LoadNpcContent();
        }
    });
    countLabel = new Label();
    searchField = new TextField("?? ?");
    searchField.setSizeFull();
    searchField.addValueChangeListener(new HasValue.ValueChangeListener<String>() {
        @Override
        public void valueChange(HasValue.ValueChangeEvent<String> event) {
            LoadFilters();
            LoadNpcContent();
        }
    });

    FormLayout questAndWithNewTranslations = new FormLayout(translateStatus, translatorBox, checkBoxlayout,
            searchField);
    questAndWithNewTranslations.addStyleName(ValoTheme.FORMLAYOUT_LIGHT);
    questAndWithNewTranslations.setSizeFull();
    npcListlayout.addComponent(questAndWithNewTranslations);
    npcListlayout.addComponent(refreshButton);
    npcListlayout.addComponent(countLabel);
    npcListlayout.setExpandRatio(locationAndNpc, 0.4f);
    npcListlayout.setExpandRatio(questAndWithNewTranslations, 0.4f);
    npcListlayout.setExpandRatio(refreshButton, 0.1f);
    npcListlayout.setExpandRatio(countLabel, 0.1f);
    npcContentLayout = new VerticalLayout();
    npcContentLayout.setSizeFull();
    npcContentLayout.setSpacing(false);
    npcContentLayout.setMargin(false);
    npcTabSheet = new TabSheet();
    npcTabSheet.setSizeFull();
    npcTabLayout = new VerticalLayout();
    locationName = new TextField("? ");
    npcTabLayout.addComponent(locationName);
    locationNameRu = new TextField(" ? ");
    npcTabLayout.addComponent(locationNameRu);
    npcName = new TextField("? NPC");
    npcTabLayout.addComponent(npcName);
    npcNameRu = new TextField("  NPC");
    npcTabLayout.addComponent(npcNameRu);
    npcTab = npcTabSheet.addTab(npcTabLayout, "");
    npcTopicsTable = new Table();
    npcTopicsTable.addStyleName(ValoTheme.TABLE_COMPACT);
    npcTopicsTable.setSizeFull();
    npcTopicsTable.setPageLength(0);
    topicsContainer = new BeanItemContainer<>(Topic.class);
    npcTopicsTable.setContainerDataSource(topicsContainer);
    npcTopicsTable.addGeneratedColumn("npcTextG", topicNpcColumnGenerator);
    npcTopicsTable.addGeneratedColumn("playerTextG", topicPlayerColumnGenerator);
    npcTopicsTable.removeGeneratedColumn("playerTranslations");
    npcTopicsTable.addGeneratedColumn("playerTranslations", translationColumnGenerator);
    npcTopicsTable.removeGeneratedColumn("npcTranslations");
    npcTopicsTable.addGeneratedColumn("npcTranslations", translationColumnGenerator);
    npcTopicsTable.setVisibleColumns(
            new Object[] { "playerTextG", "playerTranslations", "npcTextG", "npcTranslations" });
    npcTopicsTable.setColumnHeaders(new String[] { " ", "",
            " NPC", "" });
    npcTopicsTable.setColumnExpandRatio("playerTextG", 1f);
    npcTopicsTable.setColumnExpandRatio("playerTranslations", 1.5f);
    npcTopicsTable.setColumnExpandRatio("npcTextG", 1.5f);
    npcTopicsTable.setColumnExpandRatio("npcTranslations", 1.5f);
    npcTopicsTable.setColumnWidth("actions", 150);
    npcSubtitlesTable = new Table();
    npcSubtitlesTable.addStyleName(ValoTheme.TABLE_COMPACT);
    npcSubtitlesTable.setSizeFull();
    npcSubtitlesTable.setPageLength(0);
    subtitlesContainer = new BeanItemContainer<>(Subtitle.class);
    npcSubtitlesTable.setContainerDataSource(subtitlesContainer);
    npcSubtitlesTable.addGeneratedColumn("textG", subtitleColumnGenerator);
    npcSubtitlesTable.removeGeneratedColumn("translations");
    npcSubtitlesTable.addGeneratedColumn("translations", translationColumnGenerator);
    npcSubtitlesTable.setVisibleColumns(new Object[] { "textG", "translations" });
    npcSubtitlesTable.setColumnHeaders(new String[] { "", "" });
    npcSubtitlesTable.setColumnExpandRatio("textG", 1f);
    npcSubtitlesTable.setColumnExpandRatio("translations", 1f);
    npcSubtitlesTable.setColumnWidth("actions", 150);

    npcTopicsTab = npcTabSheet.addTab(npcTopicsTable, "");
    npcSubtitlesTab = npcTabSheet.addTab(npcSubtitlesTable, "");
    npcContentLayout.addComponent(npcTabSheet);
    this.addComponent(npcListlayout);
    this.addComponent(npcContentLayout);
    this.npcListlayout.setHeight(105f, Unit.PIXELS);
    this.setExpandRatio(npcContentLayout, 1f);
    LoadFilters();
    new NoAutcompleteComboBoxExtension(questTable);
    new NoAutcompleteComboBoxExtension(locationTable);
    new NoAutcompleteComboBoxExtension(subLocationTable);
    new NoAutcompleteComboBoxExtension(npcTable);
    new NoAutcompleteComboBoxExtension(translatorBox);
}