Example usage for com.vaadin.ui Label setSizeUndefined

List of usage examples for com.vaadin.ui Label setSizeUndefined

Introduction

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

Prototype

@Override
    public void setSizeUndefined() 

Source Link

Usage

From source file:fr.amapj.view.views.permanence.PeriodePermanenceSelectorPart.java

License:Open Source License

public HorizontalLayout getChoixPeriodeComponent() {
    // Partie choix 
    HorizontalLayout toolbar1 = new HorizontalLayout();
    toolbar1.addStyleName("periode-permanence-selectorpart");

    Label pLabel = new Label("Priode de permanence");
    pLabel.addStyleName("periode-permanence");
    pLabel.setSizeUndefined();

    toolbar1.addComponent(pLabel);/*from  w  w  w. j  a v  a2s  . c o  m*/

    constructMultiplePeriode(toolbar1);

    toolbar1.setSpacing(true);
    toolbar1.setMargin(false);
    toolbar1.setWidth("100%");

    return toolbar1;
}

From source file:fr.amapj.view.views.producteur.basicform.ProducteurBasicForm.java

License:Open Source License

@Override
public void enterIn(ViewChangeEvent event) {

    // Lecture dans la base de donnes
    mcInfos = new BeanItemContainer<ProducteurDTO>(ProducteurDTO.class);

    // Bind it to a component
    cdesTable = createTable(mcInfos);//  w w  w. j  av a  2s. com

    // Titre des colonnes
    cdesTable.setVisibleColumns(new String[] { "nom", "delaiModifContrat" });
    cdesTable.setColumnHeader("nom", "Nom");
    cdesTable.setColumnHeader("delaiModifContrat", "Dlai avant modification d'un contrat");

    cdesTable.setSelectable(true);
    cdesTable.setImmediate(true);

    // Activation au desactivation des boutons delete et edit
    cdesTable.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(ValueChangeEvent event) {
            setModificationsEnabled(event.getProperty().getValue() != null);
        }

        private void setModificationsEnabled(boolean b) {
            enableButtonBar(b);
        }
    });

    cdesTable.setSizeFull();

    cdesTable.addItemClickListener(new ItemClickListener() {
        @Override
        public void itemClick(ItemClickEvent event) {
            if (event.isDoubleClick()) {
                cdesTable.select(event.getItemId());
            }
        }
    });

    HorizontalLayout toolbar = new HorizontalLayout();
    toolbar.addStyleName("stdlistpart-hlayout-button");

    Label title2 = new Label("Liste des producteurs");
    title2.setSizeUndefined();
    title2.addStyleName("stdlistpart-text-title");

    newButton = new Button("Crer un nouveau producteur");
    newButton.setId("amapj.view.producteur." + "new_button");
    newButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleAjouter();
        }
    });

    editButton = new Button("Modifier");
    editButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleEditer();

        }
    });

    deleteButton = new Button("Supprimer");
    deleteButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleSupprimer();

        }
    });

    searchField = new TextField();
    searchField.setInputPrompt("Rechercher par nom");
    searchField.addTextChangeListener(new TextChangeListener() {

        @Override
        public void textChange(TextChangeEvent event) {
            textFilter = event.getText();
            updateFilters();
        }
    });

    toolbar.addComponent(newButton);
    toolbar.addComponent(editButton);
    toolbar.addComponent(deleteButton);

    toolbar.addComponent(searchField);
    toolbar.setWidth("100%");
    toolbar.setExpandRatio(searchField, 1);
    toolbar.setComponentAlignment(searchField, Alignment.TOP_RIGHT);

    addComponent(title2);
    addComponent(toolbar);
    addComponent(cdesTable);
    setExpandRatio(cdesTable, 1);

    refreshTable();

}

From source file:fr.amapj.view.views.producteur.contrats.ProducteurContratListPart.java

License:Open Source License

@Override
public void enterIn(ViewChangeEvent event) {

    ///*  ww w.  j a va 2  s . c  o  m*/
    producteurSelector = new ProducteurSelectorPart(this);

    // Lecture dans la base de donnes
    mcInfos = new BeanItemContainer<ModeleContratSummaryDTO>(ModeleContratSummaryDTO.class);

    // Bind it to a component
    cdesTable = createTable(mcInfos);

    // Titre des colonnes
    cdesTable.setVisibleColumns(new String[] { "etat", "nom", "finInscription", "dateDebut", "dateFin",
            "nbLivraison", "nbProduit" });
    cdesTable.setColumnHeader("etat", "Etat");
    cdesTable.setColumnHeader("nom", "Nom");
    cdesTable.setColumnHeader("nomProducteur", "Producteur");
    cdesTable.setColumnHeader("finInscription", "Fin inscription");
    cdesTable.setColumnHeader("dateDebut", "Premire livraison");
    cdesTable.setColumnHeader("dateFin", "Dernire livraison");
    cdesTable.setColumnHeader("nbLivraison", "Nb de livraisons");
    cdesTable.setColumnHeader("nbProduit", "Nb de produits");

    //
    cdesTable.setConverter("finInscription", new DateToStringConverter());
    cdesTable.setConverter("dateDebut", new DateToStringConverter());
    cdesTable.setConverter("dateFin", new DateToStringConverter());

    cdesTable.setSelectable(true);
    cdesTable.setImmediate(true);

    // Activation au desactivation des boutons delete et edit
    cdesTable.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(ValueChangeEvent event) {
            setModificationsEnabled(event.getProperty().getValue() != null);
        }

        private void setModificationsEnabled(boolean b) {
            enableButtonBar(b);
        }
    });

    cdesTable.setSizeFull();

    cdesTable.addItemClickListener(new ItemClickListener() {
        @Override
        public void itemClick(ItemClickEvent event) {
            if (event.isDoubleClick()) {
                cdesTable.select(event.getItemId());
            }
        }
    });

    Label title2 = new Label("Liste des contrats d'un producteur");
    title2.setSizeUndefined();
    title2.addStyleName("stdlistpart-text-title");

    HorizontalLayout toolbar = new HorizontalLayout();
    toolbar.addStyleName("stdlistpart-hlayout-button");

    testButton = new Button("Tester");
    testButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleTester();

        }
    });

    telechargerButton = new Button("Tlcharger ...");
    telechargerButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleTelecharger();
        }
    });

    searchField = new TextField();
    searchField.setInputPrompt("Rechercher par nom");
    searchField.addTextChangeListener(new TextChangeListener() {

        @Override
        public void textChange(TextChangeEvent event) {
            textFilter = event.getText();
            updateFilters();
        }
    });

    toolbar.addComponent(testButton);
    toolbar.addComponent(telechargerButton);

    toolbar.addComponent(searchField);
    toolbar.setWidth("100%");
    toolbar.setExpandRatio(searchField, 1);
    toolbar.setComponentAlignment(searchField, Alignment.TOP_RIGHT);

    addComponent(producteurSelector.getChoixProducteurComponent());
    addComponent(title2);
    addComponent(toolbar);
    addComponent(cdesTable);
    setExpandRatio(cdesTable, 1);

    refreshTable();

}

From source file:fr.amapj.view.views.producteur.ProducteurSelectorPart.java

License:Open Source License

private void constructOneProducteur(HorizontalLayout toolbar1) {
    Producteur p = allowedProducteurs.get(0);
    idProducteur = p.getId();// www.j  a v  a  2s.c o  m

    String content = isCompactMode ? p.nom : "Producteur : " + p.nom;
    Label pLabel = BaseUiTools.addStdLabel(toolbar1, content, "unproducteur");
    pLabel.setSizeUndefined(); // Obligatoire pour que le centrage fonctionne 
    toolbar1.setComponentAlignment(pLabel, Alignment.MIDDLE_CENTER);
}

From source file:fr.amapj.view.views.producteur.ProducteurSelectorPart.java

License:Open Source License

private void constructMultipleProducteur(HorizontalLayout toolbar1) {
    if (isCompactMode == false) {
        Label pLabel = new Label("Producteur");
        pLabel.addStyleName("xproducteurs");
        pLabel.setSizeUndefined();
        toolbar1.addComponent(pLabel);//from   www . j a  va 2 s.co m
    }

    producteurBox = new Searcher(SearcherList.PRODUCTEUR, null, allowedProducteurs);
    producteurBox.setImmediate(true);
    producteurBox.addValueChangeListener(e -> handleProducteurChange());

    reinitButton = new Button("Changer de producteur");
    reinitButton.addClickListener(e -> handleReinit());

    toolbar1.addComponent(producteurBox);
    toolbar1.addComponent(reinitButton);
    toolbar1.setExpandRatio(reinitButton, 1);
    toolbar1.setComponentAlignment(reinitButton, Alignment.TOP_RIGHT);

}

From source file:fr.amapj.view.views.saisiepermanence.SaisiePermanenceListPart.java

License:Open Source License

@Override
public void enterIn(ViewChangeEvent event) {

    // Lecture dans la base de donnes
    mcInfos = new BeanItemContainer<PermanenceDTO>(PermanenceDTO.class);

    // Bind it to a component
    cdesTable = createTable(mcInfos);//from  w ww.  ja va2  s . co  m

    // Titre des colonnes
    cdesTable.setVisibleColumns(new String[] { "datePermanence", "utilisateurs", "numeroSession" });
    cdesTable.setColumnHeader("datePermanence", "Date");
    cdesTable.setColumnHeader("utilisateurs", "Personnes de permanence");
    cdesTable.setColumnHeader("numeroSession", "Numro de la session");

    cdesTable.setConverter("datePermanence", new DateToStringConverter());

    cdesTable.setSelectable(true);
    cdesTable.setImmediate(true);

    // Activation au desactivation des boutons delete et edit
    cdesTable.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(ValueChangeEvent event) {
            setModificationsEnabled(event.getProperty().getValue() != null);
        }

        private void setModificationsEnabled(boolean b) {
            enableButtonBar(b);
        }
    });

    cdesTable.setSizeFull();

    cdesTable.addItemClickListener(new ItemClickListener() {
        @Override
        public void itemClick(ItemClickEvent event) {
            if (event.isDoubleClick()) {
                cdesTable.select(event.getItemId());
            }
        }
    });

    HorizontalLayout toolbar = new HorizontalLayout();
    toolbar.addStyleName("stdlistpart-hlayout-button");

    Label title2 = new Label("Planning des permanences");
    title2.setSizeUndefined();
    title2.addStyleName("stdlistpart-text-title");

    newButton = new Button("Crer une nouvelle permanence");
    newButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleAjouter();
        }
    });

    editButton = new Button("Modifier");
    editButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleEditer();

        }
    });

    deleteButton = new Button("Supprimer");
    deleteButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleSupprimer();

        }
    });

    planifButton = new Button("Planifier");
    planifButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handlePlanification();
        }
    });

    rappelButton = new Button("Envoyer un rappel");
    rappelButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleRappel();
        }
    });

    deleteListButton = new Button("Supprimer plusieurs permanences");
    deleteListButton.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            handleDeleteList();
        }
    });

    searchField = new TextField();
    searchField.setInputPrompt("Rechercher par nom");
    searchField.addTextChangeListener(new TextChangeListener() {

        @Override
        public void textChange(TextChangeEvent event) {
            textFilter = event.getText();
            updateFilters();
        }
    });

    toolbar.addComponent(newButton);
    toolbar.addComponent(editButton);
    toolbar.addComponent(deleteButton);
    toolbar.addComponent(planifButton);
    toolbar.addComponent(rappelButton);
    toolbar.addComponent(deleteListButton);

    toolbar.addComponent(searchField);
    toolbar.setWidth("100%");
    toolbar.setExpandRatio(searchField, 1);
    toolbar.setComponentAlignment(searchField, Alignment.TOP_RIGHT);

    addComponent(title2);
    addComponent(toolbar);
    addComponent(LinkCreator.createLink(new EGPlanningPermanence(new Date())));
    addComponent(cdesTable);
    setExpandRatio(cdesTable, 1);
    setSizeFull();
    setMargin(true);
    setSpacing(true);

    refreshTable();

}

From source file:fr.amapj.view.views.suiviacces.SuiviAccesView.java

License:Open Source License

/**
 * /*from w ww  . j  a  v a2 s .com*/
 */
@Override
public void enterIn(ViewChangeEvent event) {
    listPartContainer = new BeanItemContainer<>(ConnectedUserDTO.class);

    // on trie par nom puis prenom
    listPartContainer.sort(new String[] { "nom", "prenom" }, new boolean[] { true, true });

    // Bind it to a component
    beanTable = createTable(listPartContainer);

    // Gestion de la liste des colonnes visibles
    beanTable.setVisibleColumns("nom", "prenom", "email", "date", "agent", "dbName");

    beanTable.setColumnHeader("nom", "Nom");
    beanTable.setColumnHeader("prenom", "Prnom");
    beanTable.setColumnHeader("email", "E mail");
    beanTable.setColumnHeader("date", "Date connexion");
    beanTable.setColumnHeader("agent", "Browser");
    beanTable.setColumnHeader("dbName", "Nom de la base");

    beanTable.setConverter("date", new DateTimeToStringConverter());

    beanTable.setSelectable(true);
    beanTable.setImmediate(true);

    beanTable.setSizeFull();

    beanTable.addItemClickListener(new ItemClickListener() {
        @Override
        public void itemClick(ItemClickEvent event) {
            if (event.isDoubleClick()) {
                beanTable.select(event.getItemId());
            }
        }
    });

    HorizontalLayout toolbar = new HorizontalLayout();

    Button sendMsg = new Button("Envoyer un message  tous");
    sendMsg.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            FormPopup.open(new PopupSaisieMessage());
        }
    });

    Button resfresh = new Button("Rafraichir");
    resfresh.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            refresh();
        }
    });

    toolbar.addComponent(sendMsg);
    toolbar.addComponent(resfresh);

    Label title = new Label("Liste des personnes connectes");
    title.setSizeUndefined();
    title.addStyleName("stdlistpart-text-title");

    searchField = new TextField();
    searchField.setInputPrompt("Rechercher par le nom ou l'email");
    searchField.addTextChangeListener(new TextChangeListener() {

        @Override
        public void textChange(TextChangeEvent event) {
            textFilter = event.getText();
            updateFilters();
        }
    });
    searchField.addStyleName(ChameleonTheme.TEXTFIELD_BIG);
    searchField.setWidth("50%");

    toolbar.addComponent(searchField);
    toolbar.setWidth("100%");
    toolbar.setExpandRatio(searchField, 1);
    toolbar.setComponentAlignment(searchField, Alignment.TOP_RIGHT);

    addComponent(title);
    addComponent(toolbar);
    addComponent(beanTable);
    setExpandRatio(beanTable, 1);

    refresh();

}

From source file:fr.univlorraine.mondossierweb.MainUI.java

License:Apache License

/**
 * Construction du menu tudiant/*from ww  w  .  j  a va 2  s . c o m*/
 */
private void buildMainMenuEtudiant() {

    //Si l'tudiant dont on affiche le dossier est renseign
    if (etudiant != null) {

        //Ajout du style au menu
        mainMenu.setPrimaryStyleName(ValoTheme.MENU_PART);
        //On fixe la largeur du menu
        mainMenu.setWidth("233px");

        //Si on a une url pour la photo de l'tudiant
        if (etudiant.getPhoto() != null) {
            //Layout contenant la photo
            HorizontalLayout photoLayout = new HorizontalLayout();

            //Ajout du style au layout
            photoLayout.addStyleName(ValoTheme.MENU_SUBTITLE);
            //On fixe la largeur du layout
            photoLayout.setWidth(213, Unit.PIXELS);
            //La layout a des marges
            photoLayout.setMargin(true);

            //Bouton qui indique, en fonction de l'icone, si l'tudiant est inscrit pour l'anne en cours. Par dfaut, icone indiquant que l'tudiant est inscrit
            Button etuInscritBtn = new Button("", FontAwesome.CHECK_CIRCLE);
            //Ajout du style au bouton
            etuInscritBtn.setPrimaryStyleName(ValoTheme.BUTTON_BORDERLESS);

            //Si l'tudiant est inscrit pour l'anne en cours
            if (etudiant.isInscritPourAnneeEnCours()) {
                //On fixe la description du bouton
                etuInscritBtn.setDescription("Inscrit pour l'anne universitaire "
                        + Utils.getAnneeUniversitaireEnCours(etudiantController.getAnneeUnivEnCours(this)));
            } else {
                //On change l'icone du bouton pour indiquer que l'tudiant n'est pas inscrit
                etuInscritBtn.setIcon(FontAwesome.EXCLAMATION_CIRCLE);
                //On fixe la description du bouton
                etuInscritBtn.setDescription("Non Inscrit pour l'anne universitaire "
                        + Utils.getAnneeUniversitaireEnCours(etudiantController.getAnneeUnivEnCours(this)));
            }

            //Ajout d'un lment vide dans le layout
            photoLayout.addComponent(new HorizontalLayout());

            //Cration de l'image contenant la photo
            Image fotoEtudiant = new Image(null, new ExternalResource(etudiant.getPhoto()));
            fotoEtudiant.setWidth("120px");
            //Ajout de la photo au layout
            photoLayout.addComponent(fotoEtudiant);
            //Alignement de la photo
            photoLayout.setComponentAlignment(fotoEtudiant, Alignment.MIDDLE_CENTER);
            //La photo prend toute la place disponible dans son layout
            photoLayout.setExpandRatio(fotoEtudiant, 1);

            //Ajout au layout du bouton, qui indique, en fonction de l'icone, si l'tudiant est inscrit pour l'anne en cours
            photoLayout.addComponent(etuInscritBtn);

            //Ajout du layout de la photo au menu
            mainMenu.addComponent(photoLayout);
        }

        //Ajout du Prnom/Nom et codetu de l'tudiant dans le menu
        Label usernameLabel = new Label(etudiant.getNom() + "<br />" + etudiant.getCod_etu(), ContentMode.HTML);
        usernameLabel.addStyleName(ValoTheme.MENU_SUBTITLE);
        usernameLabel.addStyleName("retourALaLigneAutomatique");
        usernameLabel.setSizeUndefined();
        mainMenu.addComponent(usernameLabel);

        /* Etat Civil */
        addItemMenu("Etat-civil", EtatCivilView.NAME, FontAwesome.USER);

        //info annuelles visibles que si tudiant inscrit pour l'anne en cours
        if (etudiant.isInscritPourAnneeEnCours()) {
            addItemMenu("Informations annuelles", InformationsAnnuellesView.NAME, FontAwesome.INFO_CIRCLE);
        }

        /* Adresses */
        addItemMenu(applicationContext.getMessage(AdressesView.NAME + ".title", null, getLocale()),
                AdressesView.NAME, FontAwesome.HOME);

        /* Inscriptions */
        addItemMenu("Inscriptions", InscriptionsView.NAME, FontAwesome.FILE_TEXT);

        /* Calendrier */
        addItemMenu("Calendrier des preuves", CalendrierView.NAME, FontAwesome.CALENDAR);

        /* Notes et Rsultats */
        addItemMenu(applicationContext.getMessage(NotesView.NAME + ".title", null, getLocale()), NotesView.NAME,
                FontAwesome.LIST);

        /* Sparation avant Bouton "Aide" */
        CssLayout bottomMainMenu1 = new CssLayout();
        bottomMainMenu1.setStyleName(ValoTheme.MENU_SUBTITLE);
        bottomMainMenu1.setSizeUndefined();
        mainMenu.addComponent(bottomMainMenu1);

        /* Aide */
        Button helpBtn = new Button(applicationContext.getMessage("helpWindow.defaultTitle", null, getLocale()),
                FontAwesome.SUPPORT);
        helpBtn.setPrimaryStyleName(ValoTheme.MENU_ITEM);
        helpBtn.addClickListener(e -> {
            UI.getCurrent()
                    .addWindow(new HelpBasicWindow(
                            applicationContext.getMessage("helpWindow.text.etudiant", null, getLocale()),
                            applicationContext.getMessage("helpWindow.defaultTitle", null, getLocale()), true));
        });
        mainMenu.addComponent(helpBtn);

        /* Deconnexion */
        //Voir si on peut accder  l'appli hors ENT, le dtecter, et afficher le bouton dconnexion
        if (configController.isLogoutCasPropose() && userController.isEtudiant()) {
            Button decoBtn = new Button("Dconnexion", FontAwesome.SIGN_OUT);
            decoBtn.setPrimaryStyleName(ValoTheme.MENU_ITEM);
            decoBtn.addClickListener(e -> {
                getUI().getPage().setLocation("j_spring_security_logout");
            });
            mainMenu.addComponent(decoBtn);
        }
        /* Sparation */
        CssLayout bottomMainMenu = new CssLayout();
        bottomMainMenu.setStyleName(ValoTheme.MENU_SUBTITLE);
        bottomMainMenu.setSizeUndefined();
        mainMenu.addComponent(bottomMainMenu);

    }
}

From source file:info.magnolia.configuration.app.overview.toolbar.ToolbarViewImpl.java

License:Open Source License

private Component decorateComponent(String caption, Component toWrap) {
    final HorizontalLayout result = new HorizontalLayout();
    result.setDefaultComponentAlignment(Alignment.MIDDLE_LEFT);

    result.setSpacing(true);// w ww  .ja  v  a  2  s  .  co  m
    result.setSizeUndefined();

    final Label captionLabel = new Label(caption);
    captionLabel.setSizeUndefined();
    captionLabel.addStyleName("caption-label");

    result.addComponent(captionLabel);
    result.addComponent(toWrap);

    return result;
}

From source file:info.magnolia.ui.admincentral.shellapp.favorites.FavoritesForm.java

License:Open Source License

private void init() {
    addStyleName("favorites-form");
    final VerticalLayout favoriteForm = new VerticalLayout();
    favoriteEntryForm = new InternalFavoriteEntryForm();
    favoriteGroupForm = new InternalFavoriteGroupForm();

    tabsheet = new TabSheet();
    tabsheet.addStyleName("favorites-tabs");
    tabsheet.addTab(favoriteEntryForm, i18n.translate("favorites.form.favorite.add"));
    tabsheet.addTab(favoriteGroupForm, i18n.translate("favorites.form.group.add"));

    tabsheet.addSelectedTabChangeListener(new SelectedTabChangeListener() {

        @Override//from  w  w w  . j a  va2  s .  c  o  m
        public void selectedTabChange(SelectedTabChangeEvent event) {
            if (event.getTabSheet().getSelectedTab() instanceof InternalFavoriteEntryForm) {
                favoriteGroupForm.removeEnterKeyShortcutListener();
                favoriteEntryForm.addEnterKeyShortcutListener();
            } else {
                favoriteEntryForm.removeEnterKeyShortcutListener();
                favoriteGroupForm.addEnterKeyShortcutListener();
            }
        }
    });

    final CssLayout header = new CssLayout();
    header.addStyleName("dialog-header");
    header.setSizeFull();
    header.addLayoutClickListener(new LayoutClickListener() {
        @Override
        public void layoutClick(LayoutClickEvent event) {
            // change the visibility of the group- and favorite-items
            if (event.getClickedComponent() == editIcon || event.getChildComponent() == editLabel) {
                if (!listener.hasItems() || listener.itemsAreEditable()) {
                    listener.setToInitialState();
                } else {
                    listener.setItemsEditable(true);
                }
            } else {
                // just open || close the FavoritesForm
                if (isOpen()) {
                    close();
                } else {
                    open();
                }
            }
        }
    });

    // add
    final Label addNewIcon = new Label();
    addNewIcon.setSizeUndefined();
    addNewIcon.addStyleName("icon");
    addNewIcon.addStyleName("icon-add-fav");
    final Label addNewLabel = new Label(i18n.translate("favorites.form.add"));
    addNewLabel.setSizeUndefined();
    addNewLabel.addStyleName("title");

    // edit
    editIcon = new Label();
    editIcon.setSizeUndefined();
    editIcon.addStyleName(EDIT_ACTION_STYLENAME);
    editIcon.addStyleName("icon");
    editIcon.addStyleName("icon-edit");

    editLabel = new Label(i18n.translate("favorites.form.favorite.edit"));
    editLabel.setSizeUndefined();
    editLabel.addStyleName("title");
    editLabel.addStyleName(EDIT_ACTION_STYLENAME);

    // arrow
    arrowIcon = new Label();
    arrowIcon.setSizeUndefined();
    arrowIcon.addStyleName("icon");
    arrowIcon.addStyleName("arrow");
    arrowIcon.addStyleName("icon-arrow2_n");

    // assemble
    header.addComponent(addNewIcon);
    header.addComponent(addNewLabel);
    header.addComponent(editIcon);
    header.addComponent(editLabel);
    header.addComponent(arrowIcon);
    favoriteForm.addComponent(header);
    favoriteForm.addComponent(tabsheet);

    // form is closed initially
    close();
    setCompositionRoot(favoriteForm);
}