Subversion Repositories eFlore/Archives.cel-v1

Rev

Rev 24 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 24 Rev 25
1
/**
1
/**
2
 David Delon david.delon@clapas.net 2007
2
 David Delon david.delon@clapas.net 2007
3
 
3
 
4
 Ce logiciel est régi par la licence CeCILL soumise au droit français et
4
 Ce logiciel est régi par la licence CeCILL soumise au droit français et
5
 respectant les principes de diffusion des logiciels libres. Vous pouvez
5
 respectant les principes de diffusion des logiciels libres. Vous pouvez
6
 utiliser, modifier et/ou redistribuer ce programme sous les conditions
6
 utiliser, modifier et/ou redistribuer ce programme sous les conditions
7
 de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
7
 de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
8
 sur le site "http://www.cecill.info".
8
 sur le site "http://www.cecill.info".
9
 En contrepartie de l'accessibilité au code source et des droits de copie,
9
 En contrepartie de l'accessibilité au code source et des droits de copie,
10
 de modification et de redistribution accordés par cette licence, il n'est
10
 de modification et de redistribution accordés par cette licence, il n'est
11
 offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
11
 offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
12
 seule une responsabilité restreinte pèse sur l'auteur du programme,  le
12
 seule une responsabilité restreinte pèse sur l'auteur du programme,  le
13
 titulaire des droits patrimoniaux et les concédants successifs.
13
 titulaire des droits patrimoniaux et les concédants successifs.
14
 
14
 
15
 A cet égard  l'attention de l'utilisateur est attirée sur les risques
15
 A cet égard  l'attention de l'utilisateur est attirée sur les risques
16
 associés au chargement,  à l'utilisation,  à la modification et/ou au
16
 associés au chargement,  à l'utilisation,  à la modification et/ou au
17
 développement et à la reproduction du logiciel par l'utilisateur étant 
17
 développement et à la reproduction du logiciel par l'utilisateur étant 
18
 donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
18
 donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
19
 manipuler et qui le réserve donc à des développeurs et des professionnels
19
 manipuler et qui le réserve donc à des développeurs et des professionnels
20
 avertis possédant  des  connaissances  informatiques approfondies.  Les
20
 avertis possédant  des  connaissances  informatiques approfondies.  Les
21
 utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
21
 utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
22
 logiciel à leurs besoins dans des conditions permettant d'assurer la
22
 logiciel à leurs besoins dans des conditions permettant d'assurer la
23
 sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
23
 sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
24
 à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
24
 à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
25
                                                                                                      
25
                                                                                                      
26
 Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
26
 Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
27
 pris connaissance de la licence CeCILL, et que vous en avez accepté les
27
 pris connaissance de la licence CeCILL, et que vous en avez accepté les
28
 termes.
28
 termes.
29
 
29
 
30
 */
30
 */
31
 
31
 
32
/*
32
/*
33
 * EntryPanel.java  (Composite de Panel)
33
 * EntryPanel.java  (Composite de Panel)
34
 * 
34
 * 
35
 * Cas d'utilisation :
35
 * Cas d'utilisation :
36
 * Saisie assistee (completion nom et completion commune) de releves. 
36
 * Saisie assistee (completion nom et completion commune) de releves. 
37
 * L'identification n'est pas obligatoire
37
 * L'identification n'est pas obligatoire
38
 *
38
 *
39
 * 1 : L'utilisateur saisit a minima un nom de plante 
39
 * 1 : L'utilisateur saisit a minima un nom de plante 
40
 * 		1: Le nom de plante provient d'une application externe : il est deduit du nuremo nomenclatural transmis en historique
40
 * 		1: Le nom de plante provient d'une application externe : il est deduit du nuremo nomenclatural transmis en historique
41
 * 2 : Le programme assiste la saisie de nom de plante ou de localite par interrogation du systeme distant
41
 * 2 : Le programme assiste la saisie de nom de plante ou de localite par interrogation du systeme distant
42
 * 3 : L'utilisateur choisi le type de mise (ajout ou modification)
42
 * 3 : L'utilisateur choisi le type de mise (ajout ou modification)
43
 * 3 : L'utilisateur valide sa saisie
43
 * 3 : L'utilisateur valide sa saisie
44
 * 4 : Le programme transmet au systeme distant la nouvelle saisie pour l'identifiant en cours
44
 * 4 : Le programme transmet au systeme distant la nouvelle saisie pour l'identifiant en cours
45
 * 5 : Le programme transmet au systeme local un evenement annoncant une nouvelle saisie
45
 * 5 : Le programme transmet au systeme local un evenement annoncant une nouvelle saisie
46
 * 
46
 * 
47
 * 
47
 * 
48
 * Affichage detail d'un observation
48
 * Affichage detail d'un observation
49
 * 1 : Le programme affiche les donnees d'inventaire pour l'identifiant enregistre et pour le numero d'ordre transmis
49
 * 1 : Le programme affiche les donnees d'inventaire pour l'identifiant enregistre et pour le numero d'ordre transmis
50
 *
50
 *
51
 */
51
 */
52
 
52
 
53
 
53
 
54
package org.tela_botanica.client;
54
package org.tela_botanica.client;
55
 
55
 
56
import java.util.Date;
56
import java.util.Date;
57
 
57
 
58
import com.google.gwt.json.client.JSONArray;
58
import com.google.gwt.json.client.JSONArray;
59
import com.google.gwt.json.client.JSONParser;
59
import com.google.gwt.json.client.JSONParser;
60
import com.google.gwt.json.client.JSONString;
60
import com.google.gwt.json.client.JSONString;
61
import com.google.gwt.json.client.JSONValue;
61
import com.google.gwt.json.client.JSONValue;
62
import com.google.gwt.user.client.HTTPRequest;
62
import com.google.gwt.user.client.HTTPRequest;
63
import com.google.gwt.user.client.History;
63
import com.google.gwt.user.client.History;
64
import com.google.gwt.user.client.ResponseTextHandler;
64
import com.google.gwt.user.client.ResponseTextHandler;
65
import com.google.gwt.user.client.ui.Button;
65
import com.google.gwt.user.client.ui.Button;
66
import com.google.gwt.user.client.ui.ChangeListener;
66
import com.google.gwt.user.client.ui.ChangeListener;
67
import com.google.gwt.user.client.ui.ClickListener;
67
import com.google.gwt.user.client.ui.ClickListener;
68
import com.google.gwt.user.client.ui.Composite;
68
import com.google.gwt.user.client.ui.Composite;
69
import com.google.gwt.user.client.ui.Grid;
69
import com.google.gwt.user.client.ui.Grid;
70
import com.google.gwt.user.client.ui.HTML;
70
import com.google.gwt.user.client.ui.HTML;
71
import com.google.gwt.user.client.ui.HorizontalPanel;
71
import com.google.gwt.user.client.ui.HorizontalPanel;
72
import com.google.gwt.user.client.ui.KeyboardListener;
72
import com.google.gwt.user.client.ui.KeyboardListener;
73
import com.google.gwt.user.client.ui.PopupPanel;
73
import com.google.gwt.user.client.ui.PopupPanel;
74
import com.google.gwt.user.client.ui.TextBox;
74
import com.google.gwt.user.client.ui.TextBox;
75
import com.google.gwt.user.client.ui.VerticalPanel;
75
import com.google.gwt.user.client.ui.VerticalPanel;
76
import com.google.gwt.user.client.ui.Widget;
76
import com.google.gwt.user.client.ui.Widget;
77
 
77
 
78
 
78
 
79
public class EntryPanel extends Composite   {
79
public class EntryPanel extends Composite   {
80
	
80
	
81
  private NameAssistant nameAssistant = null;
81
  private NameAssistant nameAssistant = null;
82
  private LocationAssistant locationAssistant = null;
82
  private LocationAssistant locationAssistant = null;
83
  private TextBox date = new TextBox();
83
  private TextBox date = new TextBox();
84
  private TextBox complementLocation = new TextBox();
84
  private TextBox complementLocation = new TextBox();
85
  private TextBox comment = new TextBox();
85
  private TextBox comment = new TextBox();
86
  private Button dateSelector = new Button("...");
86
  private Button dateSelector = new Button("...");
87
  boolean visible=false;
87
  boolean visible=false;
88
  private Mediator mediator=null;
88
  private Mediator mediator=null;
89
 
89
  
90
  
90
  
91
  private String user= null;
91
  private String user= null;
92
  private String ordre =null;
92
  private String ordre =null;
93
  
93
  
94
  private CalendarWidget calendar = null; // Lazy instantiation
94
  private CalendarWidget calendar = null; // Lazy instantiation
95
  private PopupPanel choicesPopup = null; // Lazy instantiation
95
  private PopupPanel choicesPopup = null; // Lazy instantiation
-
 
96
  
96
 
97
 
97
  public EntryPanel(final Mediator med) {
98
  public EntryPanel(final Mediator med) {
98
	 
99
	 
-
 
100
	  
-
 
101
	  Grid inner = new Grid(3,4);
-
 
102
 
-
 
103
	  
99
	  
104
	  
100
   mediator=med;
105
   mediator=med;
101
   user=mediator.getUser();
106
   user=mediator.getUser();
102
 
107
 
103
   mediator.registerEntryPanel(this);
108
   mediator.registerEntryPanel(this);
104
   
109
   
105
   mediator.registerDate(date);
110
   mediator.registerDate(date);
106
   mediator.registerComment(comment);
111
   mediator.registerComment(comment);
107
   mediator.registerComplementLocation(complementLocation);
112
   mediator.registerComplementLocation(complementLocation);
108
   
113
   
109
 
114
 
110
   VerticalPanel outer = new VerticalPanel();
115
   VerticalPanel outer = new VerticalPanel();
111
   
116
   
112
 
117
 
113
   outer.add(new HTML("<b>Saisir&nbsp;un&nbsp;relev&eacute;&nbsp;:</b>"));
118
   outer.add(new HTML("<b>Saisir&nbsp;un&nbsp;relev&eacute;&nbsp;:</b>"));
114
 
119
 
115
   
-
 
116
   Grid inner = new Grid(3,4);
120
   
117
 
121
 
118
   for (int i=0; i<3;i++) {
122
   for (int i=0; i<3;i++) {
119
	inner.getCellFormatter().setWidth(i, 0, "3%");
123
	inner.getCellFormatter().setWidth(i, 0, "3%");
120
	inner.getCellFormatter().setWidth(i, 1, "47%");
124
	inner.getCellFormatter().setWidth(i, 1, "47%");
121
	inner.getCellFormatter().setWidth(i, 2, "3%");
125
	inner.getCellFormatter().setWidth(i, 2, "3%");
122
	inner.getCellFormatter().setWidth(i, 3, "47%");
126
	inner.getCellFormatter().setWidth(i, 3, "47%");
123
   }
127
   }  
-
 
128
 
-
 
129
 
124
 
130
   
125
 
131
 
126
	nameAssistant = new NameAssistant(mediator);
132
	nameAssistant = new NameAssistant(mediator);
127
	locationAssistant = new LocationAssistant(mediator);
133
	locationAssistant = new LocationAssistant(mediator);
128
 
134
 
129
	
135
	
130
	// Saisie Nom
136
	// Saisie Nom
131
	
137
	
132
     inner.setHTML(0,0,"Esp&egrave;ce:&nbsp;");
138
     inner.setHTML(0,0,"Esp&egrave;ce:&nbsp;");
133
     inner.setWidget(0,1,nameAssistant);
139
     inner.setWidget(0,1,nameAssistant);
134
    
140
    
135
     nameAssistant.setWidth("100%");
141
     nameAssistant.setWidth("100%");
136
 
142
 
137
	 // Saisie lieu
143
	 // Saisie lieu
138
	 
144
	 
139
     inner.setHTML(1,0,"Commune:&nbsp;");
145
     inner.setHTML(1,0,"Commune:&nbsp;");
140
     inner.setWidget(1,1,locationAssistant);
146
     inner.setWidget(1,1,locationAssistant);
141
 
147
 
142
     locationAssistant.setWidth("100%");
148
     locationAssistant.setWidth("100%");
143
   
149
   
144
     // Saisie Date 
150
     // Saisie Date 
145
	 
151
	 
146
     
152
     
147
     dateSelector.addClickListener(new ClickListener () {
153
     dateSelector.addClickListener(new ClickListener () {
148
    
154
    
149
       public void onClick(Widget w) {
155
       public void onClick(Widget w) {
150
    	  
156
    	  
151
    	   if (visible) {
157
    	   if (visible) {
152
    		  visible=false; 
158
    		  visible=false; 
153
    		  choicesPopup.hide();
159
    		  choicesPopup.hide();
154
    	   }
160
    	   }
155
    	   else {
161
    	   else {
156
    		visible=true; 
162
    		visible=true; 
157
    		if (calendar==null) {  // Lazy instantiation
163
    		if (calendar==null) {  // Lazy instantiation
158
    		  calendar = new CalendarWidget();
164
    		  calendar = new CalendarWidget();
159
    		  choicesPopup = new PopupPanel(true);
165
    		  choicesPopup = new PopupPanel(true);
160
    		  choicesPopup.add(calendar);
166
    		  choicesPopup.add(calendar);
161
    		  calendar.addChangeListener(new ChangeListener() {
167
    		  calendar.addChangeListener(new ChangeListener() {
162
 
168
 
163
    			     public void onChange(Widget sender) {
169
    			     public void onChange(Widget sender) {
164
    			    	 
170
    			    	 
165
    			       Date dateSelected=calendar.getDate();
171
    			       Date dateSelected=calendar.getDate();
166
    			       date.setText(dateSelected.getDate()+"/"+(dateSelected.getMonth()+1)+"/"+(dateSelected.getYear()+1900));
172
    			       date.setText(dateSelected.getDate()+"/"+(dateSelected.getMonth()+1)+"/"+(dateSelected.getYear()+1900));
167
    			       visible=false; 
173
    			       visible=false; 
168
    			       choicesPopup.hide();
174
    			       choicesPopup.hide();
169
    			     }
175
    			     }
170
    			     });
176
    			     });
171
    		  
177
    		  
172
    	   	}
178
    	   	}
173
 
179
 
174
    	    choicesPopup.show();
180
    	    choicesPopup.show();
175
	        choicesPopup.setPopupPosition(dateSelector.getAbsoluteLeft(),
181
	        choicesPopup.setPopupPosition(dateSelector.getAbsoluteLeft(),
176
	        dateSelector.getAbsoluteTop()  - dateSelector.getOffsetHeight() - choicesPopup.getOffsetHeight());
182
	        dateSelector.getAbsoluteTop()  - dateSelector.getOffsetHeight() - choicesPopup.getOffsetHeight());
177
	        choicesPopup.setWidth(dateSelector.getOffsetWidth() + "px");
183
	        choicesPopup.setWidth(dateSelector.getOffsetWidth() + "px");
178
    	   }
184
    	   }
179
       }
185
       }
180
     
186
     
181
     });
187
     });
182
     
188
     
183
         
189
         
184
    inner.setHTML(2,0,"Date:&nbsp;");
190
    inner.setHTML(2,0,"Date:&nbsp;");
185
    
191
    
186
    HorizontalPanel datePanel = new HorizontalPanel();
192
    HorizontalPanel datePanel = new HorizontalPanel();
187
    datePanel.add(date);
193
    datePanel.add(date);
188
    datePanel.add(dateSelector);
194
    datePanel.add(dateSelector);
189
    inner.setWidget(2,1,datePanel);
195
    inner.setWidget(2,1,datePanel);
190
    
196
    
191
    // Saisie date   
197
    // Saisie date   
192
   
198
   
193
    date.addKeyboardListener( new KeyboardListener() {
199
    date.addKeyboardListener( new KeyboardListener() {
194
 
200
 
195
    		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
201
    		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
196
    			  if(arg1 == KEY_ENTER)
202
    			  if(arg1 == KEY_ENTER)
197
    			    {
203
    			    {
198
    				 if (ordre==null) {
204
    				 if (ordre==null) {
199
       				     mediator.onAddInventoryItem(); 
205
       				     mediator.onAddInventoryItem(); 
200
       				     date.setText("");
206
       				     date.setText("");
201
    				 }
207
    				 }
202
       				 else {
208
       				 else {
203
       				     mediator.onModifyInventoryItem(ordre); 
209
       				     mediator.onModifyInventoryItem(ordre); 
204
       				     ordre=null;
210
       				     ordre=null;
205
       				 }
211
       				 }
206
    			    }
212
    			    }
207
    		  }
213
    		  }
208
    		  
214
    		  
209
    		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
215
    		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
210
    		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
216
    		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
211
    		  
217
    		  
212
    		  }
218
    		  }
213
    );
219
    );
214
    
220
    
215
  
221
  
216
 
222
 
217
	 // Saisie Complement de lieu  (station)
223
	 // Saisie Complement de lieu  (station)
218
	 
224
	 
219
    inner.setHTML(1,2,"Station:&nbsp;");
225
    inner.setHTML(1,2,"Station:&nbsp;");
220
    inner.setWidget(1,3,complementLocation);
226
    inner.setWidget(1,3,complementLocation);
221
 
227
 
222
    complementLocation.setWidth("100%");
228
    complementLocation.setWidth("100%");
223
 
229
 
224
    
230
    
225
    complementLocation.addKeyboardListener( new KeyboardListener() {
231
    complementLocation.addKeyboardListener( new KeyboardListener() {
226
 
232
 
227
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
233
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
228
			  if(arg1 == KEY_ENTER)
234
			  if(arg1 == KEY_ENTER)
229
			    {
235
			    {
230
				  	if (ordre==null) {
236
				  	if (ordre==null) {
231
   				     mediator.onAddInventoryItem(); 
237
   				     mediator.onAddInventoryItem(); 
232
   				     complementLocation.setText("");
238
   				     complementLocation.setText("");
233
   				  	}
239
   				  	}
234
   				  	else {
240
   				  	else {
235
   				     mediator.onModifyInventoryItem(ordre); 
241
   				     mediator.onModifyInventoryItem(ordre); 
236
   				     ordre=null;
242
   				     ordre=null;
237
   				 }
243
   				 }
238
			    }
244
			    }
239
 
245
 
240
		  }
246
		  }
241
		  
247
		  
242
		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
248
		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
243
 
249
 
244
		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
250
		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
245
		  
251
		  
246
		  }
252
		  }
247
    );
253
    );
248
 
254
 
249
    
255
    
250
	 // Saisie Commentaire
256
	 // Saisie Commentaire
251
	 
257
	 
252
    inner.setHTML(2,2,"Notes:&nbsp;");
258
    inner.setHTML(2,2,"Notes:&nbsp;");
253
    inner.setWidget(2,3,comment);
259
    inner.setWidget(2,3,comment);
254
 
260
 
255
    comment.setWidth("100%");
261
    comment.setWidth("100%");
256
 
262
 
257
   
263
   
258
    comment.addKeyboardListener( new KeyboardListener() {
264
    comment.addKeyboardListener( new KeyboardListener() {
259
 
265
 
260
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
266
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
261
			  if(arg1 == KEY_ENTER)
267
			  if(arg1 == KEY_ENTER)
262
			    {
268
			    {
263
				  	if (ordre==null) {
269
				  	if (ordre==null) {
264
   				     mediator.onAddInventoryItem(); 
270
   				     mediator.onAddInventoryItem(); 
265
   				     comment.setText("");
271
   				     comment.setText("");
266
   				  	}
272
   				  	}
267
   				  	else {
273
   				  	else {
268
   				     mediator.onModifyInventoryItem(ordre); 
274
   				     mediator.onModifyInventoryItem(ordre); 
269
   				     ordre=null;
275
   				     ordre=null;
270
   				  	}
276
   				  	}
271
			    }
277
			    }
272
 
278
 
273
		  }
279
		  }
274
		  
280
		  
275
		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
281
		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
276
		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
282
		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
277
		  
283
		  
278
		  }
284
		  }
279
  );
285
  );
280
 
286
    
281
   
287
   
282
    Button validButton = new Button("Valider");
288
    Button validButton = new Button("Valider");
283
    
289
    
284
 
290
 
285
    validButton.addClickListener(
291
    validButton.addClickListener(
286
    
292
    
287
    		new ClickListener() {
293
    		new ClickListener() {
288
    			
294
    			
289
    			  public void onClick(Widget w) {
295
    			  public void onClick(Widget w) {
290
    				  	if (ordre==null) {
296
    				  	if (ordre==null) {
291
    				     mediator.onAddInventoryItem(); 
297
    				     mediator.onAddInventoryItem(); 
292
    				  	}
298
    				  	}
293
    				  	else {
299
    				  	else {
294
    				     mediator.onModifyInventoryItem(ordre); 
300
    				     mediator.onModifyInventoryItem(ordre); 
295
    				     ordre=null;
301
    				     ordre=null;
296
    				  	}
302
    				  	}
297
    			  }
303
    			  }
298
    		}
304
    		}
299
    );
305
    );
300
    
306
    
301
    
307
    
302
   
308
   
303
    HorizontalPanel actionPanel= new HorizontalPanel();
309
    HorizontalPanel actionPanel= new HorizontalPanel();
304
   
310
   
305
    actionPanel.add(validButton);
311
    actionPanel.add(validButton);
306
    
312
    
307
 
313
 
308
	inner.setWidth("100%");
314
	inner.setWidth("100%");
309
 
315
 
310
	outer.add(inner);
316
	outer.add(inner);
311
	outer.setCellWidth(inner, "100%");
317
	outer.setCellWidth(inner, "100%");
312
	outer.setSpacing(10);
318
	outer.setSpacing(10);
313
	 
319
	 
314
	outer.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER);
320
	outer.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER);
315
    outer.add(actionPanel);
321
    outer.add(actionPanel);
316
 
322
 
317
 
323
 
318
    // Initialisation si provenance d'un lien
324
    // Initialisation si provenance d'un lien
319
    
325
    
320
    if (History.getToken().length()>0) {
326
    if (History.getToken().length()>0) {
321
 
327
 
322
    	final String anum=History.getToken();
328
    	final String anum=History.getToken();
323
 
329
 
324
		HTTPRequest.asyncGet(mediator.getServiceBaseUrl() + "/Name/" + anum,
330
		HTTPRequest.asyncGet(mediator.getServiceBaseUrl() + "/Name/" + anum,
325
				new ResponseTextHandler() {
331
				new ResponseTextHandler() {
326
 
332
 
327
					public void onCompletion(String strcomplete) {
333
					public void onCompletion(String strcomplete) {
328
 
334
 
329
						JSONValue jsonValue = JSONParser.parse(strcomplete);
335
						JSONValue jsonValue = JSONParser.parse(strcomplete);
330
						JSONArray jsonArray;
336
						JSONArray jsonArray;
331
 
337
 
332
						if ((jsonArray = jsonValue.isArray()) != null) {
338
						if ((jsonArray = jsonValue.isArray()) != null) {
333
		
339
		
334
								String aname = ((JSONString) jsonArray.get(0)).stringValue();
340
								String aname = ((JSONString) jsonArray.get(0)).stringValue();
335
								
341
								
336
								// Nom  
342
								// Nom  
337
							
343
							
338
								if (aname.compareTo("null")!=0) {
344
								if (aname.compareTo("null")!=0) {
339
									nameAssistant.setText(((JSONString) jsonArray.get(0)).stringValue());
345
									nameAssistant.setText(((JSONString) jsonArray.get(0)).stringValue());
340
							
346
							
341
									// Numero nomenclatural 
347
									// Numero nomenclatural 
342
							
348
							
343
									nameAssistant.setValue(anum);
349
									nameAssistant.setValue(anum);
344
									
350
									
345
								}
351
								}
346
							
352
							
347
						}
353
						}
348
					}
354
					}
349
 
355
 
350
				});
356
				});
351
 
357
 
352
    	
358
    	
353
    }
359
    }
354
	 
-
 
355
 
360
 
356
	 
361
	 
357
    initWidget(outer);
362
    initWidget(outer);
358
   
363
   
359
    
364
    
360
  }
365
  }
361
 
366
 
362
	/*
367
	/*
363
	 * Numero d'ordre du relevé affiché
368
	 * Numero d'ordre du relevé affiché
364
	 * 
369
	 * 
365
	 */
370
	 */
366
	
371
	
367
	public void setOrdre(String ordre) {
372
	public void setOrdre(String ordre) {
368
		this.ordre = ordre;
373
		this.ordre = ordre;
369
	}
374
	}
370
 
375
 
371
 
376
 
372
	/*
377
	/*
373
	 * Numero d'ordre du relevé affiché
378
	 * Numero d'ordre du relevé affiché
374
	 * 
379
	 * 
375
	 */
380
	 */
376
	
381
	
377
	public String getOrdre() {
382
	public String getOrdre() {
378
		return this.ordre;
383
		return this.ordre;
379
	}
384
	}
380
 
385
 
381
 
386
 
382
  
387
  
383
  /**
388
  /**
384
	 * Mise a jour de l'affichage a partir de données deja saisie
389
	 * Mise a jour de l'affichage a partir de données deja saisie
385
	 * 
390
	 * 
386
	 */
391
	 */
387
 
392
 
388
	public void update() {
393
	public void update() {
389
 
394
 
390
		HTTPRequest.asyncGet(mediator.getServiceBaseUrl() + "/Inventory/" + user + "/" + ordre, 
395
		HTTPRequest.asyncGet(mediator.getServiceBaseUrl() + "/Inventory/" + user + "/" + ordre, 
391
 
396
 
392
		new ResponseTextHandler() {
397
		new ResponseTextHandler() {
393
 
398
 
394
			public void onCompletion(String str) {
399
			public void onCompletion(String str) {
395
 
400
 
396
				JSONValue jsonValue = JSONParser.parse(str);
401
				JSONValue jsonValue = JSONParser.parse(str);
397
				JSONArray jsonArray;
402
				JSONArray jsonArray;
398
				
403
				
399
				
404
				
400
				if ((jsonArray = jsonValue.isArray()) != null) {
405
				if ((jsonArray = jsonValue.isArray()) != null) {
401
							// Nom saisi
406
							// Nom saisi
402
							nameAssistant.setText(((JSONString) jsonArray.get(0)).stringValue());
407
							nameAssistant.setText(((JSONString) jsonArray.get(0)).stringValue());
403
							
408
							
404
							// Numero nomenclatural
409
							// Numero nomenclatural
405
						
410
						
406
							String ann=((JSONString) jsonArray .get(3)).stringValue();
411
							String ann=((JSONString) jsonArray .get(3)).stringValue();
407
							
412
							
408
							if (ann.compareTo("0")!=0) {
413
							if (ann.compareTo("0")!=0) {
409
								nameAssistant.setValue(null);
414
								nameAssistant.setValue(ann);
-
 
415
								mediator.getInfoPopup().setImageUrl(ann);
410
							}
416
							}
411
							else {
417
							else {
412
								nameAssistant.setValue(null);
418
								nameAssistant.setValue(null);
413
							}
419
							}
414
							
420
							
415
							// Commune
421
							// Commune
416
							String aloc=((JSONString) jsonArray .get(6)).stringValue();
422
							String aloc=((JSONString) jsonArray .get(6)).stringValue();
417
							
423
							
418
							if (aloc.compareTo("000null")!=0) {
424
							if (aloc.compareTo("000null")!=0) {
419
								locationAssistant.setText(aloc);
425
								locationAssistant.setText(aloc);
420
							}
426
							}
421
							else { 
427
							else { 
422
								locationAssistant.setText("");
428
								locationAssistant.setText("");
423
							}
429
							}
424
							
430
							
425
							String adate=((JSONString) jsonArray .get(8)).stringValue();
431
							String adate=((JSONString) jsonArray .get(8)).stringValue();
426
							
432
							
427
//							Date 
433
//							Date 
428
							if (adate.compareTo("0000-00-00 00:00:00")!=0) {
434
							if (adate.compareTo("0000-00-00 00:00:00")!=0) {
429
								date.setText(adate); 
435
								date.setText(adate); 
430
							}
436
							}
431
							else {
437
							else {
432
								date.setText(""); 
438
								date.setText(""); 
433
							}
439
							}
434
 
440
 
435
 
441
 
436
							String astation=((JSONString) jsonArray .get(9)).stringValue();
442
							String astation=((JSONString) jsonArray .get(9)).stringValue();
437
							
443
							
438
//							Station 
444
//							Station 
439
							if (astation.compareTo("000null")!=0) {
445
							if (astation.compareTo("000null")!=0) {
440
								complementLocation.setText(astation); 
446
								complementLocation.setText(astation); 
441
							}
447
							}
442
							else {
448
							else {
443
								complementLocation.setText(""); 
449
								complementLocation.setText(""); 
444
							}
450
							}
445
							
451
							
446
 
452
 
447
							String acomment=((JSONString) jsonArray .get(10)).stringValue();
453
							String acomment=((JSONString) jsonArray .get(10)).stringValue();
448
//							Notes
454
//							Notes
449
							if (acomment.compareTo("null")!=0) {
455
							if (acomment.compareTo("null")!=0) {
450
								comment.setText(acomment); 
456
								comment.setText(acomment); 
451
							}
457
							}
452
							else {
458
							else {
453
								comment.setText(""); 
459
								comment.setText(""); 
454
							}
460
							}
455
							
461
							
456
				}
462
				}
457
 
463
 
458
				
464
				
459
			}
465
			}
460
		});
466
		});
461
 
467
 
462
	}
468
	}
463
 
469
 
464
	public void setUser(String user) {
470
	public void setUser(String user) {
465
		this.user = user;
471
		this.user = user;
466
	}
472
	}
-
 
473
	
467
 
474
 
468
}
475
}
469
 
476
 
470
/* +--Fin du code ---------------------------------------------------------------------------------------+
477
/* +--Fin du code ---------------------------------------------------------------------------------------+
471
* $Log$
478
* $Log$
-
 
479
* Revision 1.5  2007-05-22 14:27:08  ddelon
-
 
480
* reglage modification
-
 
481
*
472
* Revision 1.4  2007-05-21 21:01:35  ddelon
482
* Revision 1.4  2007-05-21 21:01:35  ddelon
473
* Modification comportement boutons
483
* Modification comportement boutons
474
*
484
*
475
* 
485
* 
476
*/
486
*/