Example usage for com.vaadin.ui TwinColSelect TwinColSelect

List of usage examples for com.vaadin.ui TwinColSelect TwinColSelect

Introduction

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

Prototype

public TwinColSelect() 

Source Link

Document

Constructs a new TwinColSelect.

Usage

From source file:annis.gui.admin.PopupTwinColumnSelect.java

License:Apache License

public PopupTwinColumnSelect() {

    txtValue = createTextField();//  w w w .ja v  a 2 s. c o m
    txtValue.setConverter(new CommaSeperatedStringConverterSet());
    txtValue.setWidth("100%");
    txtValue.setPropertyDataSource(PopupTwinColumnSelect.this);

    selector = new TwinColSelect();
    selector.setConverter(new TreeSetConverter());
    selector.setNewItemsAllowed(false);
    selector.setLeftColumnCaption("Available");
    selector.setRightColumnCaption("Selected");
    selector.setContainerDataSource(selectableContainer);
    selector.setWidth("44em");
    selector.setPropertyDataSource(PopupTwinColumnSelect.this);

    PopupView popup = new PopupView("Select", selector);

    layout = new HorizontalLayout(popup, txtValue);
    layout.setExpandRatio(popup, 0.0f);
    layout.setExpandRatio(txtValue, 1.0f);
    layout.setWidth("100%");
    layout.setSpacing(true);

    addValueChangeListener(new UpdateContainerListener());
}

From source file:co.edu.icesi.academ.client.perfiles.propietario.CrearCompetencia.java

License:Open Source License

@AutoGenerated
private AbsoluteLayout buildMainLayout() {
    // common part: create layout
    mainLayout = new AbsoluteLayout();
    mainLayout.setImmediate(false);/*from w  ww  .  j  av  a  2 s  .  c o  m*/
    mainLayout.setWidth("700px");
    mainLayout.setHeight("480px");

    // top-level component properties
    setWidth("700px");
    setHeight("480px");

    // resutadoAprendizajeSelect
    resutadoAprendizajeSelect = new TwinColSelect();
    resutadoAprendizajeSelect.setImmediate(false);
    resutadoAprendizajeSelect.setWidth("100.0%");
    resutadoAprendizajeSelect.setHeight("-1px");
    mainLayout.addComponent(resutadoAprendizajeSelect, "top:60.0px;right:63.0px;left:80.0px;");

    // label_1
    label_1 = new Label();
    label_1.setImmediate(false);
    label_1.setWidth("229px");
    label_1.setHeight("-1px");
    label_1.setValue("Resultados de Aprendizaje Disponibles:");
    mainLayout.addComponent(label_1, "top:20.0px;left:80.0px;");

    // label_2
    label_2 = new Label();
    label_2.setImmediate(false);
    label_2.setWidth("229px");
    label_2.setHeight("-1px");
    label_2.setValue("Resultados de Aprendizaje Asociados:");
    mainLayout.addComponent(label_2, "top:20.0px;left:380.0px;");

    // label_3
    label_3 = new Label();
    label_3.setImmediate(false);
    label_3.setWidth("89px");
    label_3.setHeight("18px");
    label_3.setValue("Competencia:");
    mainLayout.addComponent(label_3, "top:222.0px;left:80.0px;");

    // btGuardarCompetencia
    btGuardarCompetencia = new NativeButton();
    btGuardarCompetencia.setCaption("Guardar");
    btGuardarCompetencia.setImmediate(true);
    btGuardarCompetencia.setWidth("-1px");
    btGuardarCompetencia.setHeight("-1px");
    mainLayout.addComponent(btGuardarCompetencia, "top:418.0px;left:566.0px;");

    // textDescripcion
    textDescripcion = new TextArea();
    textDescripcion.setImmediate(false);
    textDescripcion.setWidth("560px");
    textDescripcion.setHeight("140px");
    textDescripcion.setMaxLength(100);
    mainLayout.addComponent(textDescripcion, "top:260.0px;left:80.0px;");

    return mainLayout;
}

From source file:cz.opendata.linked.metadata.form.ExtractorDialog.java

private VerticalLayout buildMainLayout() {
    // common part: create layout
    mainLayout = new VerticalLayout();
    mainLayout.setImmediate(true);//  w  w  w . j  a v a2  s . c o m
    mainLayout.setWidth("100%");
    mainLayout.setHeight(null);
    mainLayout.setMargin(false);
    //mainLayout.setSpacing(true);

    // top-level component properties
    setWidth("100%");
    setHeight("100%");

    tfDatasetUri = new TextField();
    tfDatasetUri.setCaption("Dataset URI:");
    tfDatasetUri.setWidth("100%");
    mainLayout.addComponent(tfDatasetUri);

    tfDistributionUri = new TextField();
    tfDistributionUri.setCaption("Distribution URI:");
    tfDistributionUri.setWidth("100%");
    mainLayout.addComponent(tfDistributionUri);

    tfDataDumpUrl = new TextField();
    tfDataDumpUrl.setCaption("Data dump URL:");
    tfDataDumpUrl.setWidth("100%");
    mainLayout.addComponent(tfDataDumpUrl);

    cbMime = new ComboBox();
    cbMime.setCaption("Media Type:");
    cbMime.setNewItemsAllowed(false);
    cbMime.setNullSelectionAllowed(false);
    cbMime.setWidth("100%");
    for (String u : mimes)
        cbMime.addItem(u);
    mainLayout.addComponent(cbMime);

    tfSparqlEndpointUrl = new TextField();
    tfSparqlEndpointUrl.setCaption("Sparql Endpoint URI:");
    tfSparqlEndpointUrl.setWidth("100%");
    mainLayout.addComponent(tfSparqlEndpointUrl);

    tfContactPoint = new TextField();
    tfContactPoint.setCaption("Contact Point URL:");
    tfContactPoint.setWidth("100%");
    mainLayout.addComponent(tfContactPoint);

    tfTitleCs = new TextField();
    tfTitleCs.setCaption("Title (cs):");
    tfTitleCs.setWidth("100%");
    mainLayout.addComponent(tfTitleCs);

    tfTitleEn = new TextField();
    tfTitleEn.setCaption("Title (en):");
    tfTitleEn.setWidth("100%");
    mainLayout.addComponent(tfTitleEn);

    tfDescCs = new TextField();
    tfDescCs.setCaption("Description (cs):");
    tfDescCs.setWidth("100%");
    mainLayout.addComponent(tfDescCs);

    tfDescEn = new TextField();
    tfDescEn.setCaption("Description (en):");
    tfDescEn.setWidth("100%");
    mainLayout.addComponent(tfDescEn);

    chkQb = new CheckBox();
    chkQb.setCaption("Dataset is RDF Data Cube");
    chkQb.setWidth("100%");
    mainLayout.addComponent(chkQb);

    dfModified = new DateField();
    dfModified.setCaption("Modified:");
    dfModified.setWidth("100%");
    dfModified.setResolution(Resolution.DAY);
    mainLayout.addComponent(dfModified);

    chkNow = new CheckBox();
    chkNow.setCaption("Always use current date instead");
    chkNow.setWidth("100%");
    mainLayout.addComponent(chkNow);

    cbPeriodicity = new ComboBox();
    cbPeriodicity.setCaption("Periodicity:");
    cbPeriodicity.setNewItemsAllowed(false);
    cbPeriodicity.setNullSelectionAllowed(false);
    cbPeriodicity.setItemCaptionMode(ItemCaptionMode.EXPLICIT);
    cbPeriodicity.setWidth("100%");
    for (URLandCaption u : periodicities) {
        cbPeriodicity.addItem(u.url.toString());
        cbPeriodicity.setItemCaption(u.url.toString(), u.caption);
    }
    mainLayout.addComponent(cbPeriodicity);

    tcsLicenses = new TwinColSelect();
    tcsLicenses.setWidth("97%");
    tcsLicenses.setNewItemsAllowed(true);
    tcsLicenses.setLeftColumnCaption("Available licenses");
    tcsLicenses.setRightColumnCaption("Selected licenses");
    mainLayout.addComponent(tcsLicenses);

    tcsExamples = new TwinColSelect();
    tcsExamples.setWidth("97%");
    tcsExamples.setNewItemsAllowed(true);
    tcsExamples.setLeftColumnCaption("Available example resources");
    tcsExamples.setRightColumnCaption("Selected example resources");
    mainLayout.addComponent(tcsExamples);

    tcsSources = new TwinColSelect();
    tcsSources.setWidth("97%");
    tcsSources.setNewItemsAllowed(true);
    tcsSources.setLeftColumnCaption("Available sources");
    tcsSources.setRightColumnCaption("Selected sources");
    mainLayout.addComponent(tcsSources);

    tcsKeywords = new TwinColSelect();
    tcsKeywords.setWidth("97%");
    tcsKeywords.setNewItemsAllowed(true);
    tcsKeywords.setLeftColumnCaption("Available keywords");
    tcsKeywords.setRightColumnCaption("Selected keywords");
    mainLayout.addComponent(tcsKeywords);

    tcsThemes = new TwinColSelect();
    tcsThemes.setWidth("97%");
    tcsThemes.setNewItemsAllowed(true);
    tcsThemes.setLeftColumnCaption("Available themes");
    tcsThemes.setRightColumnCaption("Selected themes");
    mainLayout.addComponent(tcsThemes);

    tcsLanguages = new TwinColSelect();
    tcsLanguages.setWidth("97%");
    tcsLanguages.setLeftColumnCaption("Available languages");
    tcsLanguages.setRightColumnCaption("Selected languages");
    mainLayout.addComponent(tcsLanguages);

    tcsAuthors = new TwinColSelect();
    tcsAuthors.setWidth("97%");
    tcsAuthors.setNewItemsAllowed(true);
    tcsAuthors.setLeftColumnCaption("Available authors");
    tcsAuthors.setRightColumnCaption("Selected authors");
    mainLayout.addComponent(tcsAuthors);

    tcsPublishers = new TwinColSelect();
    tcsPublishers.setWidth("97%");
    tcsPublishers.setNewItemsAllowed(true);
    tcsPublishers.setLeftColumnCaption("Available publishers");
    tcsPublishers.setRightColumnCaption("Selected publishers");
    mainLayout.addComponent(tcsPublishers);

    return mainLayout;
}

From source file:edu.kit.dama.ui.repo.components.ShareObjectComponent.java

/**
 * Build the main layout of the component.
 *//*from w  w w .j  av a  2  s  .c  om*/
private void buildMainLayout() {
    shareList = new TwinColSelect();
    shareList.setRows(10);
    shareList.setMultiSelect(true);
    shareList.setImmediate(true);
    shareList.setLeftColumnCaption("Not accessible by");
    shareList.setRightColumnCaption("Accessible by");

    shareList.setWidth("500px");
    shareList.setHeight("400px");

    final NativeButton shareButton = new NativeButton("Share");
    final NativeButton cancelButton = new NativeButton("Cancel");

    Button.ClickListener listener = new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            if (shareButton.equals(event.getButton())) {
                syncShares();
            }
            sharePopup.setPopupVisible(false);
        }
    };

    shareButton.addClickListener(listener);
    cancelButton.addClickListener(listener);

    HorizontalLayout buttonLayout = new HorizontalLayout(cancelButton, shareButton);
    mainLayout = new VerticalLayout(shareList, buttonLayout);
    mainLayout.setComponentAlignment(buttonLayout, Alignment.BOTTOM_RIGHT);
    mainLayout.setExpandRatio(shareList, .9f);
    mainLayout.setExpandRatio(buttonLayout, .1f);
}

From source file:eu.unifiedviews.plugins.transformer.metadata.MetadataVaadinDialog.java

License:Creative Commons License

@Override
protected void buildDialogLayout() {
    // common part: create layout
    mainLayout = new VerticalLayout();
    mainLayout.setImmediate(true);/*w  w w .j  a  va 2  s.  c  o m*/
    mainLayout.setWidth("100%");
    mainLayout.setHeight(null);
    mainLayout.setMargin(false);
    //mainLayout.setSpacing(true);

    // top-level component properties
    setWidth("100%");
    setHeight("100%");

    txtOutSymbolicName = new TextField();
    txtOutSymbolicName.setCaption("Output graph name:");
    txtOutSymbolicName.setWidth("100%");
    mainLayout.addComponent(txtOutSymbolicName);

    tfComsodeDatasetId = new TextField();
    tfComsodeDatasetId.setCaption("COMSODE Dataset ID (will be used as part of the URI)");
    tfComsodeDatasetId.setWidth("100%");
    tfComsodeDatasetId.setInputPrompt("MICR_3");
    mainLayout.addComponent(tfComsodeDatasetId);

    tfDatasetUri = new TextField();
    tfDatasetUri.setCaption("Dataset URI:");
    tfDatasetUri.setWidth("100%");
    mainLayout.addComponent(tfDatasetUri);

    tfDistributionUri = new TextField();
    tfDistributionUri.setCaption("Distribution URI:");
    tfDistributionUri.setWidth("100%");
    mainLayout.addComponent(tfDistributionUri);

    tfDataDumpUrl = new TextField();
    tfDataDumpUrl.setCaption("Data dump URL:");
    tfDataDumpUrl.setWidth("100%");
    mainLayout.addComponent(tfDataDumpUrl);

    cbMime = new ComboBox();
    cbMime.setCaption("Media Type:");
    cbMime.setNewItemsAllowed(false);
    cbMime.setNullSelectionAllowed(false);
    cbMime.setWidth("100%");
    for (String u : mimes) {
        cbMime.addItem(u);
    }
    mainLayout.addComponent(cbMime);

    tfSparqlEndpointUrl = new TextField();
    tfSparqlEndpointUrl.setCaption("Sparql Endpoint URI:");
    tfSparqlEndpointUrl.setWidth("100%");
    tfSparqlEndpointUrl.setNullRepresentation("");
    tfSparqlEndpointUrl.setNullSettingAllowed(true);
    mainLayout.addComponent(tfSparqlEndpointUrl);

    tfContactPoint = new TextField();
    tfContactPoint.setCaption("Contact Point URL:");
    tfContactPoint.setWidth("100%");
    mainLayout.addComponent(tfContactPoint);

    tfLanguage = new TextField();
    tfLanguage.setCaption("Original language - RDF language tag:");
    tfLanguage.setInputPrompt("cs|sk|it");
    tfLanguage.setWidth("100%");
    mainLayout.addComponent(tfLanguage);

    tfTitle = new TextField();
    tfTitle.setCaption("Title original language:");
    tfTitle.setWidth("100%");
    mainLayout.addComponent(tfTitle);

    tfTitleEn = new TextField();
    tfTitleEn.setCaption("Title in English:");
    tfTitleEn.setWidth("100%");
    mainLayout.addComponent(tfTitleEn);

    tfDesc = new TextField();
    tfDesc.setCaption("Description original language:");
    tfDesc.setWidth("100%");
    mainLayout.addComponent(tfDesc);

    tfDescEn = new TextField();
    tfDescEn.setCaption("Description in English:");
    tfDescEn.setWidth("100%");
    mainLayout.addComponent(tfDescEn);

    chkQb = new CheckBox();
    chkQb.setCaption("Dataset is RDF Data Cube");
    chkQb.setWidth("100%");
    mainLayout.addComponent(chkQb);

    dfModified = new DateField();
    dfModified.setCaption("Modified:");
    dfModified.setWidth("100%");
    dfModified.setResolution(Resolution.DAY);
    mainLayout.addComponent(dfModified);

    chkNow = new CheckBox();
    chkNow.setCaption("Always use current date instead");
    chkNow.setWidth("100%");
    mainLayout.addComponent(chkNow);

    cbPeriodicity = new ComboBox();
    cbPeriodicity.setCaption("Periodicity:");
    cbPeriodicity.setNewItemsAllowed(false);
    cbPeriodicity.setNullSelectionAllowed(false);
    cbPeriodicity.setItemCaptionMode(ItemCaptionMode.EXPLICIT);
    cbPeriodicity.setWidth("100%");
    for (URLandCaption u : periodicities) {
        cbPeriodicity.addItem(u.url.toString());
        cbPeriodicity.setItemCaption(u.url.toString(), u.caption);
    }
    mainLayout.addComponent(cbPeriodicity);

    tcsLicenses = new TwinColSelect();
    tcsLicenses.setWidth("97%");
    tcsLicenses.setNewItemsAllowed(true);
    tcsLicenses.setLeftColumnCaption("Available licenses");
    tcsLicenses.setRightColumnCaption("Selected licenses");
    mainLayout.addComponent(tcsLicenses);

    tcsExamples = new TwinColSelect();
    tcsExamples.setWidth("97%");
    tcsExamples.setNewItemsAllowed(true);
    tcsExamples.setLeftColumnCaption("Available example resources");
    tcsExamples.setRightColumnCaption("Selected example resources");
    mainLayout.addComponent(tcsExamples);

    tcsSources = new TwinColSelect();
    tcsSources.setWidth("97%");
    tcsSources.setNewItemsAllowed(true);
    tcsSources.setLeftColumnCaption("Available sources");
    tcsSources.setRightColumnCaption("Selected sources");
    mainLayout.addComponent(tcsSources);

    tcsKeywords = new TwinColSelect();
    tcsKeywords.setWidth("97%");
    tcsKeywords.setNewItemsAllowed(true);
    tcsKeywords.setLeftColumnCaption("Available keywords");
    tcsKeywords.setRightColumnCaption("Selected keywords");
    mainLayout.addComponent(tcsKeywords);

    tcsThemes = new TwinColSelect();
    tcsThemes.setWidth("97%");
    tcsThemes.setNewItemsAllowed(true);
    tcsThemes.setLeftColumnCaption("Available themes");
    tcsThemes.setRightColumnCaption("Selected themes");
    mainLayout.addComponent(tcsThemes);

    tcsLanguages = new TwinColSelect();
    tcsLanguages.setWidth("97%");
    tcsLanguages.setNewItemsAllowed(true);
    tcsLanguages.setLeftColumnCaption("Available languages");
    tcsLanguages.setRightColumnCaption("Selected languages");
    mainLayout.addComponent(tcsLanguages);

    tcsAuthors = new TwinColSelect();
    tcsAuthors.setWidth("97%");
    tcsAuthors.setNewItemsAllowed(true);
    tcsAuthors.setLeftColumnCaption("Available authors");
    tcsAuthors.setRightColumnCaption("Selected authors");
    mainLayout.addComponent(tcsAuthors);

    tcsPublishers = new TwinColSelect();
    tcsPublishers.setWidth("97%");
    tcsPublishers.setNewItemsAllowed(true);
    tcsPublishers.setLeftColumnCaption("Available publishers");
    tcsPublishers.setRightColumnCaption("Selected publishers");
    mainLayout.addComponent(tcsPublishers);

    Panel p = new Panel();
    p.setSizeFull();
    p.setContent(mainLayout);

    setCompositionRoot(p);
}

From source file:fi.vtt.RVaadin.RContainer.java

License:Apache License

/**
 * <p>//from w ww.j  a v  a 2  s.  c o  m
 * Returns a Vaadin TwinColSelect object with an implicit
 * ValueChangeListener that writes the selected options directly to the R
 * workspace. See {@link RContainer#getListSelect} for examples, and how to
 * (re)set the values and set the listener explicitly.
 * </p>
 * 
 * @param optionsInName
 *            The R character vector name to contain the different choices.
 *            Repeated elements will be ignored.
 * @param selectedOutName
 *            The R character variable to immediately write the selection
 *            to.
 * @return Vaadin TwinColSelect object.
 */
public TwinColSelect getTwinColSelect(String optionsInName, final String selectedOutName) {

    final TwinColSelect tcs = new TwinColSelect();

    buildSelectOptions(tcs, optionsInName);
    buildSelectListener(tcs, selectedOutName);

    return tcs;
}

From source file:info.magnolia.security.app.dialog.field.GroupManagementFieldFactory.java

License:Open Source License

@Override
protected AbstractSelect createSelectionField() {
    return new TwinColSelect() {

        @Override/*w ww  . j a va2s  . c  o m*/
        public String getConnectorId() {
            return super.getConnectorId();
        }

        /* (non-Javadoc)
         * @see com.vaadin.ui.AbstractComponent#isVisible()
         */
        @Override
        public boolean isVisible() {
            return super.isVisible();
        }
    };
}

From source file:info.magnolia.security.app.dialog.field.RoleManagementFieldFactory.java

License:Open Source License

@Override
protected AbstractSelect createSelectionField() {
    return new TwinColSelect();
}

From source file:life.qbic.components.OfferGeneratorTab.java

License:Open Source License

/**
 * creates the tab to generate the offers with the respective packages
 * @return vaadin component holding the offer generator
 *///from  w w  w .jav a 2s  . co m
static Component createOfferGeneratorTab() {

    Database db = qOfferManager.getDb();
    TabSheet managerTabs = qOfferManager.getManagerTabs();

    ComboBox selectedProjectComboBox = new ComboBox("Select Project");
    selectedProjectComboBox.setInputPrompt("No project selected!");
    selectedProjectComboBox.setDescription("Please select a project before its too late! :P");
    selectedProjectComboBox.addItems(db.getProjects());
    selectedProjectComboBox.setWidth("300px");

    Button completeButton = new Button("Complete");
    completeButton.setDescription("Click here to finalize the offer and save it into the DB!");
    completeButton.setIcon(FontAwesome.CHECK_CIRCLE);
    completeButton.setEnabled(false);

    // get the package ids and names as a bean container
    final BeanItemContainer<String> packageIdsAndNamesContainer = new BeanItemContainer<>(String.class);
    packageIdsAndNamesContainer.addAll(db.getPackageIdsAndNames());

    TwinColSelect selectPackagesTwinColSelect = new TwinColSelect();
    selectPackagesTwinColSelect.setContainerDataSource(packageIdsAndNamesContainer);
    selectPackagesTwinColSelect.setLeftColumnCaption("Available packages");
    selectPackagesTwinColSelect.setRightColumnCaption("Selected packages");
    selectPackagesTwinColSelect.setSizeFull();

    // text field which functions as a filter for the left side of the twin column select
    TextField twinColSelectFilter = new TextField();
    twinColSelectFilter.setCaption("Filter available packages");
    twinColSelectFilter.addTextChangeListener((FieldEvents.TextChangeListener) event -> {
        packageIdsAndNamesContainer.removeAllContainerFilters();
        packageIdsAndNamesContainer.addContainerFilter(new Container.Filter() {

            @Override
            public boolean passesFilter(Object itemId, Item item) throws UnsupportedOperationException {
                return ((String) itemId).toLowerCase().contains(event.getText().toLowerCase())
                        || ((Collection) selectPackagesTwinColSelect.getValue()).contains(itemId);
            }

            @Override
            public boolean appliesToProperty(Object propertyId) {
                return true;
            }
        });
    });

    VerticalLayout right = new VerticalLayout();
    right.setSpacing(true);
    right.setMargin(true);

    VerticalLayout addPackLayout = new VerticalLayout();
    addPackLayout.setMargin(true);
    addPackLayout.setSpacing(true);

    Panel packageDescriptionPanel = new Panel("Package Details");
    packageDescriptionPanel.setContent(right);

    @SuppressWarnings("deprecation")
    Label packageDetailsLabel = new Label("Package details will appear here!", Label.CONTENT_XHTML);
    packageDetailsLabel.addStyleName(ValoTheme.LABEL_BOLD);
    right.addComponent(packageDetailsLabel);

    addListeners(db, managerTabs, selectedProjectComboBox, completeButton, addPackLayout,
            selectPackagesTwinColSelect, packageDescriptionPanel, packageDetailsLabel, twinColSelectFilter);

    addPackLayout.addComponent(selectedProjectComboBox);

    return addPackLayout;
}

From source file:org.hip.vif.admin.member.ui.SelectMemberLookup.java

License:Open Source License

/** View constructor.
 *
 * @param inSubtitle String//from   www  .j a v a2 s .c  o m
 * @param inRightColumnTitle String
 * @param inMembers {@link MemberBeanContainer} the available members to select from
 * @param inAdmins {@link Collection} the collection of members already selected (must be a subset of
 *            <code>inMembers</code>)
 * @param inTask {@link AbstrachtMemberLookupTask} */
public SelectMemberLookup(final String inSubtitle, final String inRightColumnTitle,
        final MemberBeanContainer inMembers, final Collection<MemberBean> inAdmins,
        final AbstrachtMemberLookupTask inTask) {
    final VerticalLayout lLayout = new VerticalLayout();
    setCompositionRoot(lLayout);

    final IMessages lMessages = Activator.getMessages();
    lLayout.setStyleName("vif-view"); //$NON-NLS-1$
    lLayout.addComponent(new Label(String.format(VIFViewHelper.TMPL_TITLE, "vif-pagetitle", //$NON-NLS-1$
            lMessages.getMessage("ui.member.lookup.title.page")), ContentMode.HTML)); //$NON-NLS-1$
    lLayout.addComponent(new Label(String.format(VIFViewHelper.TMPL_TITLE, "vif-description", inSubtitle), //$NON-NLS-1$
            ContentMode.HTML));

    final TwinColSelect lSelect = new TwinColSelect();
    lSelect.setContainerDataSource(inMembers);
    lSelect.setValue(inAdmins);

    lSelect.setLeftColumnCaption(lMessages.getMessage("ui.member.lookup.available")); //$NON-NLS-1$
    lSelect.setRightColumnCaption(inRightColumnTitle); //$NON-NLS-1$

    lSelect.setWidth(650, Unit.PIXELS);
    lSelect.setRows(19);
    lSelect.setImmediate(true);
    lLayout.addComponent(lSelect);
    lLayout.addComponent(RiplaViewHelper.createSpacer());

    final Button lSave = new Button(lMessages.getMessage("ui.member.button.save")); //$NON-NLS-1$
    lSave.addClickListener(new Button.ClickListener() {
        @Override
        @SuppressWarnings("unchecked")
        public void buttonClick(final ClickEvent inEvent) {
            if (!inTask.selectMembers((Collection<MemberBean>) lSelect.getValue())) {
                Notification.show(lMessages.getMessage("ui.member.lookup.error.msg"), Type.WARNING_MESSAGE); //$NON-NLS-1$
            }
        }
    });
    lLayout.addComponent(lSave);
}