Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 595 → Rev 602

/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observations/ObservationVue.ui.xml
11,7 → 11,7
<g:HTMLPanel ui:field="metadonnees" styleName="{style.metadonnees}"/>
<g:HTMLPanel ui:field="imagesPanel" />
<g:HTMLPanel>
<g:Label ui:field="lienDeterminer" styleName="lien {style.lienDetermination}"
<g:Button ui:field="boutonAjoutProposition" styleName="{style.lienDetermination}"
text="{constants.proposerSaDetermination}" />
<g:HTMLPanel ui:field="determinationsPanel" />
</g:HTMLPanel>
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observations/ObservationPresenteur.java
11,8 → 11,15
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.ModeRecherche;
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.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination;
import org.tela_botanica.del.client.composants.fenetereoverlay.FenetreOverlayDefilantePresenteur;
import org.tela_botanica.del.client.composants.fenetereoverlay.FenetreOverlayDefilanteVue;
import org.tela_botanica.del.client.composants.fenetereoverlay.FenetreOverlaySimplePresenteur;
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionPresenteur;
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionVue;
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations.ObservationDeterminationPresenteur;
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations.ObservationDeterminationVue;
 
24,14 → 31,10
 
public class ObservationPresenteur extends Presenteur {
 
public abstract interface Vue extends IsWidget {
 
public HasClickHandlers getLienDeterminer();
 
public interface Vue extends IsWidget {
public HasClickHandlers getBoutonAjoutProposition();
public HasWidgets getDeterminationsPanel();
 
public HasWidgets getImagesPanel();
public HasWidgets getImagesPanel();
public HasWidgets getMetadonneesPanel();
}
 
38,6 → 41,8
private Vue vue;
 
private Observation observation;
private ObservationDeterminationPresenteur observationDeterminationPresenteur;
 
public ObservationPresenteur(Vue vue, Observation observation) {
this.observation = observation;
46,13 → 51,12
}
 
public void chargerObservation() {
 
new ObservationImagesPresenteur(new ObservationImagesVue(), observation).go(vue.getImagesPanel());
new MetadonneesPresenteur(new MetadonneesVue(), observation, ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonneesPanel());
new ObservationDeterminationPresenteur(new ObservationDeterminationVue(), observation.getPropositionsDetermination()).go(vue.getDeterminationsPanel());
observationDeterminationPresenteur = new ObservationDeterminationPresenteur(new ObservationDeterminationVue(), observation.getPropositionsDetermination());
observationDeterminationPresenteur.go(vue.getDeterminationsPanel());
 
gererEvenements();
 
}
 
public void go(HasWidgets composite) {
60,9 → 64,19
}
 
protected void gererEvenements() {
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() {
@Override
public void onAjoutDetermination(EvenementAjoutDetermination event) {
if (fenetreModaleEstOuverte()) {
fermerFenetreModale();
ajouterPropositionDetermination(event.getPropositionDetermination());
}
}
});
 
vue.getLienDeterminer().addClickHandler(new ClickHandler() {
 
vue.getBoutonAjoutProposition().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
List<Image> images = observation.getImages();
if (images.size() > 0) {
70,8 → 84,14
} else {
CacheClient.getInstance().setImageCourante(null);
}
BusEvenementiel.getInstance().fireEvent(new EvenementValidation(observation));
CacheClient.getInstance().setObservationCourante(observation);
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue()));
}
});
}
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) {
observationDeterminationPresenteur.setPropositions(observation.getPropositionsDetermination());
}
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observations/ObservationVue.java
5,6 → 5,7
import com.google.gwt.event.dom.client.HasClickHandlers;
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.Label;
import com.google.gwt.user.client.ui.Panel;
19,7 → 20,7
private static Binder binder = GWT.create(Binder.class);
 
@UiField
protected Label lienDeterminer;
Button boutonAjoutProposition;
 
@UiField
protected Panel determinationsPanel;
32,8 → 33,8
}
 
@Override
public HasClickHandlers getLienDeterminer() {
return lienDeterminer;
public HasClickHandlers getBoutonAjoutProposition() {
return boutonAjoutProposition;
}
 
public Panel getDeterminationsPanel() {
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/ObservationDeterminationPresenteur.java
32,7 → 32,6
 
int i = 0;
for (PropositionDetermination proposition : propositions) {
 
HTMLPanel panneau = new HTMLPanel("");
DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition);
presenteurVote.go(panneau);
40,8 → 39,12
vue.setTexteTableau(i, 1, String.valueOf(proposition.getListeCommentaires().size()) + " " + I18n.getVocabulary().commentaires());
i++;
}
 
}
public void setPropositions(List<PropositionDetermination> propositions) {
this.propositions = propositions;
chargerPropositions();
}
 
public void go(HasWidgets composite) {
composite.add(vue.asWidget());