Subversion Repository Public Repository

litesoft

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
package org.litesoft.GWT.forms.client.components.factories.others;

import com.google.gwt.user.client.ui.*;
import org.litesoft.GWT.client.widgets.nonpublic.*;
import org.litesoft.GWT.forms.client.components.factories.*;
import org.litesoft.GWT.forms.client.components.*;
import org.litesoft.GWT.forms.client.nonpublic.*;
import org.litesoft.rpcpassable.*;
import org.litesoft.ui.*;
import org.litesoft.ui.def.*;
import org.litesoft.ui.def.nonpublic.support.*;

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( RPCpassable 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;
        }
    }
}

Commits for litesoft/trunk/Java/GWT/OldClient/src/org/litesoft/GWT/forms/client/components/factories/others/UiViewWidgetFactory.java

Diff revisions: vs.
Revision Author Commited Message
2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000