Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1618 → Rev 1619

/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java
11,6 → 11,7
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
import org.tela_botanica.client.composants.ChampSliderPourcentage;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.ChampNombre;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.InterneValeur;
186,63 → 187,8
* La classe NumberField est sujette à un bug qui empeche son
* édition dans firefox, il faut donc la surcharger
**/
private NumberField creerNumberFieldWorkaround() {
NumberField champNombre = new NumberField() {
@Override
protected void onKeyDown( FieldEvent fe )
{
super.onKeyDown( fe ) ;
int keyCode = fe.getKeyCode( ) ;
 
if( keyCode == 0 )
{
keyCode = fe.getEvent( ).getCharCode( ) ;
}
 
_setLasKeyCode( keyCode ) ;
}
 
@Override
protected void onKeyPress( FieldEvent fe )
{
fireEvent( Events.KeyPress, new FieldEvent( this, fe.getEvent( ) ) ) ;
 
int keyCode = fe.getKeyCode( ) ;
 
char key = ( char )keyCode ;
 
if( keyCode == 0 )
{
key = ( char )fe.getEvent( ).getCharCode( ) ;
}
 
if( fe.isSpecialKey( _getLasKeyCode( ) )
|| _getLasKeyCode( ) == KeyCodes.KEY_BACKSPACE
|| _getLasKeyCode( ) == KeyCodes.KEY_DELETE
|| fe.isControlKey( ) )
{
return ;
}
 
if( !_getAllowed( ).contains( key ) )
{
fe.stopEvent( ) ;
}
}
 
private native int _getLasKeyCode( ) /*-{
return this.@com.extjs.gxt.ui.client.widget.form.NumberField::lastKeyCode ;
}-*/;
 
private native void _setLasKeyCode( int keycode ) /*-{
this.@com.extjs.gxt.ui.client.widget.form.NumberField::lastKeyCode = keycode ;
}-*/;
 
private native List<Character> _getAllowed( ) /*-{
return this.@com.extjs.gxt.ui.client.widget.form.NumberField::allowed ;
}-*/;
};
private NumberField creerChampNombre() {
ChampNombre champNombre = new ChampNombre();
return champNombre;
}
297,9 → 243,8
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
NumberField champNombre = creerNumberFieldWorkaround();
NumberField champNombre = creerChampNombre();
champNombre.setFormat(NumberFormat.getFormat("#"));
//TextField<String> champNombre = new TextField<String>();
ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
nombreColonne.setEditor(new CellEditor(champNombre));
nombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
535,7 → 480,7
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
NumberField champNombre = creerNumberFieldWorkaround();
NumberField champNombre = creerChampNombre();
champNombre.setFormat(NumberFormat.getFormat("#"));
CellEditor editeurNombre = new CellEditor(champNombre);