Subversion Repositories eFlore/Applications.del

Rev

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

Rev 311 Rev 323
Line 1... Line 1...
1
package org.tela_botanica.del.client.vues.rechercheimages;
1
package org.tela_botanica.del.client.vues.rechercheimages;
Line 2... Line 2...
2
 
2
 
Line 3... Line 3...
3
import java.util.List;
3
import java.util.List;
-
 
4
 
-
 
5
import org.tela_botanica.del.client.cache.CacheClient;
-
 
6
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;
4
 
7
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;
5
import org.tela_botanica.del.client.cache.CacheClient;
8
import org.tela_botanica.del.client.i18n.I18n;
6
import org.tela_botanica.del.client.modeles.Protocole;
9
import org.tela_botanica.del.client.modeles.Protocole;
7
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
10
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
8
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
11
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
Line 22... Line 25...
22
import com.google.gwt.event.dom.client.KeyPressEvent;
25
import com.google.gwt.event.dom.client.KeyPressEvent;
23
import com.google.gwt.event.dom.client.KeyPressHandler;
26
import com.google.gwt.event.dom.client.KeyPressHandler;
24
import com.google.gwt.user.client.ui.HasWidgets;
27
import com.google.gwt.user.client.ui.HasWidgets;
25
import com.google.gwt.user.client.ui.IsWidget;
28
import com.google.gwt.user.client.ui.IsWidget;
Line 26... Line 29...
26
 
29
 
Line 27... Line 30...
27
public class MoteurRechercheImage {
30
public class MoteurRechercheImagePresenteur {
Line 28... Line 31...
28
 
31
 
29
	public interface Vue extends IsWidget {
32
	public interface Vue extends IsWidget {
30
		
-
 
31
		public abstract void ajouterProtocole(String protocole);
-
 
32
		public abstract void selectionnerProtocole(int index);
33
		
33
		public abstract HasClickHandlers getBoutonChercher();
34
		public abstract void ajouterProtocole(String protocole);
34
		public abstract HasKeyPressHandlers getChampEspece();
35
		public abstract void selectionnerProtocole(int index);
35
		public abstract HasChangeHandlers getListeProtocoles();
36
		public abstract HasChangeHandlers getListeProtocoles();
Line 36... Line 37...
36
		public abstract HasWidgets getZoneResultats();
37
		public abstract HasWidgets getZoneResultats();
Line 37... Line 38...
37
		public abstract String getValeurEspece();
38
		public abstract HasWidgets getZoneRecherche();
Line 47... Line 48...
47
	private String protocoleParDefaut = Protocole.IDENTIFICATION_AUTOMATIQUE;
48
	private String protocoleParDefaut = Protocole.IDENTIFICATION_AUTOMATIQUE;
Line 48... Line 49...
48
	
49
	
49
	/**
50
	/**
50
	 * Constructeur
51
	 * Constructeur
51
	 * */
52
	 * */
52
	public MoteurRechercheImage(Vue vue) {
53
	public MoteurRechercheImagePresenteur(Vue vue) {
Line 53... Line 54...
53
		this.vue = vue;
54
		this.vue = vue;
54
		
55
		
55
		if (CacheClient.getInstance().getProtocoleCourant() == null) {
56
		if (CacheClient.getInstance().getProtocoleCourant() == null) {
Line 59... Line 60...
59
 
60
 
60
	public void go(HasWidgets composite) {
61
	public void go(HasWidgets composite) {
61
		composite.add(vue.asWidget());
62
		composite.add(vue.asWidget());
62
		gererEvenements();
63
		gererEvenements();
-
 
64
		chargerProtocoles();
63
		chargerProtocoles();
65
		chargerMoteurRechercheAvancee();
Line 64... Line 66...
64
	}
66
	}
65
 
67
 
66
	private void chargerProtocoles() {
68
	private void chargerProtocoles() {
Line 71... Line 73...
71
		vue.selectionnerProtocole(protocoles.indexOf(CacheClient.getInstance().getProtocoleCourant()));
73
		vue.selectionnerProtocole(protocoles.indexOf(CacheClient.getInstance().getProtocoleCourant()));
72
	}
74
	}
Line 73... Line 75...
73
 
75
 
Line 74... Line -...
74
	public void gererEvenements() {
-
 
75
 
-
 
76
		vue.getBoutonChercher().addClickHandler(new ClickHandler() {
-
 
77
 
-
 
78
			@Override
-
 
79
			public void onClick(ClickEvent event) {
-
 
80
				lancerRechercheImage();
-
 
81
			}
-
 
82
		});
-
 
83
 
-
 
84
		vue.getChampEspece().addKeyPressHandler(new KeyPressHandler() {
-
 
85
 
-
 
86
			public void onKeyPress(KeyPressEvent event) {
-
 
87
				if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
-
 
88
					lancerRechercheImage();
-
 
89
				}
-
 
90
			}
-
 
91
		});
76
	public void gererEvenements() {
Line 92... Line 77...
92
 
77
 
93
		vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
78
		vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
Line 100... Line 85...
100
				BusEvenementiel.getInstance().fireEvent(evenement);
85
				BusEvenementiel.getInstance().fireEvent(evenement);
101
			}
86
			}
102
		});
87
		});
103
	}
88
	}
Line 104... Line 89...
104
	
89
	
-
 
90
	public void chargerMoteurRechercheAvancee() {
-
 
91
		MoteurRecherchePresenteur presenteurRecherche = new MoteurRecherchePresenteur(new MoteurRechercheVue(I18n.getVocabulary().rechercherImage())) {
105
	public void lancerRechercheImage() {
92
			public void lancerRecherche(String termeRecherche) {
106
		CacheClient.getInstance().setEspeceRecherche(vue.getValeurEspece());
93
				CacheClient.getInstance().setEspeceRecherche(termeRecherche);
-
 
94
				BusEvenementiel.getInstance().fireEvent(new EvenementRechercheImage(getZoneResultats()));
-
 
95
			}
-
 
96
		};
107
		BusEvenementiel.getInstance().fireEvent(new EvenementRechercheImage());
97
		presenteurRecherche.go(vue.getZoneRecherche());
Line 108... Line 98...
108
	}
98
	}
109
	
99
	
110
	public HasWidgets getZoneResultats() {
100
	public HasWidgets getZoneResultats() {