Subversion Repositories eFlore/Archives.cel-v2

Rev

Blame | Last modification | View Log | RSS feed

package org.tela_botanica.client.vues;


import java.util.Iterator;



import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.gwtext.client.widgets.form.TextField;

import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ListeReferentielCommune;
import org.tela_botanica.client.modeles.ReferentielCommune;
import org.tela_botanica.client.observation.ObservationMediateur;

/**
 * Affiche une liste de localite qui peuvent etre selectionnees, retourne la valeur de la localite selectionne et une code associe
 * (gettext et getvalue pour le code associe)
 * Utilise un assistant de saisie asynchrone.
 */

public class LocationAssistantVue extends Composite implements Rafraichissable  {

  private AutoCompleteAsyncTextBox autoCompletebox = null;
  //private HorizontalPanel panel = new HorizontalPanel();
  private AbsolutePanel panel = new AbsolutePanel();
  
  private TextField textfield = new TextField("Commune","commune",275);
  
  
  
  private ObservationMediateur observationMediateur = null;
  
  
  public LocationAssistantVue(ObservationMediateur obs) {

        observationMediateur=obs;
        
        
        autoCompletebox = new AutoCompleteAsyncTextBox(this);
          
//      autoCompletebox.setFocus(true); FIXME : ne fonctionne pas
        
 
    autoCompletebox.setFournisseurDeDonnees(observationMediateur.obtenirFournisseurReferentielCommune());
        

    panel.add(textfield);
        panel.add(autoCompletebox,0,0);


        //autoCompletebox.setWidth("100%");
    initWidget(panel);
    
    
  }


public String getText() {
        return autoCompletebox.getText();
}


public void setText(String str) {
        autoCompletebox.setText(str);
}

public void setValue(String value) {
        autoCompletebox.setValue(value);
}

public String getValue() {
        return autoCompletebox.getValue();
}

public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
        
                
                
//               si l'on a reçu une liste d'observation
                if(nouvelleDonnees instanceof ListeReferentielCommune) {
                        
                                ListeReferentielCommune data = (ListeReferentielCommune) nouvelleDonnees ;
                        
                                
                                // on la parse et on récupère les informations quiç nous interessent
                                for (Iterator it = data.keySet().iterator(); it.hasNext();) 
                                {
                                        
                                        ReferentielCommune com=(ReferentielCommune) data.get(it.next());
                                        
                                        autoCompletebox.addItem(com.getCommune(),com.getDepartement());

                                }
        
                                autoCompletebox.displayList();
        
                }         
                            
        
}
  
  
}