Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1196 → Rev 1203

/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/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());
}
}