Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1335 → Rev 1336

/branches/v1.0-syrah/src/org/tela_botanica/client/vues/BarrePaginationVue.java
9,6 → 9,7
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.ListePaginable;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.event.ButtonEvent;
314,6 → 315,7
});
champPage.addKeyListener(new KeyListener() {
public void componentKeyUp(ComponentEvent ce) {
// on teste si la touche entrée a été pressée
if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
339,32 → 341,24
changerPageCourante(nouvellePage - 1);
listePaginable.changerNumeroPage(pageCourante);
} else {
// sinon on reaffiche l'ancien numero de page sans rien
// changer
// sinon on reaffiche l'ancien numero de page sans rien changer
rafraichirNumeroPage();
champPage.focus();
}
}
}
});
 
// pour éviter de se compliquer la vie, on filtre tous les charactères
// non numériques
champPage.addKeyListener(new KeyListener() {
public void componentKeyDown(ComponentEvent ce) {
// FIXME : si c'est un numerique
/*if (Character.isDigit((char) e.getCharCode())) {
// on laisse passer
return;
}*/
 
// si c'est la touche entrée ou backspace (valider ou effacer)
if (ce.getKeyCode() == KeyCodes.KEY_ENTER
|| ce.getKeyCode() == KeyCodes.KEY_BACKSPACE) {
// on laisse passer
return;
} else {
// sinon on remet le numero de page correct et on annule l'évenement
int caractereSaisi = ce.getKeyCode();
boolean isInteger = (caractereSaisi >= 97 && caractereSaisi <= 105);
// si le caractère n'est ni un chiffre ni 'entrée' ni 'backspace'
if (!( isInteger
|| ce.getKeyCode() == KeyCodes.KEY_ENTER
|| ce.getKeyCode() == KeyCodes.KEY_BACKSPACE
)) {
// on remet le numero de page correct et on annule l'évenement
rafraichirNumeroPage();
ce.stopEvent();
}