litesoft
@ 948
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 |
package org.litesoft.GWT.client.view; import org.litesoft.GWT.client.command.*; import org.litesoft.GWT.client.widgets.*; import org.litesoft.GWT.forms.client.*; import org.litesoft.GWT.forms.client.components.*; import org.litesoft.bo.views.*; import org.litesoft.uispecification.*; import com.google.gwt.user.client.ui.*; import java.util.*; import static org.litesoft.uispecification.FormWidgetCtrl.*; public abstract class TwoViewObjectInfoHelper<T extends IViewObject<T>> { private final TwoViewObjectInfoHelperScreenView mScreenView; private final ViewDef mViewDef; private final FormEngine mFE; private ObjectURL mViewObjectURL = null; private TwoViewObjectInfoHelper mOtherHelper = null; private boolean mHasViewObject = false; private FormBinder<T> mFormBinder; protected TwoViewObjectInfoHelper( TwoViewObjectInfoHelperScreenView pScreenView, ViewDef pViewDef, WidgetCtrlMap pWidgetCtrlMap ) { mScreenView = pScreenView; mViewDef = pViewDef; mFE = new FormEngine( pWidgetCtrlMap, FormEngine.Mode.ViewRegular, null ); } protected TwoViewObjectInfoHelper( TwoViewObjectInfoHelperScreenView pScreenView, ViewDef pViewDef ) { this( pScreenView, pViewDef, new WidgetCtrlMap( VISIBLE_BUT_DISABLED ) ); } public void initialize( ObjectURL pViewObjectURL, TwoViewObjectInfoHelper pOtherHelper ) { mViewObjectURL = pViewObjectURL; mOtherHelper = pOtherHelper; mFormBinder = createFormBinder( mFE ); } public FormBinder<T> getFormBinder() { return mFormBinder; } public ObjectURL getViewObjectURL() { return mViewObjectURL; } public StatusMessageSinc getStatusMessageSinc() { return mScreenView.getStatusMessageSinc(); } public void backToHome( String pError ) { mScreenView.backToHome( pError ); } public Set<String> getNamedComponentNames() { return mFE.getNamedComponentNames(); } public IFormComponent getNamedComponent( String pName ) { return mFE.getNamedComponent( pName ); } public ShowScreenCommand createShowScreenCommand() { return new ShowScreenCommand( mViewDef, mScreenView.createRefreshParams() ); } abstract protected FormBinder<T> createFormBinder( FormEngine pFE ); abstract public Widget createInfoPanel(); abstract public boolean requestViewObject(); protected void setExistingObject( T pViewObject, FormEngine.Mode pMode ) { mHasViewObject = true; mFormBinder.setExistingObject( pViewObject, pMode ); if ( mOtherHelper.mHasViewObject ) { mScreenView.formsReady(); } } } |