Rev 2050 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.vues.identiplante.resultats;
import org.tela_botanica.del.client.modeles.ModeTri;
import com.google.gwt.core.client.GWT;
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.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;
public class ResultatsIdentiplanteVue extends Composite implements ResultatsIdentiplantePresenteur.Vue {
@UiField
Panel panneauChargement;
// Gestion d'UiBinder
interface Binder extends UiBinder<Widget, ResultatsIdentiplanteVue> {
}
private static Binder binder = GWT.create(Binder.class);
@UiField
Panel zoneObservations, zonePaginationHaut, zonePaginationBas, zoneTri;
@UiField
Button triParDateObservationAscendant, triParDateObservationDescendant,
triParDatePublicationAscendant, triParDatePublicationDescendant,
triParNbCommentairesAscendant, triParNbCommentairesDescendant;
@UiField
Label aucunResultat, labelDateObservation, labelDatePublication, labelNbCommentaires;
// Constructeur de la vue
public ResultatsIdentiplanteVue() {
initWidget(binder.createAndBindUi(this));
}
@Override
public HasWidgets getZoneObservations() {
return zoneObservations;
}
@Override
public HasWidgets getZonePaginationHaut() {
return zonePaginationHaut;
}
@Override
public HasWidgets getZonePaginationBas() {
return zonePaginationBas;
}
/**
* Nettoie et remet à zéro les composants du panneau qui doivent l'être
* */
@Override
public void nettoyer() {
zoneObservations.clear();
}
@Override
public void startChargement() {
panneauChargement.setHeight(zoneObservations.getOffsetHeight() + "px");
panneauChargement.setVisible(true);
}
@Override
public void stopChargement() {
panneauChargement.setVisible(false);
}
public void afficherElementsAucunResultatTrouve() {
nettoyer();
aucunResultat.setVisible(true);
zonePaginationHaut.setVisible(false);
zonePaginationBas.setVisible(false);
zoneTri.setVisible(false);
}
public void afficherElementsResultatsTrouves() {
aucunResultat.setVisible(false);
zonePaginationHaut.setVisible(true);
zonePaginationBas.setVisible(true);
zoneTri.setVisible(true);
}
public void afficherCacherZoneTri(boolean afficher) {
zoneTri.setVisible(afficher);
}
public Button getTriParDateObservationAscendant() {
return triParDateObservationAscendant;
}
public Button getTriParDateObservationDescendant() {
return triParDateObservationDescendant;
}
public Button getTriParDatePublicationAscendant() {
return triParDatePublicationAscendant;
}
public Button getTriParDatePublicationDescendant() {
return triParDatePublicationDescendant;
}
@Override
public Label getLabelDateObservation() {
return labelDateObservation;
}
@Override
public Label getLabelDatePublication() {
return labelDatePublication;
}
@Override
public Label getLabelNbCommentaires() {
return labelNbCommentaires;
}
@Override
public HasClickHandlers getTriParNbCommentairesAscendant() {
return triParNbCommentairesAscendant;
}
@Override
public HasClickHandlers getTriParNbCommentairesDescendant() {
return triParNbCommentairesDescendant;
}
private void cacherTris() {
triParDateObservationAscendant.setVisible(false);
triParDateObservationDescendant.setVisible(false);
triParDatePublicationDescendant.setVisible(false);
triParDatePublicationAscendant.setVisible(false);
triParNbCommentairesAscendant.setVisible(false);
triParNbCommentairesDescendant.setVisible(false);
}
/**
* En fonction du sens du tri (ascendant ou descendant), on change l'affichage des
* boutons de tri pour masquer que celui qui doit être cliquable.
* @param ModeTri le mode Ascendant ou Descendant
* */
@Override
public void setModeTriPublication(ModeTri mode) {
cacherTris();
if (mode == ModeTri.TRI_ASCENDANT) {
triParDatePublicationAscendant.setVisible(true);
triParDatePublicationDescendant.setVisible(false);
} else {
triParDatePublicationDescendant.setVisible(true);
triParDatePublicationAscendant.setVisible(false);
}
}
/**
* En fonction du sens du tri (ascendant ou descendant), on change l'affichage des
* boutons de tri pour masquer que celui qui doit être cliquable.
* @param ModeTri le mode Ascendant ou Descendant
* */
@Override
public void setModeTriObservation(ModeTri mode) {
cacherTris();
if (mode == ModeTri.TRI_ASCENDANT) {
triParDateObservationAscendant.setVisible(true);
triParDateObservationDescendant.setVisible(false);
} else {
triParDateObservationDescendant.setVisible(true);
triParDateObservationAscendant.setVisible(false);
}
}
@Override
public void setModeTriNbCommentaires(ModeTri mode) {
cacherTris();
if (mode == ModeTri.TRI_ASCENDANT) {
triParNbCommentairesAscendant.setVisible(true);
triParNbCommentairesDescendant.setVisible(false);
} else {
triParNbCommentairesDescendant.setVisible(true);
triParNbCommentairesAscendant.setVisible(false);
}
}
}