Subversion Repositories eFlore/Applications.coel

Rev

Rev 1513 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.composants;

import org.tela_botanica.client.images.Images;

import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
import com.google.gwt.user.client.ui.Image;

public class ChampMultiValeursImage extends ChampMultiValeurs {
                
        private String height, width;
        private LayoutContainer sousContenu = null;
        
        public ChampMultiValeursImage() {
                super(null, 0);
                initialiserSousContenu();
                
        }
        
        public ChampMultiValeursImage(String label) {
                super(label, 0);
                initialiserSousContenu();
        }
        
        public ChampMultiValeursImage(String label, int largeurTotale) {
                super(label, largeurTotale);
                initialiserSousContenu();
        }
        
        public void initialiserSousContenu()    {
                sousContenu = new LayoutContainer(new ColumnLayout());
                principalLayout.add(sousContenu);
        }
        
        public void setImageHeight(String height)       {
                this.height = height;
        }
        
        public void setImageWidth(String width) {
                this.width = width;
        }
        
        public void ajouterValeur(final String strUrl)  {
                LayoutContainer lcUrl = new LayoutContainer();
                lcUrl.setLayout(new RowLayout());
                valeurs.put(strUrl, lcUrl);
                
                Image logo = new Image(strUrl);
                logo.setTitle(strUrl);
                if (height != null)     {
                        logo.setHeight(height);
                }
                
                if (width != null)      {
                        logo.setWidth(width);
                }
                
                lcUrl.add(logo);
                
                Button supprimerBouton = new Button();
                supprimerBouton.setIcon(Images.ICONES.supprimer());
                supprimerBouton.setData("valeur", strUrl);
                supprimerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
                        public void componentSelected(ButtonEvent ce) {
                                String valeur = ce.getComponent().getData("valeur");
                                LayoutContainer valeurLayout = valeurs.get(valeur);
                                sousContenu.remove(valeurLayout);
                                valeurs.remove(valeur);
                                supprimerValeurDuRecapitulatif(valeur);
                                
                                actualiserLayoutGlobal();
                        }
                });
                lcUrl.add(supprimerBouton);
                
                // Ajout du layout de la valeur au layout principal
                sousContenu.add(lcUrl);
                
                // Ajout de la valeur au champ récapitulatif des valeurs ajoutées
                ajouterValeurAuRecapitulatif(strUrl);
                reinitialiserChamp();
                actualiserLayoutGlobal();
        }       
}