litesoft
@ 863
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.GWT.forms.client.components.factories.others; import java.util.*; import org.litesoft.GWT.forms.client.components.factories.*; import org.litesoft.GWT.forms.client.components.factories.input.*; import org.litesoft.GWT.forms.client.nonpublic.*; import org.litesoft.ui.def.*; import org.litesoft.ui.def.nonpublic.*; import org.litesoft.ui.def.nonpublic.support.*; import com.google.gwt.user.client.ui.*; public class UiInputWidgetFactory implements FormComponentFactory { public Widget create( FormInstanceComponentHandler pComponentHandler, UiDef pUiDef, FormMetaData pFormMetaData, boolean pHasHorizontalPeer ) { UiInputDef zDef = (UiInputDef) pUiDef; AttributeMetaData zMD = pFormMetaData.getAttribute( zDef ); if ( zMD == null ) { throw new IllegalStateException( "Metadata required for a " + zDef ); } if ( zMD.getIntendedUse().isView() ) { return UiViewWidgetFactory.INSTANCE.create( pComponentHandler, // pUiDef, pFormMetaData, pHasHorizontalPeer ); } InputWidgetFactory factory = get( zMD ); if ( factory != null ) { return factory.create( pComponentHandler, zDef, zMD, pHasHorizontalPeer ); } return new Label( "No InputWidgetFactory for " + zMD ); } public static void add( String pWhatWeAre, InputWidgetFactory pInputWidgetFactory ) { sMetaDataWhatWeAreToInputWidgetFactory.put( pWhatWeAre, pInputWidgetFactory ); } private static InputWidgetFactory get( AttributeMetaData pAttributeMetaData ) { return (InputWidgetFactory) sMetaDataWhatWeAreToInputWidgetFactory.get( pAttributeMetaData.getWhatWeAre() ); } private static final Map sMetaDataWhatWeAreToInputWidgetFactory = new HashMap(); static { add( CheckBoxMetaData.WHAT_WE_ARE, /* */ new UiCheckBoxWidgetFactory() ); add( PasswordFieldMetaData.WHAT_WE_ARE, /* */ new UiPasswordFieldWidgetFactory() ); add( TextFieldMetaData.WHAT_WE_ARE, /* */ new UiTextFieldWidgetFactory() ); add( TextAreaMetaData.WHAT_WE_ARE, /* */ new UiTextAreaWidgetFactory() ); add( ComboBoxMetaData.WHAT_WE_ARE, /* */ new UiComboBoxWidgetFactory() ); add( RadioGroupMetaData.WHAT_WE_ARE, /* */ new UiRadioGroupWidgetFactory() ); add( FloatMetaData.WHAT_WE_ARE, /* */ new UiFloatWidgetFactory() ); add( DoubleMetaData.WHAT_WE_ARE, /* */ new UiDoubleWidgetFactory() ); add( LongMetaData.WHAT_WE_ARE, /* */ new UiLongWidgetFactory() ); add( CalendarYMDMetaData.WHAT_WE_ARE, /* */ new UiDatePickerWidgetFactory() ); add( SimpleTimeMetaData.WHAT_WE_ARE, /* */ new UiTimePickerWidgetFactory() ); add( SimpleTimestampMetaData.WHAT_WE_ARE, /**/new UiTimestampPickerWidgetFactory() ); } } |