Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1513 Rev 1618
Line 65... Line 65...
65
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
65
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
66
import com.extjs.gxt.ui.client.widget.layout.FormData;
66
import com.extjs.gxt.ui.client.widget.layout.FormData;
67
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
67
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
68
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
68
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
69
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
69
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
-
 
70
import com.google.gwt.event.dom.client.KeyCodes;
70
import com.google.gwt.i18n.client.NumberFormat;
71
import com.google.gwt.i18n.client.NumberFormat;
Line 71... Line 72...
71
 
72
 
Line 72... Line 73...
72
public class CollectionFormDescription extends FormulaireOnglet implements Rafraichissable {
73
public class CollectionFormDescription extends FormulaireOnglet implements Rafraichissable {
Line 179... Line 180...
179
		precisionCombo.setStore(precisionStore);
180
		precisionCombo.setStore(precisionStore);
180
		precisionCombo.setEditable(false);
181
		precisionCombo.setEditable(false);
181
		return precisionCombo;
182
		return precisionCombo;
182
	}
183
	}
Line -... Line 184...
-
 
184
	
-
 
185
	/**
-
 
186
	* La classe NumberField est sujette à un bug qui empeche son 
-
 
187
	* édition dans firefox, il faut donc la surcharger
-
 
188
	**/
-
 
189
	private NumberField creerNumberFieldWorkaround() {
-
 
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
		
-
 
246
		return champNombre;
-
 
247
	}
183
	
248
	
184
	private void creerFieldSetTypesUnite() {
249
	private void creerFieldSetTypesUnite() {
185
		FieldSet typesUniteFieldSet = new FieldSet();
250
		FieldSet typesUniteFieldSet = new FieldSet();
186
		typesUniteFieldSet.setHeading(i18nC.collectionUniteType());
251
		typesUniteFieldSet.setHeading(i18nC.collectionUniteType());
187
		typesUniteFieldSet.setCollapsible(true);
252
		typesUniteFieldSet.setCollapsible(true);
Line 230... Line 295...
230
		ListStore<UniteRangement> storeGrille = new ListStore<UniteRangement>();
295
		ListStore<UniteRangement> storeGrille = new ListStore<UniteRangement>();
Line 231... Line 296...
231
		
296
		
232
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
297
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
Line 233... Line 298...
233
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
298
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
234
		
299
		
235
		NumberField champNombre = new NumberField();
-
 
-
 
300
		NumberField champNombre = creerNumberFieldWorkaround();
236
		champNombre.setFormat(NumberFormat.getFormat("#"));
301
		champNombre.setFormat(NumberFormat.getFormat("#"));
237
		
302
		//TextField<String> champNombre = new TextField<String>();
238
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
303
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
239
		nombreColonne.setEditor(new CellEditor(champNombre));
304
		nombreColonne.setEditor(new CellEditor(champNombre));
Line 468... Line 533...
468
		ListStore<UniteBase> storeGrille = new ListStore<UniteBase>();
533
		ListStore<UniteBase> storeGrille = new ListStore<UniteBase>();
Line 469... Line 534...
469
		
534
		
470
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
535
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
Line 471... Line 536...
471
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
536
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
472
		
537
		
473
		NumberField champNombre = new NumberField();
538
		NumberField champNombre = creerNumberFieldWorkaround();
Line 474... Line 539...
474
		champNombre.setFormat(NumberFormat.getFormat("#"));
539
		champNombre.setFormat(NumberFormat.getFormat("#"));
475
		CellEditor editeurNombre = new CellEditor(champNombre);
540
		CellEditor editeurNombre = new CellEditor(champNombre);