New file |
0,0 → 1,118 |
package org.tela_botanica.del.client.vues.pictoflora.moteur; |
|
import java.util.List; |
|
import org.tela_botanica.del.client.modeles.Protocole; |
|
import com.google.gwt.core.client.GWT; |
import com.google.gwt.dom.client.NodeList; |
import com.google.gwt.dom.client.OptionElement; |
import com.google.gwt.dom.client.SelectElement; |
import com.google.gwt.event.dom.client.HasChangeHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FlowPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.ListBox; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
|
public class MoteurPictofloraVue extends Composite implements MoteurPictofloraPresenteur.Vue { |
|
private final Panel panneauChargement = new FlowPanel(); |
|
interface MyUiBinder extends UiBinder<Widget, MoteurPictofloraVue> { |
} |
|
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); |
|
@UiField |
Panel panneauResultats, zoneRecherche; |
|
@UiField |
ListBox listeProtocoles; |
|
// Constructeur |
public MoteurPictofloraVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
|
public Panel getPanneauChargement() { |
return panneauChargement; |
} |
|
// Cette méthode est public car appelé dans GestionnaireHistorique |
public Panel getZoneResultats() { |
return panneauResultats; |
} |
|
public void setPanneauResultats(Panel panneauResultats) { |
this.panneauResultats = panneauResultats; |
} |
|
public HasWidgets getZoneRecherche() { |
return zoneRecherche; |
} |
|
@Override |
public void ajouterVue(HasWidgets composite) { |
composite.add(this.asWidget()); |
} |
|
public void setListeProtocoles(ListBox listeProtocoles) { |
this.listeProtocoles = listeProtocoles; |
} |
|
public HasChangeHandlers getListeProtocoles() { |
return listeProtocoles; |
} |
|
public void ajouterProtocole(String NomProtocole, String idProtocole) { |
listeProtocoles.addItem(NomProtocole, idProtocole); |
} |
|
public void selectionnerProtocole(int index) { |
listeProtocoles.setSelectedIndex(index); |
} |
|
@Override |
public String getNomProtocoleSelectionne() { |
return listeProtocoles.getItemText((listeProtocoles.getSelectedIndex())); |
} |
|
@Override |
public int getIdProtocoleSelectionne() { |
return Integer.parseInt(listeProtocoles.getValue((listeProtocoles.getSelectedIndex()))); |
} |
@Override |
public void ajouterProtocoles(List<Protocole> protocoles) { |
SelectElement selectElement = SelectElement.as(listeProtocoles.getElement()); |
NodeList<OptionElement> options = selectElement.getOptions(); |
for (int i = 0; i < protocoles.size(); i++) { |
listeProtocoles.addItem(protocoles.get(i).getNom(), protocoles.get(i).getId()+""); |
options.getItem(i).setTitle(protocoles.get(i).getDescription()); |
} |
} |
|
@Override |
public void mettreAJourDescriptionProtocoleCourant( |
Protocole protocoleCourant) { |
listeProtocoles.setTitle(protocoleCourant.getDescription()); |
} |
|
@Override |
public void selectionnerProtocoleParProtocole(Protocole protocole) { |
int index = 0; |
for (int i = 0; i < listeProtocoles.getItemCount(); i++) { |
int id = Integer.parseInt(listeProtocoles.getValue(i)); |
if (id == protocole.getId()) { |
index = i; |
} |
} |
listeProtocoles.setSelectedIndex(index); |
} |
|
} |