Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 699 Rev 1040
Line 23... Line 23...
23
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
23
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
24
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
24
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
25
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
25
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
26
import com.google.gwt.event.dom.client.KeyCodes;
26
import com.google.gwt.event.dom.client.KeyCodes;
27
import com.google.gwt.i18n.client.Dictionary;
27
import com.google.gwt.i18n.client.Dictionary;
-
 
28
import com.google.gwt.user.client.Window;
Line 28... Line 29...
28
 
29
 
Line 29... Line 30...
29
public class BarrePaginationVue extends ToolBar implements Rafraichissable {
30
public class BarrePaginationVue extends ToolBar implements Rafraichissable {
Line 37... Line 38...
37
	private int pageTotale = 1;
38
	private int pageTotale = 1;
38
	private Text page, surTotalPage, afficherNbElem, nbElemParPage, intervalleElements;
39
	private Text page, surTotalPage, afficherNbElem, nbElemParPage, intervalleElements;
Line 39... Line 40...
39
	
40
	
40
	private TextField<String> champPage = new TextField<String>();
41
	private TextField<String> champPage = new TextField<String>();
-
 
42
	private SimpleComboBox selecteurTaillePage = new SimpleComboBox();
-
 
43
	private Text labelFiltre;
-
 
44
	private TextField<String> filtre;
-
 
45
	private Button annulerFiltre;
-
 
46
	private boolean filtreActive = false;
41
	private SimpleComboBox selecteurTaillePage = new SimpleComboBox();
47
	private String termeRecherche = "";
42
 
48
	
Line 43... Line 49...
43
	LinkedList<Integer> intervallePages = new LinkedList<Integer>();
49
	LinkedList<Integer> intervallePages = new LinkedList<Integer>();
Line 44... Line 50...
44
	
50
	
Line 143... Line 149...
143
		nbElemParPage = new Text(labelElement + " " +mediateur.i18nC.parPage());
149
		nbElemParPage = new Text(labelElement + " " +mediateur.i18nC.parPage());
144
		nbElemParPage.setStyleAttribute("padding-left", "5px");
150
		nbElemParPage.setStyleAttribute("padding-left", "5px");
145
		add(nbElemParPage);
151
		add(nbElemParPage);
Line 146... Line 152...
146
		
152
		
-
 
153
		// Ajout d'un espace pour mettre le nombre d'éléments à droite
-
 
154
		labelFiltre = new Text("Recherche rapide : ");
-
 
155
		labelFiltre.setStyleAttribute("padding-left", "15px");
-
 
156
		labelFiltre.setStyleAttribute("padding-right", "5px");
-
 
157
		add(labelFiltre);
-
 
158
		
-
 
159
		filtre = new TextField<String>();
-
 
160
		filtre.setWidth(150);
-
 
161
		this.add(filtre);
-
 
162
		
-
 
163
		annulerFiltre = new Button();
-
 
164
		annulerFiltre.setIcon(Images.ICONES.annuler());
-
 
165
		add(annulerFiltre);
147
		// Ajout d'un espace pour mettre le nombre d'éléments à droite
166
		
Line 148... Line 167...
148
		add(new FillToolItem());
167
		add(new FillToolItem());
149
		
168
		
150
		intervalleElements = new Text(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage, 
169
		intervalleElements = new Text(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage, 
Line 151... Line 170...
151
																	(pageCourante + 1) * taillePage, nbElement));
170
																	(pageCourante + 1) * taillePage, nbElement));
152
		add(intervalleElements);
171
		add(intervalleElements);
-
 
172
		
-
 
173
		// on ajoute les différents listeners
153
		
174
		ajouterListeners();
Line -... Line 175...
-
 
175
		
-
 
176
		
154
		// on ajoute les différents listeners
177
	}
155
		ajouterListeners();
178
	
156
	}
179
	
157
	
180
	
Line 254... Line 277...
254
			
277
			
255
			public void componentSelected(ButtonEvent ce)	{
278
			public void componentSelected(ButtonEvent ce)	{
256
				listePaginable.changerNumeroPage(pageCourante);
279
				listePaginable.changerNumeroPage(pageCourante);
257
			}
280
			}
258
		});
281
		});
-
 
282
		
-
 
283
		annulerFiltre.addSelectionListener(new SelectionListener<ButtonEvent>() {
-
 
284
			
-
 
285
			public void componentSelected(ButtonEvent ce)	{
-
 
286
				filtre.setValue("");
-
 
287
				termeRecherche = "";
-
 
288
				filtreActive = false;
-
 
289
				listePaginable.changerNumeroPage(pageCourante);
-
 
290
			}
-
 
291
		});
-
 
292
		
-
 
293
		filtre.addKeyListener(new KeyListener(){
-
 
294
			public void componentKeyUp(ComponentEvent ce) 	{
-
 
295
				if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
-
 
296
					
-
 
297
					System.out.println(pageCourante +" ---- " + nbElement);
-
 
298
					termeRecherche = filtre.getValue();
-
 
299
					if (termeRecherche == null || termeRecherche.equals(""))	{
-
 
300
						filtreActive = false;
-
 
301
						listePaginable.changerNumeroPage(pageCourante);
-
 
302
					} else	{
-
 
303
						listePaginable.filtrerParNom(termeRecherche);
-
 
304
						filtreActive = true;
-
 
305
					}
-
 
306
				}
-
 
307
			}
259
 
308
		});
260
 
309
		
Line 261... Line 310...
261
		champPage.addKeyListener(new KeyListener() {
310
		champPage.addKeyListener(new KeyListener() {
Line 262... Line 311...
262
 
311
 
Line 294... Line 343...
294
						// changer
343
						// changer
295
						rafraichirNumeroPage();
344
						rafraichirNumeroPage();
296
						champPage.focus();
345
						champPage.focus();
297
					}
346
					}
298
				}
347
				}
299
			}
348
	}
Line -... Line 349...
-
 
349
 
300
 
350
		
Line 301... Line 351...
301
		/*	public void onFocus(Field field) {
351
		/*	public void onFocus(Field field) {
302
 
352
 
Line 358... Line 408...
358
	 * Met à jour les affichage sur les numéros de pages et d'intervalle
408
	 * Met à jour les affichage sur les numéros de pages et d'intervalle
359
	 * d'éléments à partir des variables de classes
409
	 * d'éléments à partir des variables de classes
360
	 */
410
	 */
361
	public void rafraichirNumeroPage() {
411
	public void rafraichirNumeroPage() {
Line 362... Line -...
362
		
-
 
363
		surTotalPage.setText(" sur " + pageTotale);
-
 
364
 
412
		
365
		if (nbElement == 0) {
-
 
366
			champPage.setValue("" + (0));
-
 
367
			// on met simplement à jour l'intervalle qui contient toujours le
-
 
368
			// même nombre d'éléments
413
		if (filtreActive == true)	{
369
			intervalleElements.setText(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), 0,0,0));
414
			intervalleElements.setText("<i>Recherche rapide : </i>" + termeRecherche);
-
 
415
		} else {
370
		} else {
416
		
371
			champPage.setValue("" + (pageCourante + 1));
417
			surTotalPage.setText(" sur " + pageTotale);
372
 
418
			
373
			// si la page n'est pas la dernière
419
			if (nbElement == 0) {
374
			if (pageCourante + 1 != pageTotale) {
420
				champPage.setValue("" + (0));
375
				// sauf pour la dernière page qui contient souvent moins
421
				// on met simplement à jour l'intervalle qui contient toujours le
376
				// d'élements que le nombre d'élements par page
422
				// même nombre d'éléments
377
				intervalleElements.setText(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage, 
-
 
378
						(pageCourante + 1) * taillePage, nbElement));
423
				intervalleElements.setText(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), 0,0,0));
-
 
424
			} else {
379
			} else {
425
				champPage.setValue("" + (pageCourante + 1));
-
 
426
	
-
 
427
				// si la page n'est pas la dernière
-
 
428
				if (pageCourante + 1 != pageTotale) {
-
 
429
					// sauf pour la dernière page qui contient souvent moins
-
 
430
					// d'élements que le nombre d'élements par page
-
 
431
					intervalleElements.setText(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage, 
-
 
432
							(pageCourante + 1) * taillePage, nbElement));
-
 
433
				} else {
380
				
434
					
381
				// on met simplement à jour l'intervalle qui contient toujours
435
					// on met simplement à jour l'intervalle qui contient toujours
382
				// le même nombre d'éléments
436
					// le même nombre d'éléments
383
				intervalleElements.setText(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage, 
437
					intervalleElements.setText(mediateur.i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage, 
-
 
438
							nbElement, nbElement));
384
						nbElement, nbElement));
439
				}
385
			}
440
			}
386
		}
441
		}
Line 387... Line 442...
387
	}
442
	}