Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1196 gduche 1
package org.tela_botanica.del.client.vues.pictoflora.moteur;
2
 
1203 gduche 3
import java.util.List;
4
 
5
import org.tela_botanica.del.client.modeles.Protocole;
6
 
1196 gduche 7
import com.google.gwt.core.client.GWT;
1203 gduche 8
import com.google.gwt.dom.client.NodeList;
9
import com.google.gwt.dom.client.OptionElement;
10
import com.google.gwt.dom.client.SelectElement;
1196 gduche 11
import com.google.gwt.event.dom.client.HasChangeHandlers;
12
import com.google.gwt.event.dom.client.HasClickHandlers;
13
import com.google.gwt.uibinder.client.UiBinder;
14
import com.google.gwt.uibinder.client.UiField;
15
import com.google.gwt.user.client.ui.Composite;
16
import com.google.gwt.user.client.ui.FlowPanel;
17
import com.google.gwt.user.client.ui.HasWidgets;
18
import com.google.gwt.user.client.ui.Label;
19
import com.google.gwt.user.client.ui.ListBox;
20
import com.google.gwt.user.client.ui.Panel;
21
import com.google.gwt.user.client.ui.Widget;
22
 
23
public class MoteurPictofloraVue extends Composite implements MoteurPictofloraPresenteur.Vue {
24
 
25
	private final Panel panneauChargement = new FlowPanel();
26
 
27
	interface MyUiBinder extends UiBinder<Widget, MoteurPictofloraVue> {
28
	}
29
 
30
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
31
 
32
	@UiField
33
	Panel panneauResultats, zoneRecherche, zonePartageUrl;
34
 
35
	@UiField
36
	Label ajouterObservation;
37
 
1203 gduche 38
	@UiField
39
	ListBox listeProtocoles;
40
 
1196 gduche 41
	// Constructeur
42
	public MoteurPictofloraVue() {
43
		initWidget(uiBinder.createAndBindUi(this));
44
	}
45
 
46
	public Panel getPanneauChargement() {
47
		return panneauChargement;
48
	}
49
 
50
	public Panel getZonePartageUrl() {
51
		return zonePartageUrl;
52
	}
53
 
54
	// Cette méthode est public car appelé dans GestionnaireHistorique
55
	public Panel getZoneResultats() {
56
		return panneauResultats;
57
	}
58
 
59
	public void setPanneauResultats(Panel panneauResultats) {
60
		this.panneauResultats = panneauResultats;
61
	}
62
 
63
	public HasWidgets getZoneRecherche() {
64
		return zoneRecherche;
65
	}
66
 
67
	@Override
68
	public HasClickHandlers getLienAjoutObservation() {
69
		return ajouterObservation;
70
	}
71
 
72
	@Override
73
	public void ajouterVue(HasWidgets composite) {
74
		composite.add(this.asWidget());
75
	}
1203 gduche 76
 
77
	public void setListeProtocoles(ListBox listeProtocoles) {
78
		this.listeProtocoles = listeProtocoles;
79
	}
80
 
81
	public HasChangeHandlers getListeProtocoles() {
82
		return listeProtocoles;
83
	}
84
 
85
	public void ajouterProtocole(String NomProtocole, String idProtocole) {
86
		listeProtocoles.addItem(NomProtocole, idProtocole);
87
	}
1196 gduche 88
 
1203 gduche 89
	public void selectionnerProtocole(int index) {
90
		listeProtocoles.setSelectedIndex(index);
91
	}
92
 
93
	@Override
94
	public String getNomProtocoleSelectionne() {
95
		return listeProtocoles.getItemText((listeProtocoles.getSelectedIndex()));
96
	}
97
 
98
	@Override
99
	public int getIdProtocoleSelectionne() {
100
		return Integer.parseInt(listeProtocoles.getValue((listeProtocoles.getSelectedIndex())));
101
	}
102
	@Override
103
	public void ajouterProtocoles(List<Protocole> protocoles) {
104
		SelectElement selectElement = SelectElement.as(listeProtocoles.getElement());
105
		NodeList<OptionElement> options = selectElement.getOptions();
106
	    for (int i = 0; i < protocoles.size(); i++) {
107
	    	listeProtocoles.addItem(protocoles.get(i).getNom(), protocoles.get(i).getId()+"");
108
	        options.getItem(i).setTitle(protocoles.get(i).getDescription());
109
	    }
110
	}
111
 
112
	@Override
113
	public void mettreAJourDescriptionProtocoleCourant(
114
			Protocole protocoleCourant) {
115
		listeProtocoles.setTitle(protocoleCourant.getDescription());
116
	}
117
 
1196 gduche 118
}