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 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.forms.client.components.factories.others; 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.*; import java.io.*; 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 |
---|---|---|---|
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 |
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 |