Subversion Repositories eFlore/Applications.coel

Rev

Rev 1633 | Rev 1687 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1633 Rev 1683
Line 26... Line 26...
26
import com.extjs.gxt.ui.client.widget.Text;
26
import com.extjs.gxt.ui.client.widget.Text;
27
import com.extjs.gxt.ui.client.widget.button.Button;
27
import com.extjs.gxt.ui.client.widget.button.Button;
28
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
28
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
29
import com.extjs.gxt.ui.client.widget.form.SimpleComboBox;
29
import com.extjs.gxt.ui.client.widget.form.SimpleComboBox;
30
import com.extjs.gxt.ui.client.widget.form.SimpleComboValue;
30
import com.extjs.gxt.ui.client.widget.form.SimpleComboValue;
31
import com.extjs.gxt.ui.client.widget.form.TextField;
31
import com.extjs.gxt.ui.client.widget.form.NumberField;
32
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
32
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
33
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
33
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
34
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
34
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
35
import com.google.gwt.event.dom.client.KeyCodes;
35
import com.google.gwt.event.dom.client.KeyCodes;
36
import com.google.gwt.i18n.client.Dictionary;
36
import com.google.gwt.i18n.client.Dictionary;
Line 49... Line 49...
49
	private int pageCourante, nbElement = 0;
49
		private int pageCourante, nbElement = 0;
50
	private int taillePage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
50
		private int taillePage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
51
	private int pageTotale = 1;
51
		private int pageTotale = 1;
52
	private Text page, surTotalPage, afficherNbElem, nbElemParPage, intervalleElements;
52
		private Text page, surTotalPage, afficherNbElem, nbElemParPage, intervalleElements;
Line 53... Line 53...
53
	
53
	
54
	private TextField<String> champPage = new TextField<String>();
54
		private NumberField champPage = new NumberField();
Line 55... Line 55...
55
	private SimpleComboBox<Integer> selecteurTaillePage = new SimpleComboBox<Integer>();
55
		private SimpleComboBox<Integer> selecteurTaillePage = new SimpleComboBox<Integer>();
56
	
56
	
Line 108... Line 108...
108
		
108
		
109
		page = new Text(i18nC.page());
109
				page = new Text(i18nC.page());
110
		page.setStyleAttribute("padding", "0 5px 0 5px");
110
				page.setStyleAttribute("padding", "0 5px 0 5px");
Line 111... Line 111...
111
		add(page);
111
				add(page);
-
 
112
		
-
 
113
				champPage.setValue(pageCourante+1);
112
		
114
				champPage.setAllowDecimals(false);
113
		champPage.setValue(String.valueOf(pageCourante+1));
115
				champPage.setAllowNegative(false);
114
		champPage.setStyleAttribute("text-align","right");
116
				champPage.setStyleAttribute("text-align","right");
Line 115... Line 117...
115
		champPage.setWidth(30);
117
				champPage.setWidth(30);
Line 273... Line 275...
273
				listePaginable.changerNumeroPage(pageCourante);
275
										listePaginable.changerNumeroPage(pageCourante);
274
			}
276
								}
275
		});
277
						});
Line 276... Line 278...
276
		
278
 
277
		champPage.addKeyListener(new KeyListener() {
-
 
278
			
279
				champPage.addKeyListener(new KeyListener() {
279
			public void componentKeyUp(ComponentEvent ce) 	{
280
								public void componentKeyUp(ComponentEvent ce) 	{
280
				// on teste si la touche entrée a été pressée
281
										// on teste si la touche entrée a été pressée
281
				if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
282
										if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
282
					int nouvellePage = pageCourante;
-
 
283
					// on teste avec parseInt si la valeur entrée est un entier
-
 
284
					try {
-
 
285
						nouvellePage = Integer.parseInt(champPage.getRawValue());
-
 
286
					} catch (NumberFormatException nfe) {
-
 
287
						// si ce n'est pas le cas alors on remet le numéro de page correct
-
 
288
						rafraichirNumeroPage();
-
 
289
						champPage.focus();
-
 
290
						return;
-
 
Line 291... Line 283...
291
					}
283
												int nouvellePage = champPage.getValue().intValue();
292
 
-
 
293
					// si la conversion reussit on verifie s'il est nécessaire
284
 
294
					// de changer de page
285
												// on verifie s'il est nécessaire de changer de page
295
					// et si la nouvelle est comprise dans l'intervalle des
286
												// et si la nouvelle est comprise dans l'intervalle des
296
					// pages existantes (0..pageTotale)
287
												// pages existantes (0..pageTotale)
297
					if (nouvellePage != pageCourante + 1 && nouvellePage > 0
288
												if (nouvellePage != pageCourante + 1 && nouvellePage > 0
Line 305... Line 296...
305
						rafraichirNumeroPage();
296
														rafraichirNumeroPage();
306
						champPage.focus();
297
														champPage.focus();
307
					}
298
												}
308
				}
299
										}
309
			}
300
								}
310
			
-
 
311
			public void componentKeyDown(ComponentEvent ce) {
-
 
312
				
-
 
313
				int caractereSaisi = ce.getKeyCode();
-
 
314
				boolean isInteger = (caractereSaisi >= 96 && caractereSaisi <= 105);
-
 
315
				
-
 
316
				// si le caractère n'est ni un chiffre ni 'entrée' ni 'backspace'
-
 
317
				if (!(	isInteger
-
 
318
						|| 	ce.getKeyCode() == KeyCodes.KEY_ENTER
-
 
319
						|| 	ce.getKeyCode() == KeyCodes.KEY_BACKSPACE
-
 
320
						)) {
-
 
321
					// on remet le numero de page correct et on annule l'évenement
-
 
322
					rafraichirNumeroPage();
-
 
323
					ce.stopEvent();
-
 
324
				}
-
 
325
			}
-
 
326
		});
301
						});
Line 327... Line 302...
327
 
302
 
328
		// listener pour la selection dans la combobox
303
				// listener pour la selection dans la combobox
329
		selecteurTaillePage.addSelectionChangedListener(new SelectionChangedListener() {
304
				selecteurTaillePage.addSelectionChangedListener(new SelectionChangedListener() {
Line 342... Line 317...
342
	 * d'éléments à partir des variables de classes
317
		 * d'éléments à partir des variables de classes
343
	 */
318
		 */
344
	public void rafraichirNumeroPage() {
319
		public void rafraichirNumeroPage() {
345
		surTotalPage.setText(" sur " + pageTotale);
320
				surTotalPage.setText(" sur " + pageTotale);
346
		if (nbElement == 0) {
321
				if (nbElement == 0) {
347
			champPage.setValue("" + (0));
322
						champPage.setValue(0);
348
			// on met simplement à jour l'intervalle qui contient toujours le
323
						// on met simplement à jour l'intervalle qui contient toujours le
349
			// même nombre d'éléments
324
						// même nombre d'éléments
350
			intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), 0,0,0));
325
						intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), 0,0,0));
351
		} else {
326
				} else {
352
			champPage.setValue("" + (pageCourante + 1));
327
						champPage.setValue(pageCourante + 1);
353
			// si la page n'est pas la dernière
328
						// si la page n'est pas la dernière
354
			if (pageCourante + 1 != pageTotale) {
329
						if (pageCourante + 1 != pageTotale) {
355
				// sauf pour la dernière page qui contient souvent moins
330
								// sauf pour la dernière page qui contient souvent moins
356
				// d'élements que le nombre d'élements par page
331
								// d'élements que le nombre d'élements par page
357
				intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage, 
332
								intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage,