Subversion Repositories eFlore/Applications.del

Rev

Rev 1687 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1687 Rev 1689
1
package org.tela_botanica.del.client.vues.pictoflora.resultats.images;
1
package org.tela_botanica.del.client.vues.pictoflora.resultats.images;
2
 
2
 
3
import java.util.HashMap;
3
import java.util.HashMap;
4
 
4
 
5
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.cache.CacheClient;
6
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue;
6
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue;
7
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur;
7
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur;
8
import org.tela_botanica.del.client.composants.images.DetailImagePresenteur;
8
import org.tela_botanica.del.client.composants.images.DetailImagePresenteur;
9
import org.tela_botanica.del.client.composants.images.DetailImageVue;
9
import org.tela_botanica.del.client.composants.images.DetailImageVue;
10
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur;
10
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur;
11
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesVue;
11
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesVue;
12
import org.tela_botanica.del.client.composants.motsclesimages.MotsClesImagePresenteur;
12
import org.tela_botanica.del.client.composants.motsclesimages.MotsClesImagePresenteur;
13
import org.tela_botanica.del.client.composants.motsclesimages.MotsClesImageVue;
13
import org.tela_botanica.del.client.composants.motsclesimages.MotsClesImageVue;
14
import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImagePresenteur;
14
import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImagePresenteur;
15
import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImageVue;
15
import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImageVue;
16
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
16
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
17
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVotePresenteur;
17
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVotePresenteur;
18
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVoteVue;
18
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVoteVue;
19
import org.tela_botanica.del.client.config.Config;
19
import org.tela_botanica.del.client.config.Config;
-
 
20
import org.tela_botanica.del.client.i18n.I18n;
20
import org.tela_botanica.del.client.modeles.Commentaire;
21
import org.tela_botanica.del.client.modeles.Commentaire;
21
import org.tela_botanica.del.client.modeles.Image;
22
import org.tela_botanica.del.client.modeles.Image;
22
import org.tela_botanica.del.client.modeles.ModeRecherche;
23
import org.tela_botanica.del.client.modeles.ModeRecherche;
23
import org.tela_botanica.del.client.modeles.Observation;
24
import org.tela_botanica.del.client.modeles.Observation;
24
import org.tela_botanica.del.client.modeles.Protocole;
25
import org.tela_botanica.del.client.modeles.Protocole;
25
import org.tela_botanica.del.client.modeles.Utilisateur;
26
import org.tela_botanica.del.client.modeles.Utilisateur;
26
import org.tela_botanica.del.client.modeles.VoteProtocole;
27
import org.tela_botanica.del.client.modeles.VoteProtocole;
27
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
28
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
28
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.EvenementChangementEtatUtilisateur;
29
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.EvenementChangementEtatUtilisateur;
29
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur;
30
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur;
30
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
31
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
31
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
32
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
32
import org.tela_botanica.del.client.navigation.evenement.fermermotcleimage.EvenementFermerMotCleImage;
33
import org.tela_botanica.del.client.navigation.evenement.fermermotcleimage.EvenementFermerMotCleImage;
33
import org.tela_botanica.del.client.navigation.evenement.fermermotcleimage.GestionnaireEvenementFermerMotCleImage;
34
import org.tela_botanica.del.client.navigation.evenement.fermermotcleimage.GestionnaireEvenementFermerMotCleImage;
34
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.EvenementVoirDetailsImage;
35
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.EvenementVoirDetailsImage;
35
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.GestionnaireEvenementVoirDetailsImage;
36
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.GestionnaireEvenementVoirDetailsImage;
36
import org.tela_botanica.del.client.navigation.evenement.suppressioncommentaire.EvenementSuppressionCommentaire;
37
import org.tela_botanica.del.client.navigation.evenement.suppressioncommentaire.EvenementSuppressionCommentaire;
37
import org.tela_botanica.del.client.navigation.evenement.supprimerImage.EvenementSupprimerImage;
38
import org.tela_botanica.del.client.navigation.evenement.supprimerImage.EvenementSupprimerImage;
38
import org.tela_botanica.del.client.navigation.evenement.supprimerImage.GestionnaireEvenementSupprimerImage;
39
import org.tela_botanica.del.client.navigation.evenement.supprimerImage.GestionnaireEvenementSupprimerImage;
39
import org.tela_botanica.del.client.navigation.evenement.validationobservationpictoflora.EvenementValidationPictoflora;
40
import org.tela_botanica.del.client.navigation.evenement.validationobservationpictoflora.EvenementValidationPictoflora;
40
import org.tela_botanica.del.client.services.rest.ImageService;
41
import org.tela_botanica.del.client.services.rest.ImageService;
41
import org.tela_botanica.del.client.services.rest.MotsClesServiceConcret;
42
import org.tela_botanica.del.client.services.rest.MotsClesServiceConcret;
42
import org.tela_botanica.del.client.services.rest.VoteProtocoleServiceConcret;
43
import org.tela_botanica.del.client.services.rest.VoteProtocoleServiceConcret;
43
import org.tela_botanica.del.client.services.rest.async.SuppressionCommentaireCallback;
44
import org.tela_botanica.del.client.services.rest.async.SuppressionCommentaireCallback;
44
import org.tela_botanica.del.client.services.rest.async.SuppressionImageCallback;
45
import org.tela_botanica.del.client.services.rest.async.SuppressionImageCallback;
45
 
46
 
46
import com.google.gwt.core.shared.GWT;
47
import com.google.gwt.core.shared.GWT;
47
import com.google.gwt.event.dom.client.ClickEvent;
48
import com.google.gwt.event.dom.client.ClickEvent;
48
import com.google.gwt.event.dom.client.ClickHandler;
49
import com.google.gwt.event.dom.client.ClickHandler;
49
import com.google.gwt.event.dom.client.HasClickHandlers;
50
import com.google.gwt.event.dom.client.HasClickHandlers;
50
import com.google.gwt.user.client.Window;
51
import com.google.gwt.user.client.Window;
51
import com.google.gwt.user.client.ui.HasWidgets;
52
import com.google.gwt.user.client.ui.HasWidgets;
52
import com.google.gwt.user.client.ui.IsWidget;
53
import com.google.gwt.user.client.ui.IsWidget;
53
 
54
 
54
public class ImagePresenteur extends Presenteur {
55
public class ImagePresenteur extends Presenteur {
55
 
56
 
56
	public interface Vue extends IsWidget {
57
	public interface Vue extends IsWidget {
57
		public abstract void loadImage(Image image);
58
		public abstract void loadImage(Image image);
58
 
59
 
59
		public abstract HasClickHandlers getImagePrincipale();
60
		public abstract HasClickHandlers getImagePrincipale();
60
 
61
 
61
		public IsWidget getImagePrincipaleWidget();
62
		public IsWidget getImagePrincipaleWidget();
62
 
63
 
63
		public void setUrlImagePrincipale(String url);
64
		public void setUrlImagePrincipale(String url);
64
 
65
 
65
		public void setTitreImagePrincipale(String titre);
66
		public void setTitreImagePrincipale(String titre);
66
 
67
 
67
		public void setAltTextImagePrincipale(String altText);
68
		public void setAltTextImagePrincipale(String altText);
68
 
69
 
69
		public String getUrlImagePrincipale();
70
		public String getUrlImagePrincipale();
70
 
71
 
71
		public String getTitreImagePrincipale();
72
		public String getTitreImagePrincipale();
72
 
73
 
73
		public String getAltTextImagePrincipale();
74
		public String getAltTextImagePrincipale();
74
 
75
 
75
		public abstract HasClickHandlers getEnSavoirPlus();
76
		public abstract HasClickHandlers getEnSavoirPlus();
76
 
77
 
77
		public abstract void cacherZoneCache();
78
		public abstract void cacherZoneCache();
78
 
79
 
79
		public abstract void afficherZoneCache();
80
		public abstract void afficherZoneCache();
80
 
81
 
81
		public abstract HasWidgets getZoneVoter();
82
		public abstract HasWidgets getZoneVoter();
82
 
83
 
83
		public HasClickHandlers getNomAuteur();
84
		public HasClickHandlers getNomAuteur();
84
 
85
 
85
		public HasClickHandlers getNomEspece();
86
		public HasClickHandlers getNomEspece();
86
 
87
 
87
		public HasWidgets getMetadonnees();
88
		public HasWidgets getMetadonnees();
88
 
89
 
89
		public HasClickHandlers getVoirMotsCles();
90
		public HasClickHandlers getVoirMotsCles();
90
		
91
		
91
		public HasWidgets getZoneMotsCles();
92
		public HasWidgets getZoneMotsCles();
92
 
93
 
93
		public void cacherZoneMotsCles();
94
		public void cacherZoneMotsCles();
94
 
95
 
95
		public void afficherZoneMotsCles();
96
		public void afficherZoneMotsCles();
96
		
97
		
97
		public HasClickHandlers getBoutonFermer();
98
		public HasClickHandlers getBoutonFermer();
98
		
99
		
99
		public void ajouterStyleLienAuteur();
100
		public void ajouterStyleLienAuteur();
100
		
101
		
101
		public HasClickHandlers getBoutonSupprimerImage();
102
		public HasClickHandlers getBoutonSupprimerImage();
102
		public void cacherZoneActionsImage();
103
		public void cacherZoneActionsImage();
103
		public void afficherZoneActionsImage();
104
		public void afficherZoneActionsImage();
104
	}
105
	}
105
 
106
 
106
	private Vue vue;
107
	private Vue vue;
107
 
108
 
108
	private final Image image;
109
	private final Image image;
109
	private ImageService imageService;
110
	private ImageService imageService;
110
	private boolean detailsOuverts = false;
111
	private boolean detailsOuverts = false;
111
 
112
 
112
	private Protocole protocole;
113
	private Protocole protocole;
113
 
114
 
114
	private boolean motsClesOuverts = false;
115
	private boolean motsClesOuverts = false;
115
	
116
	
116
	private MotsClesImagePresenteur motsClesImagePresenteur;
117
	private MotsClesImagePresenteur motsClesImagePresenteur;
117
 
118
 
118
	final FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
119
	final FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
119
	
120
	
120
	public ImagePresenteur(Image image, ImageService imageService, Protocole protocole, Vue vue) {
121
	public ImagePresenteur(Image image, ImageService imageService, Protocole protocole, Vue vue) {
121
		this.image = image;
122
		this.image = image;
122
		this.imageService = imageService;
123
		this.imageService = imageService;
123
		this.protocole = protocole;
124
		this.protocole = protocole;
124
		this.vue = vue;
125
		this.vue = vue;
125
	}
126
	}
126
 
127
 
127
	public void go(HasWidgets composite) {
128
	public void go(HasWidgets composite) {
128
		composite.add(vue.asWidget());
129
		composite.add(vue.asWidget());
129
		vue.loadImage(image);
130
		vue.loadImage(image);
130
		try {
131
		try {
131
			// pas de profil pour les non inscrits
132
			// pas de profil pour les non inscrits
132
			Integer.parseInt(image.getObservation().getIdAuteur());
133
			Integer.parseInt(image.getObservation().getIdAuteur());
133
			vue.ajouterStyleLienAuteur();
134
			vue.ajouterStyleLienAuteur();
134
			vue.getNomAuteur().addClickHandler(new ClickHandler() {
135
			vue.getNomAuteur().addClickHandler(new ClickHandler() {
135
				
136
				
136
				@Override
137
				@Override
137
				public void onClick(ClickEvent event) {
138
				public void onClick(ClickEvent event) {
138
					Config config = new Config();
139
					Config config = new Config();
139
					Window.open(new Config().getUrl("profil") + image.getObservation().getIdAuteur(), "Profil utilisateur", config.getInfo("popupOptions"));
140
					Window.open(new Config().getUrl("profil") + image.getObservation().getIdAuteur(), "Profil utilisateur", config.getInfo("popupOptions"));
140
				}
141
				}
141
			});
142
			});
142
		} catch(Exception e) {
143
		} catch(Exception e) {
143
			// pas de bol mon coco
144
			// pas de bol mon coco
144
		}
145
		}
145
		new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation(), ModeRecherche.MODE_IMAGE, true).go(vue.getMetadonnees());
146
		new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation(), ModeRecherche.MODE_IMAGE, true).go(vue.getMetadonnees());
146
		chargerDonneesValidation();
147
		chargerDonneesValidation();
147
		afficherZoneActionsImage();
148
		afficherZoneActionsImage();
148
		gererEvenements();
149
		gererEvenements();
149
	}
150
	}
150
 
151
 
151
	private void chargerDonneesValidation() {
152
	private void chargerDonneesValidation() {
152
		vue.getZoneVoter().clear();
153
		vue.getZoneVoter().clear();
153
		if (protocole != null) {
154
		if (protocole != null) {
154
			HashMap<String, VoteProtocole> observationValidationDatas = image.getVotesProtocoles(protocole.getId());
155
			HashMap<String, VoteProtocole> observationValidationDatas = image.getVotesProtocoles(protocole.getId());
155
			if (observationValidationDatas != null) {
156
			if (observationValidationDatas != null) {
156
				new MoyenneVotePresenteur(image, protocole, new MoyenneVoteVue(), new VoteProtocoleServiceConcret()).go(vue.getZoneVoter());
157
				new MoyenneVotePresenteur(image, protocole, new MoyenneVoteVue(), new VoteProtocoleServiceConcret()).go(vue.getZoneVoter());
157
			}
158
			}
158
		}
159
		}
159
	}
160
	}
160
 
161
 
161
	private void lancerEvenementValidation() {
162
	private void lancerEvenementValidation() {
162
		CacheClient.getInstance().setImageCourante(image);
163
		CacheClient.getInstance().setImageCourante(image);
163
		final Observation obs = image.getObservation();
164
		final Observation obs = image.getObservation();
164
		BusEvenementiel.getInstance().fireEvent(new EvenementValidationPictoflora(obs));
165
		BusEvenementiel.getInstance().fireEvent(new EvenementValidationPictoflora(obs));
165
	}
166
	}
166
 
167
 
167
	protected void gererEvenements() {
168
	protected void gererEvenements() {
168
		ClickHandler zoomeur = new ClickHandler() {
169
		ClickHandler zoomeur = new ClickHandler() {
169
			public void onClick(ClickEvent event) {
170
			public void onClick(ClickEvent event) {
170
				FenetreOverlaySimplePresenteur presenteurGalerie = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
171
				FenetreOverlaySimplePresenteur presenteurGalerie = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
171
				presenteurGalerie.ouvrirFenetreModaleDefilante(0, new DetailImagePresenteur(image, new DetailImageVue()));
172
				presenteurGalerie.ouvrirFenetreModaleDefilante(0, new DetailImagePresenteur(image, new DetailImageVue()));
172
				presenteurGalerie.afficherBoutonsSuivantsPrecedents(false);
173
				presenteurGalerie.afficherBoutonsSuivantsPrecedents(false);
173
			}};
174
			}};
174
			
175
			
175
		vue.getImagePrincipale().addClickHandler(zoomeur);
176
		vue.getImagePrincipale().addClickHandler(zoomeur);
176
 
177
 
177
		vue.getEnSavoirPlus().addClickHandler(new ClickHandler() {
178
		vue.getEnSavoirPlus().addClickHandler(new ClickHandler() {
178
			@Override
179
			@Override
179
			public void onClick(ClickEvent event) {
180
			public void onClick(ClickEvent event) {
180
				BusEvenementiel.getInstance().fireEvent(new EvenementVoirDetailsImage(image));
181
				BusEvenementiel.getInstance().fireEvent(new EvenementVoirDetailsImage(image));
181
			}
182
			}
182
		});
183
		});
183
		
184
		
184
		vue.getVoirMotsCles().addClickHandler(new ClickHandler() {
185
		vue.getVoirMotsCles().addClickHandler(new ClickHandler() {
185
			@Override
186
			@Override
186
			public void onClick(ClickEvent event) {
187
			public void onClick(ClickEvent event) {
187
				CacheClient.getInstance().setImageCourante(image);
188
				CacheClient.getInstance().setImageCourante(image);
188
				motsClesImagePresenteur = new MotsClesImagePresenteur(
189
				motsClesImagePresenteur = new MotsClesImagePresenteur(
189
					image, 
190
					image, 
190
					new MotsClesServiceConcret(), 
191
					new MotsClesServiceConcret(), 
191
					new FormulaireSaisieMotsClesImagePresenteur(
192
					new FormulaireSaisieMotsClesImagePresenteur(
192
						image.getIdImage(), 
193
						image.getIdImage(), 
193
						new MotsClesServiceConcret(), 
194
						new MotsClesServiceConcret(), 
194
						new FormulaireSaisieMotsClesImageVue()), 
195
						new FormulaireSaisieMotsClesImageVue()), 
195
					new MotsClesImageVue());
196
					new MotsClesImageVue());
196
				motsClesImagePresenteur.chargerMotsCles();
197
				motsClesImagePresenteur.chargerMotsCles();
197
				fenetreOverlaySimplePresenteur.ouvrirFenetreModale(motsClesImagePresenteur);
198
				fenetreOverlaySimplePresenteur.ouvrirFenetreModale(motsClesImagePresenteur);
198
			}
199
			}
199
		});
200
		});
200
		
201
		
201
		vue.getBoutonFermer().addClickHandler(new ClickHandler() {
202
		vue.getBoutonFermer().addClickHandler(new ClickHandler() {
202
			@Override
203
			@Override
203
			public void onClick(ClickEvent event) {
204
			public void onClick(ClickEvent event) {
204
				cacherPanneauMotsCles();
205
				cacherPanneauMotsCles();
205
			}
206
			}
206
		});
207
		});
207
		BusEvenementiel.getInstance().addHandler(EvenementVoirDetailsImage.TYPE, new GestionnaireEvenementVoirDetailsImage() {
208
		BusEvenementiel.getInstance().addHandler(EvenementVoirDetailsImage.TYPE, new GestionnaireEvenementVoirDetailsImage() {
208
			@Override
209
			@Override
209
			public void onVoirDetailsImage(EvenementVoirDetailsImage event) {
210
			public void onVoirDetailsImage(EvenementVoirDetailsImage event) {
210
				if (image.getIdImage().equals(event.getImage().getIdImage())) {
211
				if (image.getIdImage().equals(event.getImage().getIdImage())) {
211
					if (!detailsOuverts) {
212
					if (!detailsOuverts) {
212
						afficherDetails();
213
						afficherDetails();
213
					} else {
214
					} else {
214
						cacherDetails();
215
						cacherDetails();
215
					}
216
					}
216
				} else {
217
				} else {
217
					cacherDetails();
218
					cacherDetails();
218
				}
219
				}
219
			}
220
			}
220
		});
221
		});
221
 
222
 
222
		BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
223
		BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
223
			@Override
224
			@Override
224
			public void onChangementProtocole(EvenementChangementProtocole event) {
225
			public void onChangementProtocole(EvenementChangementProtocole event) {
225
				setProtocole(event.getProtocole());
226
				setProtocole(event.getProtocole());
226
				chargerDonneesValidation();
227
				chargerDonneesValidation();
227
			}
228
			}
228
		});
229
		});
229
		
230
		
230
		BusEvenementiel.getInstance().addHandler(EvenementFermerMotCleImage.TYPE, new GestionnaireEvenementFermerMotCleImage() {
231
		BusEvenementiel.getInstance().addHandler(EvenementFermerMotCleImage.TYPE, new GestionnaireEvenementFermerMotCleImage() {
231
			@Override
232
			@Override
232
			public void onFermerMotCleImage(EvenementFermerMotCleImage evenementFermerMotCleImage) {
233
			public void onFermerMotCleImage(EvenementFermerMotCleImage evenementFermerMotCleImage) {
233
				if (evenementFermerMotCleImage.getIdImage().equals(image.getIdImage())) {
234
				if (evenementFermerMotCleImage.getIdImage().equals(image.getIdImage())) {
234
					fenetreOverlaySimplePresenteur.fermerFenetreModale();
235
					fenetreOverlaySimplePresenteur.fermerFenetreModale();
235
				}
236
				}
236
			}
237
			}
237
		});
238
		});
238
		
239
		
239
		
240
		
240
		BusEvenementiel.getInstance().addHandler(EvenementSupprimerImage.TYPE, new GestionnaireEvenementSupprimerImage() {
241
		BusEvenementiel.getInstance().addHandler(EvenementSupprimerImage.TYPE, new GestionnaireEvenementSupprimerImage() {
241
			@Override
242
			@Override
242
			public void onSuppressionImage(EvenementSupprimerImage event) {
243
			public void onSuppressionImage(EvenementSupprimerImage event) {
243
				GWT.log("Attraper evnt : EvenementSupprimerImage (img:"+image.getIdImage()+")");
244
				GWT.log("Attraper evnt : EvenementSupprimerImage (img:"+image.getIdImage()+")");
244
				if (event.getIdImage().equals(image.getIdImage())) {
245
				if (event.getIdImage().equals(image.getIdImage())) {
-
 
246
					if (Window.confirm(I18n.getVocabulary().confirmationSuppressionImg())) {
245
					supprimerImg();
247
						supprimerImg();
-
 
248
					}
246
				}
249
				}
247
			}
250
			}
248
		});
251
		});
249
		vue.getBoutonSupprimerImage().addClickHandler(new ClickHandler() {
252
		vue.getBoutonSupprimerImage().addClickHandler(new ClickHandler() {
250
			@Override
253
			@Override
251
			public void onClick(ClickEvent event) {
254
			public void onClick(ClickEvent event) {
252
				GWT.log("Lancer evnt : EvenementSupprimerImage");
255
				GWT.log("Lancer evnt : EvenementSupprimerImage");
253
				BusEvenementiel.getInstance().fireEvent(new EvenementSupprimerImage(image.getIdImage()));
256
				BusEvenementiel.getInstance().fireEvent(new EvenementSupprimerImage(image.getIdImage()));
254
			}
257
			}
255
		});
258
		});
256
		
259
		
257
		BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() {
260
		BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() {
258
			@Override
261
			@Override
259
			public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) {
262
			public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) {
260
				afficherZoneActionsImage();
263
				afficherZoneActionsImage();
261
			}
264
			}
262
		});
265
		});
263
		
266
		
264
	}
267
	}
265
 
268
 
266
	private void supprimerImg() {
269
	private void supprimerImg() {
267
		GWT.log("supprimerImg :"+image.getIdImage());
270
		GWT.log("supprimerImg :"+image.getIdImage());
268
		imageService.supprimer(image, new SuppressionImageCallback() {
271
		imageService.supprimer(image, new SuppressionImageCallback() {
269
			@Override
272
			@Override
270
			public void surRetour(String suppressionOk) {
273
			public void surRetour(String suppressionOk) {
271
				GWT.log("Suppression image "+image.getIdImage()+" "+suppressionOk);
274
				GWT.log("Suppression image "+image.getIdImage()+" "+suppressionOk);
272
				if (suppressionOk.equals("OK")) {
275
				if (suppressionOk.equals("OK")) {
273
					vue.asWidget().removeFromParent();
276
					vue.asWidget().removeFromParent();
274
				}
277
				}
275
			}
278
			}
276
		});
279
		});
277
	}
280
	}
278
	
281
	
279
	protected void afficherPanneauMotsCles() {
282
	protected void afficherPanneauMotsCles() {
280
		vue.afficherZoneMotsCles();
283
		vue.afficherZoneMotsCles();
281
		motsClesOuverts = true;
284
		motsClesOuverts = true;
282
		motsClesImagePresenteur.chargerMotsCles();
285
		motsClesImagePresenteur.chargerMotsCles();
283
		motsClesImagePresenteur.focuserChampsSaisie();
286
		motsClesImagePresenteur.focuserChampsSaisie();
284
	}
287
	}
285
	
288
	
286
	protected void cacherPanneauMotsCles() {
289
	protected void cacherPanneauMotsCles() {
287
		vue.cacherZoneMotsCles();
290
		vue.cacherZoneMotsCles();
288
		motsClesOuverts = false;
291
		motsClesOuverts = false;
289
	}
292
	}
290
 
293
 
291
	public void cacherDetails() {
294
	public void cacherDetails() {
292
		vue.cacherZoneCache();
295
		vue.cacherZoneCache();
293
		detailsOuverts = false;
296
		detailsOuverts = false;
294
	}
297
	}
295
 
298
 
296
	public void afficherDetails() {
299
	public void afficherDetails() {
297
		vue.afficherZoneCache();
300
		vue.afficherZoneCache();
298
		detailsOuverts = true;
301
		detailsOuverts = true;
299
	}
302
	}
300
 
303
 
301
	public boolean isDetailsOpen() {
304
	public boolean isDetailsOpen() {
302
		return detailsOuverts;
305
		return detailsOuverts;
303
	}
306
	}
304
 
307
 
305
	public Protocole getProtocole() {
308
	public Protocole getProtocole() {
306
		return protocole;
309
		return protocole;
307
	}
310
	}
308
 
311
 
309
	public void setProtocole(Protocole protocole) {
312
	public void setProtocole(Protocole protocole) {
310
		this.protocole = protocole;
313
		this.protocole = protocole;
311
	}
314
	}
312
	
315
	
313
	private void afficherZoneActionsImage() {
316
	private void afficherZoneActionsImage() {
314
		if (devoirAfficherZoneActionsImage()) {
317
		if (devoirAfficherZoneActionsImage()) {
315
			vue.afficherZoneActionsImage();
318
			vue.afficherZoneActionsImage();
316
		} else {
319
		} else {
317
			vue.cacherZoneActionsImage();
320
			vue.cacherZoneActionsImage();
318
		}
321
		}
319
	}
322
	}
320
	
323
	
321
	private boolean devoirAfficherZoneActionsImage() {
324
	private boolean devoirAfficherZoneActionsImage() {
322
		Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
325
		Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
323
		boolean etreAdmin = false;
326
		boolean etreAdmin = false;
324
		if (utilisateur != null) {
327
		if (utilisateur != null) {
325
			etreAdmin = utilisateur.estIdentifie() && utilisateur.etreAdmin();
328
			etreAdmin = utilisateur.estIdentifie() && utilisateur.etreAdmin();
326
		}
329
		}
327
		return etreAdmin;
330
		return etreAdmin;
328
	}
331
	}
329
}
332
}