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(); |
} |