Subversion Repositories eFlore/Applications.del

Rev

Rev 63 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 benjamin 1
package org.tela_botanica.del.client.vues.rechercheobservations;
9 benjamin 2
 
3
import java.util.List;
4
 
5
import org.tela_botanica.del.client.modeles.Observation;
14 benjamin 6
import org.tela_botanica.del.client.modeles.ObservationValidation;
73 benjamin 7
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
8
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation;
9 benjamin 9
import org.tela_botanica.del.client.utils.MockDatasource;
14 benjamin 10
import org.tela_botanica.del.client.vues.rechercheobservations.vote.MoyenneVotePresenteur;
9 benjamin 11
 
12
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickHandler;
14
import com.google.gwt.user.client.ui.HasWidgets;
52 gduche 15
import com.google.gwt.user.client.ui.Label;
16
import com.google.gwt.user.client.ui.VerticalPanel;
9 benjamin 17
 
14 benjamin 18
public class ObservationPresenteur {
9 benjamin 19
 
20
	private final MockDatasource validationService = MockDatasource.getInstance();
32 gduche 21
	private ObservationVue vue = new ObservationVue();
9 benjamin 22
	private final Observation observation;
23
	private boolean detailsOpen = false;
24
 
14 benjamin 25
	public ObservationPresenteur(Observation observation) {
9 benjamin 26
		this.observation = observation;
27
	}
28
 
29
	public void go(HasWidgets composite) {
32 gduche 30
		composite.add(vue);
31
		vue.loadImage(observation);
63 gduche 32
		loadValidationData();
52 gduche 33
		handleEvents();
9 benjamin 34
 
35
	}
36
 
37
	private void loadValidationData() {
38
 
32 gduche 39
		List<ObservationValidation> observationValidationDatas = validationService.getValidationData(observation.getIdImage());
9 benjamin 40
		observation.setImageCelValidationDatas(observationValidationDatas);
63 gduche 41
		new MoyenneVotePresenteur(observationValidationDatas).go(vue.getVoter());
32 gduche 42
		vue.showValidationData(observationValidationDatas);
9 benjamin 43
 
44
	}
45
 
46
	private void handleEvents() {
47
 
52 gduche 48
		vue.getEnSavoirPlus().addClickHandler(new ClickHandler() {
49
 
9 benjamin 50
			@Override
51
			public void onClick(ClickEvent event) {
63 gduche 52
				// FIXME : Cacher les précédentes fenêtres affichées
52 gduche 53
				VerticalPanel zoneCache = vue.getZoneCache();
54
				Label enSavoirPlus = vue.getEnSavoirPlus();
55
				zoneCache.setVisible(!zoneCache.isVisible());
9 benjamin 56
 
52 gduche 57
				if (!zoneCache.isVisible()) {
58
					enSavoirPlus.setStyleName("boutonPlus");
9 benjamin 59
				} else {
52 gduche 60
					enSavoirPlus.setStyleName("boutonMoins");
9 benjamin 61
				}
62
			}
63
		});
73 benjamin 64
 
65
		vue.getImagePrincipale().addClickHandler(new ClickHandler() {
66
 
67
			@Override
68
			public void onClick(ClickEvent event) {
69
				BusEvenementiel.getInstance().fireEvent(new EvenementValidation(observation));
70
			}
71
		});
9 benjamin 72
	}
73
}