Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1618 Rev 1619
Line 9... Line 9...
9
import org.tela_botanica.client.composants.ChampCaseACocher;
9
import org.tela_botanica.client.composants.ChampCaseACocher;
10
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
10
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
11
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
11
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
12
import org.tela_botanica.client.composants.ChampSliderPourcentage;
12
import org.tela_botanica.client.composants.ChampSliderPourcentage;
13
import org.tela_botanica.client.composants.InfoLogger;
13
import org.tela_botanica.client.composants.InfoLogger;
-
 
14
import org.tela_botanica.client.composants.ChampNombre;
14
import org.tela_botanica.client.images.Images;
15
import org.tela_botanica.client.images.Images;
15
import org.tela_botanica.client.interfaces.Rafraichissable;
16
import org.tela_botanica.client.interfaces.Rafraichissable;
16
import org.tela_botanica.client.modeles.InterneValeur;
17
import org.tela_botanica.client.modeles.InterneValeur;
17
import org.tela_botanica.client.modeles.Valeur;
18
import org.tela_botanica.client.modeles.Valeur;
18
import org.tela_botanica.client.modeles.ValeurListe;
19
import org.tela_botanica.client.modeles.ValeurListe;
Line 184... Line 185...
184
	
185
	
185
	/**
186
	/**
186
	* La classe NumberField est sujette à un bug qui empeche son 
187
	* La classe NumberField est sujette à un bug qui empeche son 
187
	* édition dans firefox, il faut donc la surcharger
188
	* édition dans firefox, il faut donc la surcharger
188
	**/
189
	**/
189
	private NumberField creerNumberFieldWorkaround() {
190
	private NumberField creerChampNombre() {
190
		NumberField champNombre = new NumberField() {
-
 
191
			@Override
-
 
192
            protected void onKeyDown( FieldEvent fe )
-
 
193
            {
-
 
194
                super.onKeyDown( fe ) ;
-
 
195
                int keyCode = fe.getKeyCode( ) ;
-
 
196
 
-
 
197
                if( keyCode == 0 )
-
 
198
                {
-
 
199
                    keyCode = fe.getEvent( ).getCharCode( ) ;
-
 
200
                }
-
 
201
 
-
 
202
                _setLasKeyCode( keyCode ) ;
-
 
203
            }
-
 
204
 
-
 
205
            @Override
-
 
206
            protected void onKeyPress( FieldEvent fe )
-
 
207
            {
-
 
208
                fireEvent( Events.KeyPress, new FieldEvent( this, fe.getEvent( ) ) ) ;
-
 
209
 
-
 
210
                int keyCode = fe.getKeyCode( ) ;
-
 
211
 
-
 
212
                char key = ( char )keyCode ;
-
 
213
 
-
 
214
                if( keyCode == 0 )
-
 
215
                {
-
 
216
                    key = ( char )fe.getEvent( ).getCharCode( ) ;
-
 
217
                }
-
 
218
 
-
 
219
                if( fe.isSpecialKey( _getLasKeyCode( ) ) 
-
 
220
                   || _getLasKeyCode( ) == KeyCodes.KEY_BACKSPACE 
-
 
221
                   || _getLasKeyCode( ) == KeyCodes.KEY_DELETE 
-
 
222
                   || fe.isControlKey( ) )
-
 
223
                {
-
 
224
                    return ;
-
 
225
                }
-
 
226
 
-
 
227
                if( !_getAllowed( ).contains( key ) )
-
 
228
                {
-
 
229
                    fe.stopEvent( ) ;
-
 
230
                }
-
 
231
            }
-
 
232
 
-
 
233
            private native int _getLasKeyCode( ) /*-{
-
 
234
               return this.@com.extjs.gxt.ui.client.widget.form.NumberField::lastKeyCode ;
-
 
235
            }-*/;
-
 
236
 
-
 
237
            private native void _setLasKeyCode( int keycode ) /*-{
-
 
238
                this.@com.extjs.gxt.ui.client.widget.form.NumberField::lastKeyCode = keycode ;
-
 
239
            }-*/;
-
 
240
 
-
 
241
            private native List<Character> _getAllowed( ) /*-{
-
 
242
                return this.@com.extjs.gxt.ui.client.widget.form.NumberField::allowed ;
-
 
243
            }-*/;
-
 
244
		};
-
 
245
		
191
		ChampNombre champNombre = new ChampNombre();	
246
		return champNombre;
192
		return champNombre;
Line 247... Line 193...
247
	}
193
	}
248
	
194
	
Line 295... Line 241...
295
		ListStore<UniteRangement> storeGrille = new ListStore<UniteRangement>();
241
		ListStore<UniteRangement> storeGrille = new ListStore<UniteRangement>();
Line 296... Line 242...
296
		
242
		
297
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
243
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
Line 298... Line 244...
298
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
244
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
299
		
245
		
300
		NumberField champNombre = creerNumberFieldWorkaround();
-
 
301
		champNombre.setFormat(NumberFormat.getFormat("#"));
246
		NumberField champNombre = creerChampNombre();
302
		//TextField<String> champNombre = new TextField<String>();
247
		champNombre.setFormat(NumberFormat.getFormat("#"));
303
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
248
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
304
		nombreColonne.setEditor(new CellEditor(champNombre));
249
		nombreColonne.setEditor(new CellEditor(champNombre));
Line 533... Line 478...
533
		ListStore<UniteBase> storeGrille = new ListStore<UniteBase>();
478
		ListStore<UniteBase> storeGrille = new ListStore<UniteBase>();
Line 534... Line 479...
534
		
479
		
535
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
480
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
Line 536... Line 481...
536
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
481
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
537
		
482
		
538
		NumberField champNombre = creerNumberFieldWorkaround();
483
		NumberField champNombre = creerChampNombre();
Line 539... Line 484...
539
		champNombre.setFormat(NumberFormat.getFormat("#"));
484
		champNombre.setFormat(NumberFormat.getFormat("#"));
540
		CellEditor editeurNombre = new CellEditor(champNombre);
485
		CellEditor editeurNombre = new CellEditor(champNombre);