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

import org.litesoft.GWT.client.widgets.*;
import org.litesoft.GWT.client.widgets.nonpublic.*;
import org.litesoft.GWT.forms.client.nonpublic.*;
import org.litesoft.GWT.forms.client.components.nonpublic.*;
import org.litesoft.ui.def.*;
import org.litesoft.ui.def.nonpublic.support.*;
import org.litesoft.uispecification.*;

import com.google.gwt.user.client.ui.*;

public abstract class AbstractSingleLayoutWidgetFactory extends AbstractLayoutWidgetFactory
{
    public Widget createContainerWidget( FormInstanceComponentHandler pComponentHandler, UiDef pUiDef,
                                         FormMetaData pFormMetaData, DefWidgetStruct[] pChildDefWidgets )
    {
        UiSingleCellLayoutDef zLayoutDef = (UiSingleCellLayoutDef) pUiDef;
        AbstractSizeableSimplePanel panel = createPanel( pFormMetaData, zLayoutDef );
        boolean anyStretchableHorizontally = false;
        boolean anyStretchableVertically = false;
        for ( int i = 0; i < pChildDefWidgets.length; i++ )
        {
            DefWidgetStruct zDefWidget = pChildDefWidgets[i];
            anyStretchableHorizontally |= zDefWidget.isStretchableHorizontally();
            anyStretchableVertically |= zDefWidget.isStretchableVertically();
            panel.add( zDefWidget.getWidget() );
        }
        return addStretchabilityAndStyle( panel, zLayoutDef, anyStretchableHorizontally,
                                          anyStretchableVertically );
    }

    private AbstractSizeableSimplePanel createPanel( FormMetaData pFormMetaData,
                                                     UiSingleCellLayoutDef pUiDef )
    {
        Overflow zOverflowPolicy = pUiDef.getOverflowPolicy();
        boolean zOverflow = !Overflow.Scrolled.equals( zOverflowPolicy ); // todo: replace with 3 options
        String zExtTitle = pUiDef.getExtTitle();
        if ( zExtTitle != null )
        {
            LabelMetaData md = pFormMetaData.getLabel( pUiDef );
            String zTitle = md.getExternalText();
            return new SizeableTitledBorderedSimplePanel( zOverflow, zTitle );
        }
        if ( pUiDef.isBordered() )
        {
            return new SizeableBorderedSimplePanel( zOverflow );
        }
        return new SizeableSimplePanel( zOverflow );
    }
}

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

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