Subversion Repositories eFlore/Applications.cel

Rev

Rev 2692 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2692 Rev 2734
Line 3... Line 3...
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
6
import java.util.Map;
6
import java.util.Map;
Line 7... Line 7...
7
 
7
 
8
import org.tela_botanica.client.cel2;
-
 
Line 9... Line 8...
9
import org.tela_botanica.client.modeles.objets.Utilisateur;
8
import org.tela_botanica.client.util.Util;
10
 
-
 
11
import com.google.gwt.core.client.Callback;
9
 
12
import com.google.gwt.core.client.JavaScriptObject;
10
import com.google.gwt.core.client.Callback;
13
import com.google.gwt.event.dom.client.KeyCodes;
11
import com.google.gwt.event.dom.client.KeyCodes;
14
import com.google.gwt.event.dom.client.KeyDownEvent;
-
 
15
import com.google.gwt.event.dom.client.KeyDownHandler;
-
 
16
import com.google.gwt.event.dom.client.KeyPressEvent;
12
import com.google.gwt.event.dom.client.KeyDownEvent;
17
import com.google.gwt.event.dom.client.KeyPressHandler;
13
import com.google.gwt.event.dom.client.KeyDownHandler;
18
import com.google.gwt.event.logical.shared.SelectionEvent;
14
import com.google.gwt.event.logical.shared.SelectionEvent;
19
import com.google.gwt.event.logical.shared.SelectionHandler;
15
import com.google.gwt.event.logical.shared.SelectionHandler;
20
import com.google.gwt.event.logical.shared.ValueChangeEvent;
16
import com.google.gwt.event.logical.shared.ValueChangeEvent;
Line 26... Line 22...
26
import com.google.gwt.http.client.Response;
22
import com.google.gwt.http.client.Response;
27
import com.google.gwt.http.client.URL;
23
import com.google.gwt.http.client.URL;
28
import com.google.gwt.user.client.Event;
24
import com.google.gwt.user.client.Event;
29
import com.google.gwt.user.client.Timer;
25
import com.google.gwt.user.client.Timer;
30
import com.google.gwt.user.client.Window;
26
import com.google.gwt.user.client.Window;
31
import com.google.gwt.user.client.ui.ChangeListener;
-
 
32
import com.google.gwt.user.client.ui.Label;
27
import com.google.gwt.user.client.ui.Label;
33
import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
28
import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
34
import com.google.gwt.user.client.ui.SuggestBox;
29
import com.google.gwt.user.client.ui.SuggestBox;
35
import com.google.gwt.user.client.ui.SuggestBox.DefaultSuggestionDisplay;
30
import com.google.gwt.user.client.ui.SuggestBox.DefaultSuggestionDisplay;
36
import com.google.gwt.user.client.ui.TextBox;
31
import com.google.gwt.user.client.ui.TextBox;
37
import com.google.gwt.user.client.ui.SuggestBox.SuggestionDisplay;
-
 
38
import com.google.gwt.user.client.ui.SuggestOracle;
32
import com.google.gwt.user.client.ui.SuggestOracle;
39
import com.google.gwt.user.client.ui.Widget;
-
 
40
import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
33
import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
41
import com.gwtext.client.widgets.BoxComponent;
34
import com.gwtext.client.widgets.BoxComponent;
42
import com.gwtext.client.widgets.Component;
-
 
43
import com.gwtext.client.widgets.Container;
-
 
44
import com.gwtext.client.widgets.Panel;
35
import com.gwtext.client.widgets.Panel;
45
import com.gwtext.client.widgets.event.PanelListener;
-
 
46
import com.gwtext.client.widgets.event.PanelListenerAdapter;
36
import com.gwtext.client.widgets.event.PanelListenerAdapter;
47
import com.gwtext.client.widgets.layout.FitLayout;
37
import com.gwtext.client.widgets.layout.FitLayout;
Line 48... Line 38...
48
 
38
 
49
@SuppressWarnings("unchecked")
39
@SuppressWarnings("unchecked")
Line 79... Line 69...
79
			public void requestSuggestions(Request request, Callback callback) {
69
			public void requestSuggestions(Request request, Callback callback) {
80
				List<MultiWordSuggestion> retenus = new ArrayList<MultiWordSuggestion>();
70
				List<MultiWordSuggestion> retenus = new ArrayList<MultiWordSuggestion>();
81
				Iterator<String> it = possibilites.keySet().iterator();
71
				Iterator<String> it = possibilites.keySet().iterator();
82
			    while (it.hasNext()) {
72
			    while (it.hasNext()) {
83
			    	String cle = it.next();
73
			    	String cle = it.next();
84
			    	String cleAffichee = preTraiterValeurAvantAffichage(possibilites.get(cle));
74
			    	String cleAffichee = preTraiterValeurAvantAffichage(cle);
85
					MultiWordSuggestion muWoSug = new MultiWordSuggestion(possibilites.get(cle), cleAffichee);
75
					MultiWordSuggestion muWoSug = new MultiWordSuggestion(cle, cleAffichee);
86
					retenus.add(muWoSug);
76
					retenus.add(muWoSug);
87
			    }
77
			    }
Line 88... Line 78...
88
 
78
 
89
				Response reponse = new Response(retenus);
79
				Response reponse = new Response(retenus);
Line 130... Line 120...
130
		    	// Si elle est fermée, elle déclenche la fonction abstraite de validation (utile pour les champs
120
		    	// Si elle est fermée, elle déclenche la fonction abstraite de validation (utile pour les champs
131
		    	// du genre station, milieu etc... et la saisie d'obs rapide
121
		    	// du genre station, milieu etc... et la saisie d'obs rapide
132
				if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {	
122
				if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {	
133
					if((sgd == null || !sgd.isSuggestionListShowing())) {
123
					if((sgd == null || !sgd.isSuggestionListShowing())) {
134
						onValidationSaisie();
124
						onValidationSaisie();
-
 
125
						Util.LogVersFirebug("je passe ici");
135
						event.stopPropagation();
126
						event.stopPropagation();
136
						return;
127
						return;
137
					} else {
128
					} else {
-
 
129
						Util.LogVersFirebug("je passe là");
138
						// Dans les autres cas, un appui sur entrée ne doit pas redéclencher l'autcomplétion
130
						// Dans les autres cas, un appui sur entrée ne doit pas redéclencher l'autcomplétion
139
						return;
131
						return;
140
					}
132
					}
141
				}
133
				}
Line 161... Line 153...
161
			public void onSuggestionsReady(SuggestOracle.Request request, SuggestOracle.Response response) {
153
			public void onSuggestionsReady(SuggestOracle.Request request, SuggestOracle.Response response) {
162
				suggestions.showSuggestionList();
154
				suggestions.showSuggestionList();
163
			}
155
			}
164
	    };
156
	    };
Line 165... Line 157...
165
	    
157
	    
166
	    suggestions.addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>(){				
158
	    suggestions.addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>(){
167
			@Override
159
			@Override
168
			public void onSelection(SelectionEvent<Suggestion> event) {
160
			public void onSelection(SelectionEvent<Suggestion> event) {
169
				onSelectionValeur();
161
				onSelectionValeur();
170
			}
162
			}
Line 287... Line 279...
287
	
279
	
288
	public String getText() {
280
	public String getText() {
289
		return suggestions.getText();
281
		return suggestions.getText();
Line -... Line 282...
-
 
282
	}
-
 
283
	
-
 
284
	public void setText(String texte) {
-
 
285
		suggestions.setText(texte);
290
	}
286
	}
291
	
287
	
292
	public String getRawValue() {
288
	public String getRawValue() {
-
 
289
		return suggestions.getText();
-
 
290
	}
-
 
291
 
-
 
292
	public String getValue() {
Line 293... Line 293...
293
		return suggestions.getText();
293
		return suggestions.getValue();
294
	}
294
	}
295
	
295
	
Line 296... Line 296...
296
	public void setValue(String texte) {
296
	public void setValue(String valeur) {
297
		suggestions.setText(texte);
297
		suggestions.setText(valeur);
298
	}
298
	}
Line 319... Line 319...
319
	
319
	
320
	public void agrandirChamp(int largeur) {
320
	public void agrandirChamp(int largeur) {
321
		suggestions.setWidth(largeur+"px");
321
		suggestions.setWidth(largeur+"px");
Line 322... Line 322...
322
	}
322
	}
323
	
323
	
324
	protected String preTraiterValeurAvantAffichage(String valeur) {
324
	protected String preTraiterValeurAvantAffichage(String cle) {
325
		return valeur;
325
		return possibilites.get(cle);
326
	}
326
	}
327
	protected String preTraiterUrlRequete(String urlRequete, String valeur) {
327
	protected String preTraiterUrlRequete(String urlRequete, String valeur) {
328
		return urlRequete+URL.encodeQueryString(valeur);
328
		return urlRequete+URL.encodeQueryString(valeur);