Rev 591 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.vues.rechercheimages.resultats;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasChangeHandlers;
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.HTMLPanel;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Hyperlink;
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 ResultatRechercheImageVue extends Composite implements ResultatRechercheImagePresenteur.Vue {
@UiField
Panel panneauChargement;
private final List<HasWidgets> panneauxImages = new ArrayList<HasWidgets>();
private final int nbImagesPerPage = 10;
private int numImage = 0;
// Annotation can be used to change the name of the associated xml file
// @UiTemplate("ObservationRechercheVue.ui.xml")
interface MyUiBinder extends UiBinder<Widget, ResultatRechercheImageVue> {
}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
@UiField
Panel panneauPagination, panneauPaginationHaut, zoneTri;
@UiField
HTMLPanel imageTable;
@UiField
Button triParNbVotesAscendant, triParNbVotesDescendant, triParDateAscendant, triParDateDescendant;
@UiField
Label aucunResultat;
@UiField
Hyperlink labelVote, labelDate;
@UiField
ListBox listeProtocoles;
// Constructeur
public ResultatRechercheImageVue() {
initWidget(uiBinder.createAndBindUi(this));
}
/**
* Nettoie et remet à zéro les composants du panneau qui doivent l'être
* */
public void nettoyer() {
setNumImage(0);
imageTable.clear();
panneauxImages.clear();
}
public void creerPanneauxObservations(int taille) {
panneauxImages.clear();
for (int i = 0; i < taille; i++) {
Panel imagePanel = new HTMLPanel("");
panneauxImages.add(imagePanel);
}
}
public void afficherElementsAucunResultatTrouve() {
imageTable.clear();
aucunResultat.setVisible(true);
panneauPaginationHaut.setVisible(false);
panneauPagination.setVisible(false);
zoneTri.setVisible(false);
}
public void afficherElementsResultatsTrouve() {
aucunResultat.setVisible(false);
panneauPaginationHaut.setVisible(true);
panneauPagination.setVisible(true);
zoneTri.setVisible(true);
}
public void setNumImage(int numImage) {
this.numImage = numImage;
}
public void startChargement() {
panneauChargement.setHeight((this.getOffsetHeight() - (panneauPagination.getOffsetHeight() * 2)) + "px");
panneauChargement.setVisible(true);
}
public void stopChargement() {
panneauChargement.setVisible(false);
}
public HTMLPanel getImageTable() {
return imageTable;
}
public int getNumImage() {
return numImage;
}
public Panel getPanneauChargement() {
return panneauChargement;
}
public Panel getPanneauPagination() {
return panneauPagination;
}
public Panel getPanneauPaginationHaut() {
return panneauPaginationHaut;
}
public int getNbImagesPerPage() {
return nbImagesPerPage;
}
public List<HasWidgets> getPanneauxImages() {
return panneauxImages;
}
public Button getTriParNbVotesAscendant() {
return triParNbVotesAscendant;
}
public Button getTriParNbVotesDescendant() {
return triParNbVotesDescendant;
}
public Button getTriParDateAscendant() {
return triParDateAscendant;
}
public Button getTriParDateDescendant() {
return triParDateDescendant;
}
public void setListeProtocoles(ListBox listeProtocoles) {
this.listeProtocoles = listeProtocoles;
}
public HasChangeHandlers getListeProtocoles() {
return listeProtocoles;
}
public void ajouterProtocole(String protocole) {
listeProtocoles.addItem(protocole);
}
public void selectionnerProtocole(int index) {
listeProtocoles.setSelectedIndex(index);
}
@Override
public String getNomProtocolSelectionne() {
return listeProtocoles.getValue(listeProtocoles.getSelectedIndex());
}
@Override
public int getIdProtocoleSelectionne() {
return listeProtocoles.getSelectedIndex();
}
@Override
public Hyperlink getLabelVote() {
return labelVote;
}
@Override
public void masquerVoteAscendant() {
triParNbVotesAscendant.setVisible(false);
}
@Override
public void masquerVoteDescendant() {
triParNbVotesDescendant.setVisible(false);
}
@Override
public void afficherVoteAscendant() {
triParNbVotesAscendant.setVisible(true);
}
@Override
public void afficherVoteDescendant() {
triParNbVotesDescendant.setVisible(true);
}
@Override
public Hyperlink getLabelDate() {
return labelDate;
}
@Override
public void masquerDateAscendant() {
triParDateAscendant.setVisible(false);
}
@Override
public void masquerDateDescendant() {
triParDateDescendant.setVisible(false);
}
@Override
public void afficherDateAscendant() {
triParDateAscendant.setVisible(true);
}
@Override
public void afficherDateDescendant() {
triParDateDescendant.setVisible(true);
}
}