Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1202 → Rev 1203

/trunk/src/org/tela_botanica/del/client/vues/pictoflora/resultats/ResultatPictofloraVue.java
53,8 → 53,7
@UiField
Label labelVote, labelDate, labelTag;
@UiField
ListBox listeProtocoles;
// Constructeur
public ResultatPictofloraVue() {
initWidget(uiBinder.createAndBindUi(this));
150,33 → 149,8
return triParDateDescendant;
}
public void setListeProtocoles(ListBox listeProtocoles) {
this.listeProtocoles = listeProtocoles;
}
public HasChangeHandlers getListeProtocoles() {
return listeProtocoles;
}
public void ajouterProtocole(String NomProtocole, String idProtocole) {
listeProtocoles.addItem(NomProtocole, idProtocole);
}
 
public void selectionnerProtocole(int index) {
listeProtocoles.setSelectedIndex(index);
}
@Override
public String getNomProtocoleSelectionne() {
return listeProtocoles.getItemText((listeProtocoles.getSelectedIndex()));
}
 
@Override
public int getIdProtocoleSelectionne() {
return Integer.parseInt(listeProtocoles.getValue((listeProtocoles.getSelectedIndex())));
}
 
@Override
public Label getLabelVote() {
return labelVote;
}
262,19 → 236,4
triParNbTagsDescendant.setVisible(false);
}
 
@Override
public void ajouterProtocoles(List<Protocole> protocoles) {
SelectElement selectElement = SelectElement.as(listeProtocoles.getElement());
NodeList<OptionElement> options = selectElement.getOptions();
for (int i = 0; i < protocoles.size(); i++) {
listeProtocoles.addItem(protocoles.get(i).getNom(), protocoles.get(i).getId()+"");
options.getItem(i).setTitle(protocoles.get(i).getDescription());
}
}
 
@Override
public void mettreAJourDescriptionProtocoleCourant(
Protocole protocoleCourant) {
listeProtocoles.setTitle(protocoleCourant.getDescription());
}
}
/trunk/src/org/tela_botanica/del/client/vues/pictoflora/resultats/ResultatPictofloraVue.ui.xml
8,11 → 8,10
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
 
<g:HTMLPanel styleName="{style.contenuResultat}">
<g:HTMLPanel styleName="{style.barreNavigation} limiteMax limiteMin">
<g:VerticalPanel ui:field="panneauPaginationHaut" styleName="gauche {style.paginationHaut}" />
<g:HTMLPanel styleName="gauche {style.protocoles}">
<g:ListBox ui:field="listeProtocoles" />
</g:HTMLPanel>
<g:HTMLPanel ui:field="zoneTri" styleName="gauche {style.zoneTri} petit">
<g:Label text="{constants.tri}" styleName="gauche {style.labeltri}"/>
<g:HTMLPanel ui:field="triParNbVotes" styleName="gauche">
/trunk/src/org/tela_botanica/del/client/vues/pictoflora/resultats/ResultatPictofloraPresenteur.java
21,6 → 21,9
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImagePresenteur;
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImageVue;
 
import com.google.gwt.dom.client.NodeList;
import com.google.gwt.dom.client.OptionElement;
import com.google.gwt.dom.client.SelectElement;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
35,6 → 38,8
 
public class ResultatPictofloraPresenteur {
public interface Vue extends IsWidget {
public void startChargement();
 
public void nettoyer();
67,18 → 72,6
 
public HTMLPanel getImageTable();
 
public String getNomProtocoleSelectionne();
 
public int getIdProtocoleSelectionne();
 
public void setListeProtocoles(ListBox listeProtocoles);
 
public HasChangeHandlers getListeProtocoles();
public void ajouterProtocoles(List<Protocole> protocoles);
 
public void selectionnerProtocole(int index);
 
public HasClickHandlers getLabelVote();
 
public void masquerVoteAscendant();
109,14 → 102,11
 
public void afficherTagAscendant();
 
public void mettreAJourDescriptionProtocoleCourant(
Protocole protocoleCourant);
}
 
private Vue vue;
private ImageService imageService;
private final ProtocoleService protocoleService;
private List<Protocole> protocoles;
private ModeTri triCourantVote = ModeTri.TRI_ASCENDANT;
private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT;
private ModeTri triCourantTag = ModeTri.TRI_DESCENDANT;
132,7 → 122,6
vue.startChargement();
rechercherImagesEtCreerWidgetPagination();
gererEvenements();
chargerProtocoles();
vue.masquerVoteDescendant();
vue.masquerVoteAscendant();
// vue.masquerDateDescendant();
142,13 → 131,6
}
 
public void gererEvenements() {
vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
surChangementProtocole();
}
});
 
ClickHandler surClicTriVote = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
257,48 → 239,6
chargerEtAfficherImagesPageEnCours();
}
 
public void surChangementProtocole() {
Protocole protocoleCourant = null;
for (Protocole protocole : protocoles) {
if (protocole.getId() == vue.getIdProtocoleSelectionne()) {
protocoleCourant = protocole;
}
}
vue.mettreAJourDescriptionProtocoleCourant(protocoleCourant);
CacheClient.getInstance().setProtocoleCourant(protocoleCourant);
EvenementChangementProtocole evenement = new EvenementChangementProtocole(protocoleCourant);
BusEvenementiel.getInstance().fireEvent(evenement);
}
 
private void chargerProtocoles() {
// test pour ne pas charger les protocoles déjà chargés
// TODO: faire un systeme de cache gérés par les web service eux même
if (CacheClient.getInstance().getListeProtocoles() == null) {
protocoleService.getProtocoles(new ProtocolesCallback() {
 
@Override
public void surRetour(ProtocoleServiceResultat protocolesRecus) {
protocoles = protocolesRecus.getProtocoles();
remplirListeProtocole(protocoles);
 
}
});
} else {
protocoles = CacheClient.getInstance().getListeProtocoles();
remplirListeProtocole(CacheClient.getInstance().getListeProtocoles());
}
}
 
private void remplirListeProtocole(List<Protocole> protocoles) {
vue.ajouterProtocoles(protocoles);
if (CacheClient.getInstance().getProtocoleCourant() == null) {
vue.selectionnerProtocole(0);
vue.mettreAJourDescriptionProtocoleCourant(protocoles.get(0));
} else {
vue.mettreAJourDescriptionProtocoleCourant(CacheClient.getInstance().getProtocoleCourant());
}
}
 
public void rechercherImagesEtCreerWidgetPagination() {
// appel du service d'image pour avoir le nb total d'elements pour la
// pagination
/trunk/src/org/tela_botanica/del/client/vues/pictoflora/moteur/MoteurPictofloraVue.java
1,6 → 1,13
package org.tela_botanica.del.client.vues.pictoflora.moteur;
 
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Protocole;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.NodeList;
import com.google.gwt.dom.client.OptionElement;
import com.google.gwt.dom.client.SelectElement;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.uibinder.client.UiBinder;
28,6 → 35,9
@UiField
Label ajouterObservation;
 
@UiField
ListBox listeProtocoles;
// Constructeur
public MoteurPictofloraVue() {
initWidget(uiBinder.createAndBindUi(this));
63,5 → 73,46
public void ajouterVue(HasWidgets composite) {
composite.add(this.asWidget());
}
public void setListeProtocoles(ListBox listeProtocoles) {
this.listeProtocoles = listeProtocoles;
}
public HasChangeHandlers getListeProtocoles() {
return listeProtocoles;
}
public void ajouterProtocole(String NomProtocole, String idProtocole) {
listeProtocoles.addItem(NomProtocole, idProtocole);
}
 
public void selectionnerProtocole(int index) {
listeProtocoles.setSelectedIndex(index);
}
@Override
public String getNomProtocoleSelectionne() {
return listeProtocoles.getItemText((listeProtocoles.getSelectedIndex()));
}
 
@Override
public int getIdProtocoleSelectionne() {
return Integer.parseInt(listeProtocoles.getValue((listeProtocoles.getSelectedIndex())));
}
@Override
public void ajouterProtocoles(List<Protocole> protocoles) {
SelectElement selectElement = SelectElement.as(listeProtocoles.getElement());
NodeList<OptionElement> options = selectElement.getOptions();
for (int i = 0; i < protocoles.size(); i++) {
listeProtocoles.addItem(protocoles.get(i).getNom(), protocoles.get(i).getId()+"");
options.getItem(i).setTitle(protocoles.get(i).getDescription());
}
}
 
@Override
public void mettreAJourDescriptionProtocoleCourant(
Protocole protocoleCourant) {
listeProtocoles.setTitle(protocoleCourant.getDescription());
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/pictoflora/moteur/rechercheImage.css
2,6 → 2,12
width: 100%
}
 
.protocoles {
margin-top:-30px;
margin-left:350px;
position:absolute;
}
 
.moteurRecherche {
margin-bottom: 10px;
}
/trunk/src/org/tela_botanica/del/client/vues/pictoflora/moteur/MoteurPictofloraVue.ui.xml
13,6 → 13,10
<g:HTML styleName="{style.chapeau}"><ui:msg key="chapeauImages">Cette galerie vous permet de rechercher les illustrations des membres du réseau issues du Carnet en ligne... et de voter pour la qualité des images selon un protocole défini.</ui:msg></g:HTML>
<g:Label ui:field="ajouterObservation" text="{constants.ajouterImage}" title="{constants.legendeAjouterObservation}" styleName="acceder-outil {style.lienProposerImage}"/>
<g:Anchor target="_blank" href="{constants.lienAidePictoflora}" ui:field="aide" text="{constants.accesAide}" title="{constants.legendeAjouterObservation}" styleName="acceder-aide {style.lienAide}"/>
<g:HorizontalPanel styleName="gauche {style.protocoles}">
<g:Label>Choisir un protocole : </g:Label>
<g:ListBox ui:field="listeProtocoles" />
</g:HorizontalPanel>
<g:HTMLPanel ui:field="zonePartageUrl"></g:HTMLPanel>
<g:HTMLPanel styleName="importance1">
<g:Label text="{constants.rechercherImage}" styleName="titre {style.titreRecherche}" />
/trunk/src/org/tela_botanica/del/client/vues/pictoflora/moteur/MoteurPictofloraPresenteur.java
1,5 → 1,7
package org.tela_botanica.del.client.vues.pictoflora.moteur;
 
import java.util.List;
 
import javax.validation.Configuration;
 
import org.tela_botanica.del.client.cache.CacheClient;
9,7 → 11,10
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
import org.tela_botanica.del.client.services.rest.ImageServiceConcret;
import org.tela_botanica.del.client.services.rest.ProtocoleService;
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
17,12 → 22,16
import org.tela_botanica.del.client.vues.pictoflora.resultats.ResultatPictofloraPresenteur;
import org.tela_botanica.del.client.vues.pictoflora.resultats.ResultatPictofloraVue;
 
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Panel;
 
public class MoteurPictofloraPresenteur {
37,10 → 46,28
public Panel getZonePartageUrl();
 
HasClickHandlers getLienAjoutObservation();
public void setListeProtocoles(ListBox listeProtocoles);
public HasChangeHandlers getListeProtocoles();
public void ajouterProtocole(String NomProtocole, String idProtocole);
 
public void selectionnerProtocole(int index);
public String getNomProtocoleSelectionne();
 
public int getIdProtocoleSelectionne();
 
public void ajouterProtocoles(List<Protocole> protocoles);
 
public void mettreAJourDescriptionProtocoleCourant(Protocole protocoleCourant);
}
 
private Vue vue;
private ProtocoleService protocoleService;
private List<Protocole> protocoles;
 
/**
* Constructeur
48,7 → 75,7
public MoteurPictofloraPresenteur(Vue vue, ProtocoleService protocoleService) {
this.vue = vue;
this.protocoleService = protocoleService;
chargerProtocoles();
PartageUrlPresenteur presenteurPartageUrl = new PartageUrlPresenteur(new PartageUrlVue());
presenteurPartageUrl.go(vue.getZonePartageUrl());
77,6 → 104,14
}
private void gererEvenements() {
vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
surChangementProtocole();
}
});
vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
85,7 → 120,49
}
});
}
private void chargerProtocoles() {
// test pour ne pas charger les protocoles déjà chargés
// TODO: faire un systeme de cache gérés par les web service eux même
if (CacheClient.getInstance().getListeProtocoles() == null) {
protocoleService.getProtocoles(new ProtocolesCallback() {
 
@Override
public void surRetour(ProtocoleServiceResultat protocolesRecus) {
protocoles = protocolesRecus.getProtocoles();
remplirListeProtocole(protocoles);
 
}
});
} else {
protocoles = CacheClient.getInstance().getListeProtocoles();
remplirListeProtocole(CacheClient.getInstance().getListeProtocoles());
}
}
public void surChangementProtocole() {
Protocole protocoleCourant = null;
for (Protocole protocole : protocoles) {
if (protocole.getId() == vue.getIdProtocoleSelectionne()) {
protocoleCourant = protocole;
}
}
vue.mettreAJourDescriptionProtocoleCourant(protocoleCourant);
CacheClient.getInstance().setProtocoleCourant(protocoleCourant);
EvenementChangementProtocole evenement = new EvenementChangementProtocole(protocoleCourant);
BusEvenementiel.getInstance().fireEvent(evenement);
}
private void remplirListeProtocole(List<Protocole> protocoles) {
vue.ajouterProtocoles(protocoles);
if (CacheClient.getInstance().getProtocoleCourant() == null) {
vue.selectionnerProtocole(0);
vue.mettreAJourDescriptionProtocoleCourant(protocoles.get(0));
} else {
vue.mettreAJourDescriptionProtocoleCourant(CacheClient.getInstance().getProtocoleCourant());
}
}
 
public void go(HasWidgets composite) {
vue.ajouterVue(composite);
chargerMoteurRechercheAvancee();