litesoft
@ 939
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 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.GWT.forms.client.nonpublic; import org.litesoft.commonfoundation.typeutils.*; import org.litesoft.ui.def.nonpublic.support.*; public abstract class AbstractFormInstanceComponentHandlerWithAttributes extends AbstractFormInstanceComponentHandler implements RelSubFormInstanceParentable { // Attribute Management protected AttributeAdapterManager mAttributeAdapters = new AttributeAdapterManager(); public void addAttributeAdapter( FormAttributeAdapter pAttributeAdapter ) { mAttributeAdapters.add( pAttributeAdapter ); } protected void LLdisposeAttributes( UberFormInstanceComponentHandler pUberHandler ) { mAttributeAdapters.dispose(); mAttributeAdapters = null; } protected boolean LLsetInputDisabledOnUs( String pAttributeName, boolean pDisabled ) { return mAttributeAdapters.setInputDisabled( pAttributeName, pDisabled ); } protected void LLapplyOnUs( AttributeUpdateFormData[] pAttributeUpdatesNonNullOrEmpty ) { mAttributeAdapters.apply( getFormDataRowKey(), pAttributeUpdatesNonNullOrEmpty ); } protected boolean LLanyUserInitiatedRowChangeOnUs() { return false; } protected boolean LLrecalcAnyAttributesOnUs( FormAttributeAdapter.BooleanValueAccessor pValueAccessor ) { return mAttributeAdapters.recalcAnyAttributes( pValueAccessor ); } protected void LLpublishAnyPendingAttributeChangesOnUs() { mAttributeAdapters.publishAnyPendingAttributeChanges(); } // Child Component Handler Management private RelSubFormInstanceChildManager mChildManager = new RelSubFormInstanceChildManager(); public void addChild( RelSubFormInstanceComponentHandlerImpl pComponentHandler ) { mChildManager.addChild( pComponentHandler ); } protected void LLapplyOnChildren( ActionUpdateFormData[] pActionUpdates ) { mChildManager.apply( pActionUpdates ); } protected void LLupdateInputStateOnChildren( boolean pAnyChanged, boolean pAnyErrors ) { mChildManager.updateInputState( pAnyChanged, pAnyErrors ); } protected boolean LLsetActionDisabledOnChildren( FormDataRowKey pFormDataRowKey, String pActionID, boolean pDisabled ) { return mChildManager.setActionDisabled( pFormDataRowKey, pActionID, pDisabled ); } protected boolean LLsetInputDisabledOnChildren( FormDataRowKey pFormDataRowKey, String pAttributeName, boolean pDisabled ) { return mChildManager.setInputDisabled( pFormDataRowKey, pAttributeName, pDisabled ); } protected void LLapplyOnChildren( AttributeUpdateFormData[] pAttributeUpdates ) { mChildManager.apply( pAttributeUpdates ); } protected boolean LLanyUserInitiatedRowChangeOnChildren() { return mChildManager.anyUserInitiatedRowChange(); } protected boolean LLrecalcAnyAttributesOnChildren( FormAttributeAdapter.BooleanValueAccessor pValueAccessor ) { return mChildManager.recalcAnyAttributes( pValueAccessor ); } protected void LLpublishAnyPendingAttributeChangesOnChildren() { mChildManager.publishAnyPendingAttributeChanges(); } public void apply( RelSubFormRowKeys[] pList, boolean pFullUpdate, boolean pUserInitiatedAddOrRemoveRow ) { if ( isActive() && Objects.isNotNullOrEmpty( pList ) ) { mChildManager.apply( pList, pFullUpdate, pUserInitiatedAddOrRemoveRow ); } } // General protected void LLdispose( UberFormInstanceComponentHandler pUberHandler ) { mChildManager.dispose( pUberHandler ); super.LLdispose( pUberHandler ); LLdisposeAttributes( pUberHandler ); } } |