Subversion Repositories eFlore/Applications.del

Rev

Rev 1886 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1886 Rev 1957
1
package org.tela_botanica.del.client.composants.formulaires.autocompletion;
1
package org.tela_botanica.del.client.composants.formulaires.autocompletion;
2
 
2
 
3
import org.tela_botanica.del.client.utils.InfosNomPourAutocompletion;
3
import org.tela_botanica.del.client.utils.InfosNomPourAutocompletion;
4
import org.tela_botanica.del.client.utils.TBSuggestOracle;
4
import org.tela_botanica.del.client.utils.TBSuggestOracle;
-
 
5
 
5
 
6
import com.google.gwt.core.client.Callback;
6
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
7
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
-
 
8
import com.google.gwt.event.logical.shared.HasSelectionHandlers;
7
import com.google.gwt.event.logical.shared.HasSelectionHandlers;
9
import com.google.gwt.user.client.Event;
8
import com.google.gwt.user.client.ui.HasWidgets;
10
import com.google.gwt.user.client.ui.HasWidgets;
9
import com.google.gwt.user.client.ui.LayoutPanel;
11
import com.google.gwt.user.client.ui.LayoutPanel;
10
import com.google.gwt.user.client.ui.SuggestBox;
12
import com.google.gwt.user.client.ui.SuggestBox;
11
import com.google.gwt.user.client.ui.SuggestOracle;
13
import com.google.gwt.user.client.ui.SuggestOracle;
12
import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
14
import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
13
 
15
 
14
public class AutoCompletionComboBoxVue extends LayoutPanel implements AutoCompletionComboBoxPresenteur.Vue {
16
public class AutoCompletionComboBoxVue extends LayoutPanel implements AutoCompletionComboBoxPresenteur.Vue {
15
 
17
 
16
	TBSuggestOracle msu = new TBSuggestOracle();
18
	TBSuggestOracle msu = new TBSuggestOracle();
17
	SuggestBox suggestions = new SuggestBox(msu);
19
	SuggestBox suggestions = new SuggestBox(msu);
-
 
20
	Callback<String, String> surCopierColler = null;
18
 
21
 
19
	public AutoCompletionComboBoxVue() {
22
	public AutoCompletionComboBoxVue() {
20
		add(suggestions);
23
		add(suggestions);
21
		//TODO: voir avec greg si la taille doit être définie ici
-
 
22
		setHeight("25px");
24
		setHeight("25px");
23
		setWidth("100%");
25
		setWidth("100%");
-
 
26
		sinkEvents(Event.ONPASTE);
24
	}
27
	}
25
	
28
	
26
	@Override
29
	@Override
27
	public SuggestBox getSuggestBox() {
30
	public SuggestBox getSuggestBox() {
28
		return suggestions;
31
		return suggestions;
29
	}
32
	}
30
	
33
	
31
	public void remplirListe(InfosNomPourAutocompletion[] listePropositions) {
34
	public void remplirListe(InfosNomPourAutocompletion[] listePropositions) {
32
		
35
		
33
		msu.clear();
36
		msu.clear();
34
		for (int i = 0; i < listePropositions.length; i++) {
37
		for (int i = 0; i < listePropositions.length; i++) {
35
			msu.add(listePropositions[i]);
38
			msu.add(listePropositions[i]);
36
		}
39
		}
37
	}
40
	}
38
	
41
	
39
	@Override
42
	@Override
40
	public void afficherSuggestions(SuggestOracle.Request requeteOracle, SuggestOracle.Callback callBackOracle) {
43
	public void afficherSuggestions(SuggestOracle.Request requeteOracle, SuggestOracle.Callback callBackOracle) {
41
		msu.requestSuggestions(requeteOracle, callBackOracle);
44
		msu.requestSuggestions(requeteOracle, callBackOracle);
42
	}
45
	}
43
	
46
	
44
	@Override 
47
	@Override 
45
	public void afficherListeDeroulante() {
48
	public void afficherListeDeroulante() {
46
		suggestions.showSuggestionList();
49
		suggestions.showSuggestionList();
47
	}
50
	}
48
	
51
	
49
	public void nettoyer() {
52
	public void nettoyer() {
50
		suggestions.setText("");
53
		suggestions.setText("");
51
	}
54
	}
52
	
55
	
53
	public void setValeur(String taxon) {
56
	public void setValeur(String taxon) {
54
		suggestions.setValue(taxon);
57
		suggestions.setValue(taxon);
55
	}
58
	}
56
 
59
 
57
	@Override
60
	@Override
58
	public HasKeyPressHandlers getSuggestBoxHasKeyPressHandlers() {
61
	public HasKeyPressHandlers getSuggestBoxHasKeyPressHandlers() {
59
		return suggestions;
62
		return suggestions;
60
	}
63
	}
61
	
64
	
62
	@Override
65
	@Override
63
	public HasSelectionHandlers<Suggestion> getSuggestBoxHasSelectionChangeHandlers() {
66
	public HasSelectionHandlers<Suggestion> getSuggestBoxHasSelectionChangeHandlers() {
64
		return suggestions;
67
		return suggestions;
65
	}
68
	}
66
 
69
 
67
	@Override
70
	@Override
68
	public String getValeur() {
71
	public String getValeur() {
69
		return suggestions.getText();
72
		return suggestions.getText();
70
	}
73
	}
71
 
74
 
72
	@Override
75
	@Override
73
	public void ajouterVue(HasWidgets composite) {
76
	public void ajouterVue(HasWidgets composite) {
74
		composite.add(this.asWidget());
77
		composite.add(this.asWidget());
75
	}
78
	}
76
 
79
 
77
	@Override
80
	@Override
78
	public void afficherStyleErreur(String styleErreur) {
81
	public void afficherStyleErreur(String styleErreur) {
79
		suggestions.addStyleName(styleErreur);
82
		suggestions.addStyleName(styleErreur);
80
	}
83
	}
81
 
84
 
82
	@Override
85
	@Override
83
	public void supprimerStyleErreur(String styleErreur) {
86
	public void supprimerStyleErreur(String styleErreur) {
84
		suggestions.removeStyleName(styleErreur);
87
		suggestions.removeStyleName(styleErreur);
85
	}
88
	}
-
 
89
	
-
 
90
	public void onBrowserEvent(Event event) {
-
 
91
	    super.onBrowserEvent(event);
-
 
92
	    switch (event.getTypeInt()) {
-
 
93
	        case Event.ONPASTE: {
-
 
94
	        	if(surCopierColler != null) {
-
 
95
	        		surCopierColler.onSuccess(suggestions.getValueBox().getValue());
-
 
96
	        	}
-
 
97
	        }
-
 
98
	    }
-
 
99
	}
-
 
100
 
-
 
101
	@Override
-
 
102
	public void setHandlerCopierColler(Callback<String, String> cb) {
-
 
103
		surCopierColler = cb;
-
 
104
	}
86
}
105
}