Subversion Repositories eFlore/Applications.del

Rev

Rev 854 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 854 Rev 939
Line 41... Line 41...
41
import org.tela_botanica.del.client.vues.plateformedetermination.ligneProtocole.LigneProtocolePresenteur;
41
import org.tela_botanica.del.client.vues.plateformedetermination.ligneProtocole.LigneProtocolePresenteur;
42
import org.tela_botanica.del.client.vues.plateformedetermination.ligneProtocole.LigneProtocoleVue;
42
import org.tela_botanica.del.client.vues.plateformedetermination.ligneProtocole.LigneProtocoleVue;
Line 43... Line 43...
43
 
43
 
44
import com.google.gwt.event.dom.client.ClickEvent;
44
import com.google.gwt.event.dom.client.ClickEvent;
-
 
45
import com.google.gwt.event.dom.client.ClickHandler;
45
import com.google.gwt.event.dom.client.ClickHandler;
46
import com.google.gwt.user.client.Window;
46
import com.google.gwt.user.client.ui.Button;
47
import com.google.gwt.user.client.ui.Button;
47
import com.google.gwt.user.client.ui.HasWidgets;
48
import com.google.gwt.user.client.ui.HasWidgets;
48
import com.google.gwt.user.client.ui.IsWidget;
49
import com.google.gwt.user.client.ui.IsWidget;
Line 49... Line 50...
49
import com.google.gwt.user.client.ui.Panel;
50
import com.google.gwt.user.client.ui.Panel;
Line 50... Line 51...
50
 
51
 
51
public class DeterminationPresenteur extends Presenteur {
52
public class DeterminationPresenteur extends Presenteur {
-
 
53
 
52
 
54
	public interface Vue extends IsWidget {
-
 
55
		public Panel getForum();
53
	public interface Vue extends IsWidget {
56
 
-
 
57
		public Panel getDetailImageObservation();
54
		public Panel getForum();
58
 
-
 
59
		public Panel getFormulaireRechercheEflore();
55
		public Panel getDetailImageObservation();
60
 
-
 
61
		public Panel getVoteProtocole();
56
		public Panel getFormulaireRechercheEflore();
62
 
-
 
63
		public Button getBoutonAjoutProposition();
57
		public Panel getVoteProtocole();
64
 
-
 
65
		public Button getBoutonAjoutCommentaire();
58
		public Button getBoutonAjoutProposition();
66
 
59
		public Button getBoutonAjoutCommentaire();
67
		public HasWidgets getMetadonnees();
60
		public HasWidgets getMetadonnees();
68
 
-
 
69
		// public void ajouterLigneVoteProtocole(IsWidget vue);
61
		//public void ajouterLigneVoteProtocole(IsWidget vue);
70
		// public void ajouterLigneVoteProtocole(String nom, IsWidget vue);
62
		//public void ajouterLigneVoteProtocole(String nom, IsWidget vue);
71
		public HasWidgets getNouvelleLigneProtocole();
Line 63... Line 72...
63
		public HasWidgets getNouvelleLigneProtocole();
72
 
Line 64... Line 73...
64
		public void afficherNomTaxonProbable(String nomTaxon);
73
		public void afficherNomTaxonProbable(String nomTaxon);
65
	}
74
	}
66
 
75
 
67
	private Vue vue;
76
	private Vue vue;
Line 68... Line 77...
68
 
77
 
69
	FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur;
78
	FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur;
70
	
79
 
Line 71... Line 80...
71
	private ProtocoleService protocoleService = new ProtocoleServiceConcret();
80
	private ProtocoleService protocoleService = new ProtocoleServiceConcret();
72
	private ObservationService observationService = new ObservationServiceConcret();
81
	private ObservationService observationService = new ObservationServiceConcret();
73
 
82
 
-
 
83
	public DeterminationPresenteur(Vue vue) {
74
	public DeterminationPresenteur(Vue vue) {
84
		this.vue = vue;
75
		this.vue = vue;
85
	}
-
 
86
 
76
	}
87
	public void go(final HasWidgets composite) {
77
 
-
 
78
	public void go(final HasWidgets composite) {
88
 
79
		
-
 
80
		//TODO afficher une icone de chargement si le chargement devient trop long
89
		// TODO afficher une icone de chargement si le chargement devient trop
81
		// car tout l'écran est asynchrone ici
90
		// long
82
		observationService.getObservation(CacheClient.getInstance().getObservationCourante().getId(), new ObservationsCallback() {			
91
		// car tout l'écran est asynchrone ici
83
			//@Override
92
		observationService.getObservation(CacheClient.getInstance().getObservationCourante().getId(), new ObservationsCallback() {
Line 84... Line 93...
84
			public void surObservationsRecues(
93
 
85
					ObservationServiceResultat observationsRecues) {
94
			@Override
86
				
95
			public void surRetour(ObservationServiceResultat objetRetour) {
Line 87... Line 96...
87
				CacheClient.getInstance().setImageCourante(CacheClient.getInstance().getObservationCourante().getImages().get(0));
96
				CacheClient.getInstance().setImageCourante(CacheClient.getInstance().getObservationCourante().getImages().get(0));
88
				
97
 
-
 
98
				new MetadonneesPresenteur(new MetadonneesEnLigneVue(), CacheClient.getInstance().getObservationCourante(), ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees());
-
 
99
				new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation());
-
 
100
 
-
 
101
				chargerEtAjouterLignesVotesProtocole();
-
 
102
				new ForumPresenteur(new ForumVue()).go(vue.getForum());
-
 
103
				new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore());
89
				new MetadonneesPresenteur(new MetadonneesEnLigneVue(), CacheClient.getInstance().getObservationCourante(), ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees());
104
 
90
				new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation());
105
				calculerEtAfficherVoteDeterminationPlusPopulaire();
91
 
106
				composite.add(vue.asWidget());
92
				chargerEtAjouterLignesVotesProtocole();
107
 
Line 93... Line 108...
93
				new ForumPresenteur(new ForumVue()).go(vue.getForum());
108
			}
94
				new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore());
109
 
95
 
110
			@Override
-
 
111
			public void surErreur(String messageErreur) {
96
				calculerEtAfficherVoteDeterminationPlusPopulaire();
112
				Window.alert(messageErreur);
97
				composite.add(vue.asWidget());
113
			}
98
			}
114
		});
99
		});		
115
		gererEvenements();
100
		gererEvenements();
-
 
101
	}
116
	}
102
 
117
 
103
	private void chargerEtAjouterLignesVotesProtocole() {
118
	private void chargerEtAjouterLignesVotesProtocole() {
104
		if(CacheClient.getInstance().getListeProtocoles() == null) {
119
		if (CacheClient.getInstance().getListeProtocoles() == null) {
105
			protocoleService.getProtocoles(new ProtocolesCallback() {
120
			protocoleService.getProtocoles(new ProtocolesCallback() {
106
				@Override
121
 
107
				public void surProtocolesRecus(ProtocoleServiceResultat protocolesRecus) {
122
				@Override
108
					List<Protocole> listeProtocoles = protocolesRecus.getProtocoles();
123
				public void surRetour(ProtocoleServiceResultat protocolesRecus) {
109
					ajouterLignesVotesProtocole(listeProtocoles);
124
					List<Protocole> listeProtocoles = protocolesRecus.getProtocoles();
110
					
125
					ajouterLignesVotesProtocole(listeProtocoles);
111
				}
126
				}
112
			});
127
			});
113
		} else {
128
		} else {
114
			List<Protocole> listeProtocoles = CacheClient.getInstance().getListeProtocoles();
129
			List<Protocole> listeProtocoles = CacheClient.getInstance().getListeProtocoles();
115
			ajouterLignesVotesProtocole(listeProtocoles);
130
			ajouterLignesVotesProtocole(listeProtocoles);
116
		}
131
		}
117
	}
132
	}
Line 118... Line 133...
118
	
133
 
119
	private void ajouterLignesVotesProtocole(List<Protocole> listeProtocoles) {
134
	private void ajouterLignesVotesProtocole(List<Protocole> listeProtocoles) {
120
		for (Iterator<Protocole> iterator = listeProtocoles.iterator(); iterator.hasNext();) {
135
		for (Iterator<Protocole> iterator = listeProtocoles.iterator(); iterator.hasNext();) {
Line 146... Line 161...
146
			public void onClick(ClickEvent event) {
161
			public void onClick(ClickEvent event) {
147
				fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
162
				fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
148
				fenetreOverlaySimplePresenteur.ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue()));
163
				fenetreOverlaySimplePresenteur.ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue()));
149
			}
164
			}
150
		});
165
		});
151
		
166
 
152
		vue.getBoutonAjoutCommentaire().addClickHandler(new ClickHandler() {
167
		vue.getBoutonAjoutCommentaire().addClickHandler(new ClickHandler() {
153
			@Override
168
			@Override
154
			public void onClick(ClickEvent event) {
169
			public void onClick(ClickEvent event) {
155
				FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(CacheClient.getInstance().getObservationCourante(), new FormulaireCommentaireVue());
170
				FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(CacheClient.getInstance().getObservationCourante(), new FormulaireCommentaireVue());
156
				fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
171
				fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
Line 164... Line 179...
164
				if (fenetreOverlaySimplePresenteur != null && fenetreOverlaySimplePresenteur.fenetreModaleEstOuverte()) {
179
				if (fenetreOverlaySimplePresenteur != null && fenetreOverlaySimplePresenteur.fenetreModaleEstOuverte()) {
165
					fenetreOverlaySimplePresenteur.fermerFenetreModale();
180
					fenetreOverlaySimplePresenteur.fermerFenetreModale();
166
				}
181
				}
167
			}
182
			}
168
		});
183
		});
169
		
184
 
170
		BusEvenementiel.getInstance().addHandler(EvenementAjoutCommentaire.TYPE, new GestionnaireEvenementAjoutCommentaire() {
185
		BusEvenementiel.getInstance().addHandler(EvenementAjoutCommentaire.TYPE, new GestionnaireEvenementAjoutCommentaire() {
Line 171... Line 186...
171
 
186
 
172
			@Override
187
			@Override
173
			public void onAjoutCommentaire(EvenementAjoutCommentaire event) {
188
			public void onAjoutCommentaire(EvenementAjoutCommentaire event) {