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 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 |
// 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.io.*; import org.litesoft.GWT.client.widgets.nonpublic.*; import org.litesoft.GWT.forms.client.components.factories.*; import org.litesoft.GWT.forms.client.nonpublic.*; import org.litesoft.commonfoundation.typeutils.*; 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 UiInputActionWidgetFactory implements FormComponentFactory { public Widget create( FormInstanceComponentHandler pComponentHandler, UiDef pUiDef, FormMetaData pFormMetaData, boolean pHasHorizontalPeer ) { UiInputActionDef zDef = (UiInputActionDef) pUiDef; AttributeMetaData zMD = pFormMetaData.getAttribute( zDef ); if ( zMD == null ) { throw new IllegalStateException( "Metadata required for a " + zDef ); } return ApplyFont.to( zDef.getFont(), new MyFormAdapter( pComponentHandler, zMD, zDef ).init() ); } private static final class MyFormAdapter extends FormButtonAdapter implements FormAttributeAdapter { private Integer mUniqueID; private Boolean mBaseValue = Boolean.FALSE; private Boolean mCurValue = Boolean.FALSE; public MyFormAdapter( FormInstanceComponentHandler pComponentHandler, // AttributeMetaData pMD, UiInputActionDef pDef ) { super( pComponentHandler, pMD.getAttributeReference(), pMD, pDef ); mUniqueID = pMD.getUniqueID(); } protected Widget initWidget() { mComponentFormHandler.addAttributeAdapter( this ); return super.initWidget(); } public void onClick( Widget sender ) { if ( !Boolean.TRUE.equals( mCurValue ) ) { mCurValue = Boolean.TRUE; mComponentFormHandler.componentChangedState( true ); // send the attribute change mComponentFormHandler.componentUpdatedValue( this, mCurValue ); // then send the action actionRequested( true ); setDisabled( true ); } } // FormAttributeAdapter public Integer getUniqueID() { return mUniqueID; } public String getAttributeReference() { return getActionID(); } public boolean isErrorState() { return false; } public String getErrorText() { return null; } public void setErrorText( String pError ) { // Buttons can not be in error } public boolean isChangedState() { return !mBaseValue.equals( mCurValue ); } public Serializable getBaseValue() { return mBaseValue; } public void setBaseValue( Serializable pBaseValue ) { setCurrentValue( mBaseValue = convert( pBaseValue ) ); } public Serializable getCurrentValue() { return mCurValue; } public void setCurrentValue( Serializable pCurrentValue ) { mCurValue = convert( pCurrentValue ); setDisabled( Boolean.TRUE.equals( mCurValue ) ); } public String getUserValue() { return mCurValue.toString(); } public void setUserValue( String pValue ) { setCurrentValue( Booleans.fromString( pValue ) ); } public void publishAnyPendingChanges() { // Do nothing as Buttons do not do defferred processing } public void updateValidOptions( Serializable[] pValidOptions ) { // Do nothing as Buttons do NOT support valid Options } private Boolean convert( Serializable pValue ) { return Boolean.TRUE.equals( pValue ); } } } |
Commits for litesoft/trunk/Java/GWT/OldClient/src/org/litesoft/GWT/forms/client/components/factories/others/UiInputActionWidgetFactory.java
Revision | Author | Commited | Message |
---|---|---|---|
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
819 Diff | GeorgeS | Sat 18 Aug, 2012 18:09:40 +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 |