litesoft
@ HEAD
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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.forms.client; import org.litesoft.GWT.client.widgets.*; import org.litesoft.GWT.eventbus.client.*; import org.litesoft.GWT.forms.client.components.factories.*; import org.litesoft.GWT.forms.client.components.factories.others.*; import org.litesoft.GWT.forms.client.components.nonpublic.*; import org.litesoft.GWT.forms.client.nonpublic.*; import org.litesoft.commonfoundation.base.*; import org.litesoft.ui.def.*; import org.litesoft.ui.def.nonpublic.support.*; import org.litesoft.ui.support.*; import com.google.gwt.user.client.ui.*; import java.io.*; /** * The UiFormHandler is responsible for the following: * -) the initial rendering of the widget helpers (which in turn return an actual widget), given a UiDef * -) listening and dispatching events from the individual components *to* the components (how?) * -) listening and dispatching metadata changes from the service peer to the individual components * -) listening and dispatching data value changes from the service peer to the individual components */ public class UiFormHandler { public UiFormHandler( UiFormDef pUiFormDef, SizeableSingleWidgetContainer pTargetContainer, Serializable pInitializationPayload, AsyncFormServicePeerChannel pFormServicePeerChannel, UiFormListener pListener ) { this( pUiFormDef, pTargetContainer, pInitializationPayload, BaseFormComponentFactory.INSTANCE, // pFormServicePeerChannel, pListener ); } public UiFormHandler( UiFormDef pUiFormDef, SizeableSingleWidgetContainer pTargetContainer, Serializable pInitializationPayload, FormComponentFactory pFormComponentFactory, AsyncFormServicePeerChannel pFormServicePeerChannel, UiFormListener pListener ) { this( pUiFormDef, pTargetContainer, pInitializationPayload, new DefaultBaseFormRendererFactory( pFormComponentFactory ), pFormServicePeerChannel, pListener ); } private SizeableSingleWidgetContainer mTargetContainer; private RenderedFormHandler mRenderedFormHandler; public UiFormHandler( UiFormDef pUiFormDef, SizeableSingleWidgetContainer pTargetContainer, Serializable pInitializationPayload, BaseFormRendererFactory pBaseFormRendererFactory, AsyncFormServicePeerChannel pFormServicePeerChannel, UiFormListener pListener ) { noNull( "UiFormDef", pUiFormDef ); noNull( "TargetContainer", mTargetContainer = pTargetContainer ); noNull( "BaseFormRendererFactory", pBaseFormRendererFactory ); noNull( "AsyncFormServicePeerChannel", pFormServicePeerChannel ); noNull( "Listener", pListener ); // Warning "this" leakage, but RenderedFormHandler will just save it in the constructor! RenderedFormHandlerImpl zRFHI = new RenderedFormHandlerImpl( this, pListener, pUiFormDef.getRootType(), pFormServicePeerChannel ); mRenderedFormHandler = zRFHI; pUiFormDef.prepareToRender(); FormUsage usage = pUiFormDef.getFormUsage(); pFormServicePeerChannel.init( usage, pInitializationPayload, zRFHI, // new MyInitializationListener( pUiFormDef, pBaseFormRendererFactory, // zRFHI, mTargetContainer ) ); } public void requestValues( String pRootTypeKeyOrNullForNew ) { mRenderedFormHandler.requestValues( pRootTypeKeyOrNullForNew ); } public void dispose() { if ( mRenderedFormHandler != null ) { mRenderedFormHandler.dispose(); mRenderedFormHandler = null; mTargetContainer.setWidget( new Label( "" ) ); mTargetContainer = null; } } public void setFocus() { mRenderedFormHandler.setFocus(); } public void setInputDisabled( FormDataRowKey pFormDataRowKey, String pAttributeName, boolean pDisabled ) { mRenderedFormHandler.setInputDisabled( pFormDataRowKey, pAttributeName, pDisabled ); } public void setActionDisabled( FormDataRowKey pFormDataRowKey, String pActionID, boolean pDisabled ) { mRenderedFormHandler.setActionDisabled( pFormDataRowKey, pActionID, pDisabled ); } public void clearErrorsAndWarnings() { mRenderedFormHandler.clearErrorsAndWarnings(); } public void sendAttibuteValue( FormDataRowKey pFormDataRowKey, // Integer pAttributeUniqueID, String pAttributeReference, Serializable pCurrentValue ) { mRenderedFormHandler.sendAttibuteValue( pFormDataRowKey, // pAttributeUniqueID, pAttributeReference, // pCurrentValue ); } public void sendActionRequest( FormDataRowKey pFormDataRowKey, String pActionID ) { mRenderedFormHandler.sendActionRequest( pFormDataRowKey, pActionID ); } public void captureUserState( ParamMap pParamMap ) { mRenderedFormHandler.captureUserState( pParamMap ); } public void restoreUserState( ParamMap pParamMap ) { mRenderedFormHandler.restoreUserState( pParamMap ); } public String getCurrentRootType() { return mRenderedFormHandler.getCurrentRootType(); } public String getCurrentRootTypeKey() { return mRenderedFormHandler.getCurrentRootTypeKey(); } private static void noNull( String pObjectName, Object pToBeAssert ) { Confirm.isNotNull( pObjectName, pToBeAssert ); } private static class MyInitializationListener implements AsyncFormServicePeerChannel.InitializationListener { private UiFormDef mUiFormDef; private BaseFormRendererFactory mBaseFormRendererFactory; private RenderedFormHandlerImpl mRenderedFormHandler; private SizeableSingleWidgetContainer mTargetContainer; public MyInitializationListener( UiFormDef pUiFormDef, BaseFormRendererFactory pBaseFormRendererFactory, RenderedFormHandlerImpl pRenderedFormHandler, SizeableSingleWidgetContainer pTargetContainer ) { mUiFormDef = pUiFormDef; mBaseFormRendererFactory = pBaseFormRendererFactory; mRenderedFormHandler = pRenderedFormHandler; mTargetContainer = pTargetContainer; } public void metaDataAvailable( FormMetaData pFormMetaData, Serializable pServicePeerXtra ) { AbstractFormContainer zFormContainer = mBaseFormRendererFactory.createAndRender( mRenderedFormHandler, // pFormMetaData, // mUiFormDef ); mBaseFormRendererFactory = null; mUiFormDef = null; if ( zFormContainer.getHeightHelper().isStretchable() ) { mTargetContainer.getHeightHelper().setStretchable( true ); } if ( zFormContainer.getWidthHelper().isStretchable() ) { mTargetContainer.getWidthHelper().setStretchable( true ); } mTargetContainer.setWidget( zFormContainer ); mTargetContainer.relayout(); mTargetContainer = null; mRenderedFormHandler.formRendered( zFormContainer, pServicePeerXtra ); } } } |
Commits for litesoft/trunk/Java/GWT/OldClient/src/org/litesoft/GWT/forms/client/UiFormHandler.java
Revision | Author | Commited | Message |
---|---|---|---|
950 Diff | GeorgeS | Thu 19 Jun, 2014 17:57:04 +0000 | New Lines |
948 Diff | GeorgeS | Sat 07 Jun, 2014 23:42:39 +0000 | Jusefuls Formatter Updated to New Code Format |
947 Diff | GeorgeS | Fri 06 Jun, 2014 23:36:56 +0000 | Correct Spelling of package! |
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
804 Diff | GeorgeS | Wed 15 Aug, 2012 12:48:51 +0000 | |
60 Diff | GeorgeS | Tue 24 Aug, 2010 00:37:36 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |