Subversion Repositories eFlore/Applications.cel

Rev

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

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