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.identiplante.resultats;
2
 
3
import org.tela_botanica.del.client.modeles.ModeTri;
4
 
5
import com.google.gwt.core.client.GWT;
1934 aurelien 6
import com.google.gwt.event.dom.client.HasClickHandlers;
1196 gduche 7
import com.google.gwt.uibinder.client.UiBinder;
8
import com.google.gwt.uibinder.client.UiField;
9
import com.google.gwt.user.client.ui.Button;
10
import com.google.gwt.user.client.ui.Composite;
11
import com.google.gwt.user.client.ui.HasWidgets;
12
import com.google.gwt.user.client.ui.Label;
13
import com.google.gwt.user.client.ui.Panel;
14
import com.google.gwt.user.client.ui.Widget;
15
 
16
public class ResultatsIdentiplanteVue extends Composite implements ResultatsIdentiplantePresenteur.Vue {
17
 
18
	@UiField
19
	Panel panneauChargement;
20
 
21
	// Gestion d'UiBinder
22
	interface Binder extends UiBinder<Widget, ResultatsIdentiplanteVue> {
23
	}
24
 
25
	private static Binder binder = GWT.create(Binder.class);
26
 
27
	@UiField
28
	Panel zoneObservations, zonePaginationHaut, zonePaginationBas, zoneTri;
29
 
30
	@UiField
1934 aurelien 31
	Button triParDateObservationAscendant, triParDateObservationDescendant,
32
			triParDatePublicationAscendant, triParDatePublicationDescendant,
33
			triParNbCommentairesAscendant, triParNbCommentairesDescendant;
1196 gduche 34
 
35
	@UiField
1934 aurelien 36
	Label aucunResultat, labelDateObservation, labelDatePublication, labelNbCommentaires;
1196 gduche 37
 
38
 
39
	// Constructeur de la vue
40
	public ResultatsIdentiplanteVue() {
41
		initWidget(binder.createAndBindUi(this));
42
	}
43
 
44
	@Override
45
	public HasWidgets getZoneObservations() {
46
		return zoneObservations;
47
	}
48
 
49
	@Override
50
	public HasWidgets getZonePaginationHaut() {
51
		return zonePaginationHaut;
52
	}
53
 
54
	@Override
55
	public HasWidgets getZonePaginationBas() {
56
		return zonePaginationBas;
57
	}
58
 
59
	/**
60
	 * Nettoie et remet à zéro les composants du panneau qui doivent l'être
61
	 * */
62
	@Override
63
	public void nettoyer() {
64
		zoneObservations.clear();
65
	}
66
 
67
	@Override
68
	public void startChargement() {
69
		panneauChargement.setHeight(zoneObservations.getOffsetHeight() + "px");
70
		panneauChargement.setVisible(true);
71
	}
72
 
73
	@Override
74
	public void stopChargement() {
75
		panneauChargement.setVisible(false);
76
	}
77
 
78
	public void afficherElementsAucunResultatTrouve() {
79
		nettoyer();
80
		aucunResultat.setVisible(true);
81
		zonePaginationHaut.setVisible(false);
82
		zonePaginationBas.setVisible(false);
83
		zoneTri.setVisible(false);
84
	}
85
 
86
	public void afficherElementsResultatsTrouves() {
87
		aucunResultat.setVisible(false);
88
		zonePaginationHaut.setVisible(true);
89
		zonePaginationBas.setVisible(true);
90
		zoneTri.setVisible(true);
91
	}
92
 
1934 aurelien 93
	public Button getTriParDateObservationAscendant() {
94
		return triParDateObservationAscendant;
1196 gduche 95
	}
96
 
1934 aurelien 97
	public Button getTriParDateObservationDescendant() {
98
		return triParDateObservationDescendant;
1196 gduche 99
	}
100
 
1934 aurelien 101
	public Button getTriParDatePublicationAscendant() {
102
		return triParDatePublicationAscendant;
103
	}
104
 
105
	public Button getTriParDatePublicationDescendant() {
106
		return triParDatePublicationDescendant;
107
	}
108
 
1196 gduche 109
	@Override
1934 aurelien 110
	public Label getLabelDateObservation() {
111
		return labelDateObservation;
1196 gduche 112
	}
113
 
1934 aurelien 114
	@Override
115
	public Label getLabelDatePublication() {
116
		return labelDatePublication;
117
	}
1196 gduche 118
 
1934 aurelien 119
	@Override
120
	public Label getLabelNbCommentaires() {
121
		return labelNbCommentaires;
122
	}
123
 
124
	@Override
125
	public HasClickHandlers getTriParNbCommentairesAscendant() {
126
		return triParNbCommentairesAscendant;
127
	}
128
 
129
	@Override
130
	public HasClickHandlers getTriParNbCommentairesDescendant() {
131
		return triParNbCommentairesDescendant;
132
	}
133
 
134
	private void cacherTris() {
135
		triParDateObservationAscendant.setVisible(false);
136
		triParDateObservationDescendant.setVisible(false);
137
 
138
		triParDatePublicationDescendant.setVisible(false);
139
		triParDatePublicationAscendant.setVisible(false);
140
 
141
		triParNbCommentairesAscendant.setVisible(false);
142
		triParNbCommentairesDescendant.setVisible(false);
143
	}
144
 
1196 gduche 145
	/**
146
	 * En fonction du sens du tri (ascendant ou descendant), on change l'affichage des
147
	 * boutons de tri pour masquer que celui qui doit être cliquable.
148
	 * @param ModeTri le mode Ascendant ou Descendant
149
	 * */
1934 aurelien 150
	@Override
151
	public void setModeTriPublication(ModeTri mode) {
152
		cacherTris();
1196 gduche 153
		if (mode == ModeTri.TRI_ASCENDANT) {
1934 aurelien 154
			triParDatePublicationAscendant.setVisible(true);
155
			triParDatePublicationDescendant.setVisible(false);
1196 gduche 156
		} else {
1934 aurelien 157
			triParDatePublicationDescendant.setVisible(true);
158
			triParDatePublicationAscendant.setVisible(false);
1196 gduche 159
		}
160
	}
1934 aurelien 161
 
162
	/**
163
	 * En fonction du sens du tri (ascendant ou descendant), on change l'affichage des
164
	 * boutons de tri pour masquer que celui qui doit être cliquable.
165
	 * @param ModeTri le mode Ascendant ou Descendant
166
	 * */
167
	@Override
168
	public void setModeTriObservation(ModeTri mode) {
169
		cacherTris();
170
		if (mode == ModeTri.TRI_ASCENDANT) {
171
			triParDateObservationAscendant.setVisible(true);
172
			triParDateObservationDescendant.setVisible(false);
173
		} else {
174
			triParDateObservationDescendant.setVisible(true);
175
			triParDateObservationAscendant.setVisible(false);
176
		}
177
	}
178
 
179
 
180
	@Override
181
	public void setModeTriNbCommentaires(ModeTri mode) {
182
		cacherTris();
183
		if (mode == ModeTri.TRI_ASCENDANT) {
184
			triParNbCommentairesAscendant.setVisible(true);
185
			triParNbCommentairesDescendant.setVisible(false);
186
		} else {
187
			triParNbCommentairesDescendant.setVisible(true);
188
			triParNbCommentairesAscendant.setVisible(false);
189
		}
190
	}
1196 gduche 191
}