Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 360 → Rev 361

/trunk/src/org/tela_botanica/del/client/cache/CacheClient.java
1,7 → 1,5
package org.tela_botanica.del.client.cache;
 
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.Observation;
13,7 → 11,6
private Image imageCourante;
private String taxonPourRechercheEflore;
private Protocole protocoleCourant;
private List<Image> images;
private int numPageRechercheImage = 0;
private int nbTotalImagesRecherchees = 0;
 
73,20 → 70,10
return this.pageCouranteRechercheImage;
}
 
public List<Image> getImages() {
return images;
}
 
 
 
public void setImages(List<Image> images) {
this.images = images;
}
public void setNbTotalImagesRecherchees(int nbTotalImagesRecherchees) {
this.nbTotalImagesRecherchees = nbTotalImagesRecherchees;
}
 
public int getNbTotalImagesRecherchees() {
return this.nbTotalImagesRecherchees;
}
/trunk/src/org/tela_botanica/del/client/testui/ComparaisonEfloreVueTest.java
New file
0,0 → 1,42
package org.tela_botanica.del.client.testui;
 
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEfloreVue;
 
import com.google.gwt.junit.client.GWTTestCase;
 
public class ComparaisonEfloreVueTest extends GWTTestCase {
 
// To run this test configure your junit launcher (Eclipse>Run>Run configurations
// classpath>Advanced>Select Folders and choose src/)
 
@Override
public String getModuleName() {
return "org.tela_botanica.del.Del";
}
 
public void testLoginView() {
 
Observation observation = new Observation();
String auteur = "benjamin";
observation.setAuteur(auteur);
observation.setNomRetenu("marronier");
observation.setNumNomenclatural("num nomenclatural ");
observation.setDate("28/09/2011");
observation.setFamille("famille ");
observation.setLocalite("localite ");
 
Image image = new Image();
image.setIdImage("id image 1");
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:00001%s%.jpg");
image.setUrl("http://www.tela-botanica.org/appli:cel-img:00001CRS.jpg");
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:00001XS.jpg");
image.setObservation(observation);
 
ComparaisonEfloreVue vue = new ComparaisonEfloreVue();
vue.chargerImagePrincipale(image);
assertTrue(vue.getNomAuteur().getText().contains("benjamin"));
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/ObservationPresenteur.java
7,12 → 7,10
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.i18n.I18n;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.vues.rechercheobservations.detail.DetailVoteObservationPresenteur;
import org.tela_botanica.del.client.vues.rechercheobservations.detail.DetailVoteObservationVue;
 
/trunk/src/org/tela_botanica/del/client/vues/comparaisoneflore/ComparaisonEfloreVue.ui.xml
1,65 → 1,73
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
 
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
 
<ui:with field='res' type='org.tela_botanica.del.client.Ressources' />
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<ui:style src="comparaisonEflore.css" />
<g:HorizontalPanel styleName="{style.zoneComparaison}">
<g:VerticalPanel styleName="{style.photoPrincipale}">
<g:Label text="{constants.taxonADeterminer}" styleName="titre"/>
<g:Label text="{constants.taxonADeterminer}" styleName="petit"/>
<g:Image ui:field="imagePrincipale" />
<ui:with field='res' type='org.tela_botanica.del.client.Ressources' />
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<ui:style src="comparaisonEflore.css" />
<g:HTMLPanel styleName="{style.meta}">
<g:Label text="{constants.metadonneesPhoto}" styleName="titre"/>
<g:Label text="{constants.metadonneesPhoto}" styleName="petit"/>
<br />
<g:Label text="{constants.observateur}" styleName="petit"/><g:Label ui:field="nomAuteur" />
<g:Label text="{constants.dateObservation}" styleName="petit"/>
<g:Label ui:field="dateObservation" />
<g:Label text="{constants.commentaires}" styleName="petit"/>
<g:Label ui:field="famille"/>
<g:Label text="{constants.motsClefs}" styleName="petit"/>
<g:Label ui:field="motsClefs"/>
<g:HorizontalPanel styleName="{style.zoneComparaison}">
<g:VerticalPanel styleName="{style.photoPrincipale}">
<g:Label text="{constants.taxonADeterminer}" styleName="titre" />
<g:Label text="{constants.taxonADeterminer}" styleName="petit" />
<g:Image ui:field="imagePrincipale" />
 
<br />
<g:Label text="{constants.validePar}" styleName="petit"/>
<g:Label ui:field="validateurs"/>
<g:Label text="{constants.dateValidation}" styleName="petit"/>
<g:Label ui:field="dateValidation"/>
</g:HTMLPanel>
</g:VerticalPanel>
<g:VerticalPanel styleName="{style.photoComparee}">
<g:Label text="{constants.imageEflore}" styleName="titre"/>
<g:Label text="{constants.imageEflore}" styleName="petit"/>
<g:Image ui:field="imageEflore" />
<g:HorizontalPanel styleName="{style.fleches}">
<g:Image ui:field="scrollLeftImage" resource='{res.arrowLeft}' styleName="gauche"/>
<g:Image ui:field="scrollRightImage" resource='{res.arrowRight}' styleName="droite" />
</g:HorizontalPanel>
<g:HTMLPanel styleName="{style.meta}">
<g:Label text="{constants.metadonneesPhoto}" styleName="titre"/>
<g:Label text="{constants.metadonneesPhoto}" styleName="petit"/>
<g:Label text="{constants.taxon}" styleName="petit"/>
<g:Label ui:field="nomEspeceEflore" />
<g:HTMLPanel styleName="{style.meta}">
<g:Label text="{constants.metadonneesPhoto}" styleName="titre" />
<g:Label text="{constants.metadonneesPhoto}" styleName="petit" />
 
<g:Label text="{constants.localite}" styleName="petit"/>
<g:Label ui:field="localiteEflore"/>
<br />
<g:Label text="{constants.observateur}" styleName="petit" />
<g:Label ui:field="nomAuteur" />
<g:Label text="{constants.dateObservation}" styleName="petit" />
<g:Label ui:field="dateObservation" />
<g:Label text="{constants.commentaires}" styleName="petit" />
<g:Label ui:field="famille" />
 
<g:Label text="{constants.auteur}" styleName="petit"/>
<g:Label ui:field="nomAuteurEflore"/>
<g:Label text="{constants.motsClefs}" styleName="petit" />
<g:Label ui:field="motsClefs" />
 
<g:Label text="{constants.transmisLe}" styleName="petit"/>
<g:Label ui:field="dateObservationEflore"/>
</g:HTMLPanel>
</g:VerticalPanel>
<br />
<g:Label text="{constants.validePar}" styleName="petit" />
<g:Label ui:field="validateurs" />
 
<g:Label text="{constants.dateValidation}" styleName="petit" />
<g:Label ui:field="dateValidation" />
</g:HTMLPanel>
 
</g:VerticalPanel>
<g:VerticalPanel styleName="{style.photoComparee}">
<g:VerticalPanel ui:field="panneauChargement">
<g:Image url="./img/wait.gif"></g:Image>
</g:VerticalPanel>
<g:Label text="{constants.imageEflore}" styleName="titre" />
<g:Label text="{constants.imageEflore}" styleName="petit" />
 
<g:Image ui:field="imageEflore" />
<g:HorizontalPanel styleName="{style.fleches}">
<g:Image ui:field="scrollLeftImage" resource='{res.arrowLeft}'
styleName="gauche" />
<g:Image ui:field="scrollRightImage" resource='{res.arrowRight}'
styleName="droite" />
</g:HorizontalPanel>
 
<g:HTMLPanel styleName="{style.meta}">
<g:Label text="{constants.metadonneesPhoto}" styleName="titre" />
<g:Label text="{constants.metadonneesPhoto}" styleName="petit" />
 
<g:Label text="{constants.taxon}" styleName="petit" />
<g:Label ui:field="nomEspeceEflore" />
 
<g:Label text="{constants.localite}" styleName="petit" />
<g:Label ui:field="localiteEflore" />
 
<g:Label text="{constants.auteur}" styleName="petit" />
<g:Label ui:field="nomAuteurEflore" />
 
<g:Label text="{constants.transmisLe}" styleName="petit" />
<g:Label ui:field="dateObservationEflore" />
</g:HTMLPanel>
</g:VerticalPanel>
</g:HorizontalPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/comparaisoneflore/ComparaisonEflorePresenteur.java
29,6 → 29,10
public HasClickHandlers getScrollRightImage();
 
public int getCurrentIndexImages();
public void startChargement() ;
 
public void stopChargement();
}
 
private Vue vue;
60,6 → 64,8
}
 
public void chargerObservationsEflore() {
vue.startChargement();
 
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
 
67,6 → 73,7
public void surImagesRecues(ImageServiceResultat imagesRecues) {
setImagesEflore(imagesRecues.getImages());
vue.chargerImagesEflore(imagesRecues.getImages(), 0);
vue.stopChargement();
}
};
 
/trunk/src/org/tela_botanica/del/client/vues/comparaisoneflore/ComparaisonEfloreVue.java
14,6 → 14,7
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Image;
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 ComparaisonEfloreVue extends Composite implements ComparaisonEflorePresenteur.Vue {
30,6 → 31,9
@UiField
Image imagePrincipale, imageEflore, scrollLeftImage, scrollRightImage;
 
@UiField
Panel panneauChargement;
 
public ComparaisonEfloreVue() {
initWidget(uiBinder.createAndBindUi(this));
}
118,4 → 122,20
return scrollRightImage;
}
 
public void startChargement() {
panneauChargement.setVisible(true);
}
 
public void stopChargement() {
panneauChargement.setVisible(false);
}
 
public Label getNomAuteur() {
return nomAuteur;
}
 
public Image getImagePrincipale() {
return imagePrincipale;
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImageVue.ui.xml
4,9 → 4,12
ui:generateLocales="default">
 
<ui:style src="ResultatRechercheImage.css" />
<g:HTMLPanel styleName="{style.contenuResultat}">
<g:HTMLPanel ui:field="imageTable" styleName="{style.images}"/>
<g:VerticalPanel ui:field="panneauChargement" >
<g:Image url="./img/wait.gif"></g:Image>
</g:VerticalPanel>
<g:HTMLPanel ui:field="imageTable" styleName="{style.images}" />
<g:HTMLPanel styleName="nettoyage"></g:HTMLPanel>
<g:VerticalPanel ui:field="panneauPagination" />
</g:HTMLPanel>
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java
29,6 → 29,8
public void go(HasWidgets composite) {
composite.add(vue);
 
vue.startChargement();
 
// appel du service d'image pour avoir le nb total d'elements pour la
// pagination
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
36,14 → 38,15
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
afficherImages(imagesRecues,0 ,CacheClient.getInstance().getPasPagination() );
afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
}
};
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0 , CacheClient.getInstance().getPasPagination(),callback);
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
 
}
 
private void chargerEtAfficherImages(final int premier, final int dernier) {
vue.nettoyer();
vue.startChargement();
 
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
60,16 → 63,15
 
private void afficherImages(ImageServiceResultat imageServiceResult, int premier, int dernier) {
 
List<Image> images=imageServiceResult.getImages();
//verifie si le nb d'images renvoyes par le service est correct sinon coupe la liste d'images
List<Image> images = imageServiceResult.getImages();
 
// verifie si le nb d'images renvoyes par le service est correct sinon
// coupe la liste d'images
int taille = dernier - premier;
if (images.size() > taille) {
images=imageServiceResult.getImages().subList(0, taille);
images = imageServiceResult.getImages().subList(0, taille);
}
CacheClient.getInstance().setImages(imageServiceResult.getImages());
 
vue.nettoyer();
List<Panel> panneauxImagesAffichees = new ArrayList<Panel>();
vue.creerPanneauxObservations(imageServiceResult.getImages().size());
 
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImageVue.java
7,16 → 7,14
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.FlowPanel;
import com.google.gwt.user.client.ui.HTMLPanel;
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();
@UiField
Panel panneauChargement;
private final List<Panel> panneauxImages = new ArrayList<Panel>();
private final int nbImagesPerPage = 10;
private int numImage = 0;
101,10 → 99,6
return nbImagesPerPage;
}
 
public Panel getPanel() {
return mainPanel;
}
 
public List<Panel> getPanneauxImages() {
return panneauxImages;
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImage.css
1,3 → 1,3
.contenuResultat {}
.contenuResultat {text-align: center;}
.images {margin-top:5px;}
.images>div {float:left; margin:0 20px 10px 0px}