Subversion Repositories eFlore/Archives.cel-v1

Rev

Rev 13 | Rev 27 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 ddelon 1
package org.tela_botanica.client;
2
 
3
 
4
 
5
import java.util.EventListener;
6
 
7
 
4 ddelon 8
import com.google.gwt.json.client.JSONArray;
9
import com.google.gwt.json.client.JSONParser;
10
import com.google.gwt.json.client.JSONString;
11
import com.google.gwt.json.client.JSONValue;
12
import com.google.gwt.user.client.ResponseTextHandler;
2 ddelon 13
import com.google.gwt.user.client.ui.Composite;
14
import com.google.gwt.user.client.ui.HorizontalPanel;
15
 
16
 
17
import org.tela_botanica.client.AutoCompleteAsyncTextBox;
18
 
19
/**
11 ddelon 20
 * Affiche une liste de nom pour selection. Son retournés le nom selectionné (gettext()) et un code associé (getvalue()).
2 ddelon 21
 */
22
 
4 ddelon 23
public class NameAssistant extends Composite implements EventListener, ResponseTextHandler  {
2 ddelon 24
 
4 ddelon 25
  private AutoCompleteAsyncTextBox autoCompletebox = new AutoCompleteAsyncTextBox(this);
2 ddelon 26
  private HorizontalPanel panel = new HorizontalPanel();
27
 
11 ddelon 28
  private Mediator mediator = null;
29
 
30
 
31
  public NameAssistant(Mediator med) {
8 ddelon 32
 
11 ddelon 33
	mediator=med;
34
	mediator.registerNameAssistant(this);
35
 
36
 
37
	autoCompletebox.setSearchUrl(mediator.getServiceBaseUrl()+"/NameSearch/");
4 ddelon 38
 
2 ddelon 39
	panel.add(autoCompletebox);
40
 
41
	autoCompletebox.setWidth("100%");
42
    initWidget(panel);
26 ddelon 43
    autoCompletebox.addAutoCompleteAsyncTextBoxListener(mediator);
2 ddelon 44
 
45
  }
46
 
4 ddelon 47
public void onCompletion(String str) {
48
 
49
  			JSONValue jsonValue= JSONParser.parse(str);
50
  			JSONArray jsonArray;
51
  			JSONArray jsonArrayNested;
52
 
53
 
54
  			if ((jsonArray = jsonValue.isArray()) != null) {
55
  				for (int i = 0; i < jsonArray.size(); ++i) {
56
  				  if ((jsonArrayNested = jsonArray.get(i).isArray()) != null) {
7 ddelon 57
 			  		autoCompletebox.addItem(((JSONString) jsonArrayNested.get(0)).stringValue(),((JSONString) jsonArrayNested.get(1)).stringValue());
4 ddelon 58
  				  }
59
  				}
60
  			}
61
 
62
  			autoCompletebox.displayList();
63
 
64
}
65
 
66
 
13 ddelon 67
public void setText(String str) {
68
	autoCompletebox.setText(str);
69
}
10 ddelon 70
 
13 ddelon 71
 
10 ddelon 72
public String getText() {
73
	return autoCompletebox.getText();
74
}
75
 
76
 
77
public String getValue() {
78
	return autoCompletebox.getValue();
79
}
80
 
13 ddelon 81
public void setValue(String value) {
82
	autoCompletebox.setValue(value);
83
}
84
 
4 ddelon 85
 
2 ddelon 86
}
87