Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
445 benjamin 1
package org.tela_botanica.del.client.vues.rechercheobservations.resultats;
2
 
903 gduche 3
import org.tela_botanica.del.client.modeles.ModeTri;
445 benjamin 4
import com.google.gwt.core.client.GWT;
5
import com.google.gwt.uibinder.client.UiBinder;
6
import com.google.gwt.uibinder.client.UiField;
459 benjamin 7
import com.google.gwt.user.client.ui.Button;
445 benjamin 8
import com.google.gwt.user.client.ui.Composite;
9
import com.google.gwt.user.client.ui.HasWidgets;
677 gduche 10
import com.google.gwt.user.client.ui.Hyperlink;
564 benjamin 11
import com.google.gwt.user.client.ui.Label;
445 benjamin 12
import com.google.gwt.user.client.ui.Panel;
13
import com.google.gwt.user.client.ui.Widget;
14
 
15
public class ResultatsRechercheObservationsVue extends Composite implements ResultatsRechercheObservationsPresenteur.Vue {
16
 
17
	@UiField
18
	Panel panneauChargement;
19
 
20
	// Gestion d'UiBinder
21
	interface Binder extends UiBinder<Widget, ResultatsRechercheObservationsVue> {
22
	}
23
 
24
	private static Binder binder = GWT.create(Binder.class);
25
 
26
	@UiField
564 benjamin 27
	Panel zoneObservations, zonePaginationHaut, zonePaginationBas, zoneTri;
445 benjamin 28
 
459 benjamin 29
	@UiField
511 aurelien 30
	Button triParDateAscendant, triParDateDescendant;
459 benjamin 31
 
564 benjamin 32
	@UiField
677 gduche 33
	Label aucunResultat;
34
 
35
	@UiField
36
	Hyperlink labelDate;
564 benjamin 37
 
445 benjamin 38
	// Constructeur de la vue
39
	public ResultatsRechercheObservationsVue() {
40
		initWidget(binder.createAndBindUi(this));
41
	}
903 gduche 42
 
445 benjamin 43
	@Override
44
	public HasWidgets getZoneObservations() {
45
		return zoneObservations;
46
	}
47
 
48
	@Override
49
	public HasWidgets getZonePaginationHaut() {
50
		return zonePaginationHaut;
51
	}
52
 
53
	@Override
54
	public HasWidgets getZonePaginationBas() {
55
		return zonePaginationBas;
56
	}
57
 
58
	/**
59
	 * Nettoie et remet à zéro les composants du panneau qui doivent l'être
60
	 * */
61
	@Override
62
	public void nettoyer() {
63
		zoneObservations.clear();
64
	}
65
 
66
	@Override
67
	public void startChargement() {
68
		panneauChargement.setHeight(zoneObservations.getOffsetHeight() + "px");
69
		panneauChargement.setVisible(true);
70
	}
71
 
72
	@Override
73
	public void stopChargement() {
74
		panneauChargement.setVisible(false);
75
	}
459 benjamin 76
 
564 benjamin 77
	public void afficherElementsAucunResultatTrouve() {
78
		nettoyer();
79
		aucunResultat.setVisible(true);
80
		zonePaginationHaut.setVisible(false);
81
		zonePaginationBas.setVisible(false);
82
		zoneTri.setVisible(false);
83
	}
84
 
85
	public void afficherElementsResultatsTrouves() {
86
		aucunResultat.setVisible(false);
87
		zonePaginationHaut.setVisible(true);
88
		zonePaginationBas.setVisible(true);
89
		zoneTri.setVisible(true);
90
	}
91
 
459 benjamin 92
	public Button getTriParDateAscendant() {
93
		return triParDateAscendant;
94
	}
95
 
96
	public Button getTriParDateDescendant() {
97
		return triParDateDescendant;
98
	}
592 gduche 99
 
100
	@Override
677 gduche 101
	public Hyperlink getLabelDate() {
592 gduche 102
		return labelDate;
103
	}
104
 
105
 
903 gduche 106
	/**
107
	 * En fonction du sens du tri (ascendant ou descendant), on change l'affichage des
108
	 * boutons de tri pour masquer que celui qui doit être cliquable.
109
	 * @param ModeTri le mode Ascendant ou Descendant
110
	 * */
111
	public void setModeTri(ModeTri mode) {
112
		if (mode == ModeTri.TRI_ASCENDANT) {
113
			triParDateAscendant.setVisible(false);
114
			triParDateDescendant.setVisible(true);
115
		} else {
116
			triParDateDescendant.setVisible(false);
117
			triParDateAscendant.setVisible(true);
118
		}
592 gduche 119
	}
445 benjamin 120
}