litesoft
@ 947
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 |
// This Source Code is in the Public Domain per: http://unlicense.org 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.*; import org.litesoft.GWT.forms.client.components.factories.*; import org.litesoft.GWT.forms.client.nonpublic.*; import org.litesoft.ui.*; import org.litesoft.ui.def.*; import org.litesoft.ui.def.nonpublic.support.*; import com.google.gwt.user.client.ui.*; public class UiViewWidgetFactory implements FormComponentFactory { public static final FormComponentFactory INSTANCE = new UiViewWidgetFactory(); public Widget create( FormInstanceComponentHandler pComponentHandler, UiDef pUiDef, FormMetaData pFormMetaData, boolean pHasHorizontalPeer ) { UiAttributeNamedDef zDef = (UiAttributeNamedDef) pUiDef; AttributeMetaData zMD = pFormMetaData.getAttribute( zDef ); if ( zMD == null ) { throw new IllegalStateException( "Metadata required for a " + zDef ); } return ApplyFont.to( zDef.getFont( zDef.getFontAttributeNames()[0] ), // new MyFormAdapter( pComponentHandler, zMD, new LabelFormComponent() ).init() ); } private static final class MyFormAdapter extends AbstractFormAttributeAdapter { public MyFormAdapter( FormInstanceComponentHandler pComponentHandler, // AttributeMetaData pMD, IFormComponent pComponent ) { super( pComponentHandler, pMD, pComponent ); } protected Object convertSendableToComponentValue( Serializable pValue ) { return pValue; } protected String convertComponentValueToString( Object pValue ) { return null; } protected Object convertStringToComponentValue( String pValue ) { return null; } } private static final class LabelFormComponent extends Label implements IFormComponent { private Object mCurrentValue = null; public LabelFormComponent() { super( "" ); } public void relayout() { Widget parent = getParent(); if ( parent instanceof SizeManaged ) { ((SizeManaged) parent).relayout(); } } public Object getCurrentValue() { return mCurrentValue; } public void setCurrentValue( Object pNewValue ) { mCurrentValue = pNewValue; String text = (null == mCurrentValue) ? "" : mCurrentValue.toString(); setText( (null == text) ? "" : text ); } public boolean setFocus() { return false; } public void setError( String pError ) { // No Errors } public void setFocused( boolean pFocused ) { // No Focus } public void setValueChanged( boolean pChanged ) { // No ValueChanged } public boolean isEnabled() { return false; } public void setEnabled( boolean pEnabled ) { // No Enableable } public void publishAnyPendingChanges() { // No Listeners } public IFormComponent addFormComponentListener( Listener pFormComponentListener ) { if ( pFormComponentListener != null ) { pFormComponentListener.add( this ); } // Nothing to listen for... return this; } public IFormComponent removeFormComponentListener( Listener pFormComponentListener ) { if ( pFormComponentListener != null ) { pFormComponentListener.remove( this ); } // Nothing to listen for... return this; } @Override public boolean hasError() { return false; } } } |