Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 177 → Rev 178

/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImageVue.java
New file
0,0 → 1,122
package org.tela_botanica.del.client.vues.rechercheimages.resultats;
 
import java.util.ArrayList;
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Image;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
 
public class ResultatRechercheImageVue extends Composite {
 
private final VerticalPanel mainPanel = new VerticalPanel();
private final Panel panneauChargement = new FlowPanel();
private final List<Panel> panneauxImages = new ArrayList<Panel>();
private int nbCol = 5;
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;
 
@UiField
FlexTable imageTable;
 
// Constructeur
protected ResultatRechercheImageVue() {
 
initWidget(uiBinder.createAndBindUi(this));
 
}
 
/**
* Nettoie et remet à zéro les composants du panneau qui doivent l'être
* */
protected void nettoyer() {
panneauPagination.clear();
setNumImage(0);
imageTable.clear();
panneauxImages.clear();
}
 
protected void creerPanneauxObservation(List<Image> images) {
 
for (int i = 0; i < images.size(); i++) {
Panel imagePanel = new VerticalPanel();
panneauxImages.add(imagePanel);
}
 
}
 
protected void afficherPanneauxImage(int first, int last) {
imageTable.clear();
 
int positionImage = 0;
for (int numImage = first; numImage < last; numImage++) {
try {
Panel panel = panneauxImages.get(numImage);
imageTable.setWidget((positionImage) / nbCol, (positionImage) % nbCol, panel);
} catch (Exception e) {
break;
}
 
positionImage++;
}
}
 
public void setNumImage(int numImage) {
this.numImage = numImage;
}
 
protected void startChargement() {
panneauChargement.setVisible(true);
}
 
protected void stopChargement() {
panneauChargement.setVisible(false);
}
 
public FlexTable getImageTable() {
return imageTable;
}
 
public int getNumImage() {
return numImage;
}
 
public Panel getPanneauChargement() {
return panneauChargement;
}
 
public Panel getPanneauPagination() {
return panneauPagination;
}
 
public int getNbImagesPerPage() {
return nbImagesPerPage;
}
 
public Panel getPanel() {
return mainPanel;
}
 
public List<Panel> getPanneauxImages() {
return panneauxImages;
}
 
}