Subversion Repositories eFlore/Applications.del

Rev

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

Rev 124 Rev 148
Line 1... Line 1...
1
package org.tela_botanica.del.client.vues.rechercheobservations;
1
package org.tela_botanica.del.client.vues.rechercheimages;
Line 2... Line 2...
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Iterator;
4
import java.util.Iterator;
Line -... Line 5...
-
 
5
import java.util.List;
5
import java.util.List;
6
 
-
 
7
import org.tela_botanica.del.client.cache.CacheClient;
-
 
8
import org.tela_botanica.del.client.modeles.Image;
6
 
9
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
7
import org.tela_botanica.del.client.modeles.Observation;
10
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.EvenementRechercheImage;
8
import org.tela_botanica.del.client.pagination.PaginationPresenteur;
11
import org.tela_botanica.del.client.pagination.PaginationPresenteur;
Line 9... Line 12...
9
import org.tela_botanica.del.client.utils.KeyboardKeyListener;
12
import org.tela_botanica.del.client.utils.KeyboardKeyListener;
10
import org.tela_botanica.del.client.utils.MockDatasource;
13
import org.tela_botanica.del.client.utils.MockDatasource;
11
 
14
 
12
import com.google.gwt.event.dom.client.ClickEvent;
15
import com.google.gwt.event.dom.client.ClickEvent;
Line 13... Line 16...
13
import com.google.gwt.event.dom.client.ClickHandler;
16
import com.google.gwt.event.dom.client.ClickHandler;
Line 14... Line 17...
14
import com.google.gwt.user.client.ui.HasWidgets;
17
import com.google.gwt.user.client.ui.HasWidgets;
15
import com.google.gwt.user.client.ui.Panel;
18
import com.google.gwt.user.client.ui.Panel;
16
 
19
 
17
public class ObservationRecherchePresenteur {
20
public class ImageRecherchePresenteur {
18
 
-
 
Line 19... Line 21...
19
	private final MockDatasource observationService = MockDatasource.getInstance();
21
 
20
	private final ObservationRechercheVue vue = new ObservationRechercheVue();
22
	private final MockDatasource observationService = MockDatasource.getInstance();
21
	private static ObservationRecherchePresenteur instance;
23
	private final ImageRechercheVue vue = new ImageRechercheVue();
Line 22... Line 24...
22
	private List<ObservationPresenteur> observationPresenteurs = new ArrayList<ObservationPresenteur>();
24
	private static ImageRecherchePresenteur instance;
23
	private List<Observation> observations;
25
	private List<ImagePresenteur> observationPresenteurs = new ArrayList<ImagePresenteur>();
24
 
26
 
-
 
27
	public ImageRecherchePresenteur() {
-
 
28
		instance = this;
-
 
29
	}
-
 
30
 
25
	public ObservationRecherchePresenteur() {
31
	public void go(HasWidgets composite) {
Line 26... Line 32...
26
		instance = this;
32
		composite.add(vue);
27
	}
33
		gererEvenements();
28
 
-
 
29
	public void go(HasWidgets composite) {
-
 
Line 30... Line 34...
30
		composite.add(vue);
34
 
Line 31... Line 35...
31
		gererEvenements();
35
		if (CacheClient.getInstance().getImages() != null) {
32
	}
36
			chargerObservations();
33
 
37
		}
34
	@SuppressWarnings("deprecation")
-
 
35
	public void gererEvenements() {
38
	}
36
		// FIXME : temporaire, juste pour débug
39
 
Line 37... Line 40...
37
		// chargerObservations();
40
	@SuppressWarnings("deprecation")
38
 
41
	public void gererEvenements() {
Line 39... Line 42...
39
		vue.getBoutonChercher().addClickHandler(new ClickHandler() {
42
 
40
 
43
		vue.getBoutonChercher().addClickHandler(new ClickHandler() {
41
			@Override
44
 
42
			public void onClick(ClickEvent event) {
45
			@Override
43
				vue.startChargement();
46
			public void onClick(ClickEvent event) {
-
 
47
				getImages();
Line -... Line 48...
-
 
48
			}
-
 
49
		});
-
 
50
 
-
 
51
		// TODO : remplacer par KeyUp, KeyDown ... etc.
44
				chargerObservations();
52
		vue.getTextBox().addKeyboardListener(new KeyboardKeyListener() {
Line 45... Line 53...
45
			}
53
 
Line 46... Line -...
46
		});
-
 
47
 
-
 
48
		// TODO : remplacer par KeyUp, KeyDown ... etc.
54
			@Override
49
		vue.getTextBox().addKeyboardListener(new KeyboardKeyListener() {
55
			public void onEnterKeyUp() {
Line 50... Line 56...
50
 
56
				getImages();
51
			@Override
57
			}
52
			public void onEnterKeyUp() {
58
		});
53
				chargerObservations();
59
	}
54
			}
60
 
Line 55... Line 61...
55
		});
61
	private void getImages() {
56
 
62
		List<Image> imagesFromDatabase = observationService.getImages();
57
	}
63
		EvenementRechercheImage evenementRechercheImage = new EvenementRechercheImage(imagesFromDatabase);
58
 
64
		BusEvenementiel.getInstance().fireEvent(evenementRechercheImage);
59
	private void chargerObservations() {
65
	}
60
 
66
 
61
		observations = observationService.getObservations();
67
	private void chargerObservations() {
Line 62... Line 68...
62
 
68
 
63
		// Remise à zéro du panneau d'affichage et des composants
69
		// Remise à zéro du panneau d'affichage et des composants
Line 64... Line 70...
64
		vue.nettoyer();
70
		vue.nettoyer();
Line 65... Line 71...
65
 
71
 
Line 66... Line 72...
66
		// TODO : créer une méthode globale pour l'application ? voir
72
		// TODO : créer une méthode globale pour l'application ? voir
67
		// superclasse présenteur ?
73
		// superclasse présenteur ?
68
		// FIXME : ne s'affiche pas
74
		// FIXME : ne s'affiche pas
69
		vue.startChargement();
75
		vue.startChargement();
70
		vue.creerPanneauxObservation(observations);
76
		vue.creerPanneauxObservation(CacheClient.getInstance().getImages());
71
 
77
 
72
		Iterator<Panel> panelIterator = vue.getPanneauxImages().iterator();
78
		Iterator<Panel> panelIterator = vue.getPanneauxImages().iterator();
-
 
79
		for (Image image : CacheClient.getInstance().getImages()) {
73
		for (Observation observation : observations) {
80
			Panel imagePanel = panelIterator.next();
Line 74... Line 81...
74
			Panel imagePanel = panelIterator.next();
81
			ImagePresenteur observationPresenteur = new ImagePresenteur(image);
Line 75... Line 82...
75
			ObservationPresenteur observationPresenteur = new ObservationPresenteur(observation);
82
			observationPresenteur.go(imagePanel);
76
			observationPresenteur.go(imagePanel);
83
			observationPresenteurs.add(observationPresenteur);
77
			observationPresenteurs.add(observationPresenteur);
84
		}
78
		}
85
 
79
 
86
		vue.afficherPanneauxImage(0, vue.getNbImagesPerPage());
80
		vue.afficherPanneauxImage(0, vue.getNbImagesPerPage());
-
 
81
		createPaginationWidget(observations.size());
-
 
82
 
-
 
83
		vue.stopChargement();
-
 
84
 
-
 
85
	}
-
 
86
 
87
		createPaginationWidget(CacheClient.getInstance().getImages().size());
Line 87... Line 88...
87
	public void fermerTousPanneauxDetailsObservations(){
88
 
88
		for(ObservationPresenteur observationPresenteur: observationPresenteurs){
89
		vue.stopChargement();
89
			if(observationPresenteur.isDetailsOpen()){
90
 
Line 90... Line 91...
90
				observationPresenteur.cacherDetails();
91
	}
91
			}
92
 
92
		}
93
	public void fermerTousPanneauxDetailsObservations() {
Line 93... Line 94...
93
	}
94
		for (ImagePresenteur observationPresenteur : observationPresenteurs) {
94
	private void createPaginationWidget(int nbImages) {
95
			if (observationPresenteur.isDetailsOpen()) {
95
 
96
				observationPresenteur.cacherDetails();
Line 96... Line -...
96
		new PaginationPresenteur(nbImages) {
-
 
97
 
-
 
98
			@Override
-
 
99
			public void changerPage(int debut, int fin) {
-
 
100
				ObservationRecherchePresenteur.getInstance().showImagePanels(debut, fin);
97
			}