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
package org.litesoft.GWT.client.widgets.nonpublic;

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

public abstract class AbstractLowLevelSizeableComposite extends AbstractSizeableWidget implements WidgetCompositor
{
    private Widget mWidget;

    public Element getElement()
    {
        if ( mWidget == null )
        {
            throw new IllegalStateException( "initWidget() was never called in " + getClass().getName() );
        }
        return super.getElement();
    }

    public Widget[] getCompositedWidgets()
    {
        return new Widget[]{mWidget};
    }

    /**
     * Sets the widget to be wrapped by the composite. The wrapped widget must be
     * set before calling any {@link Widget} methods on this object, or adding it
     * to a panel. This method may only be called once for a given composite.
     *
     * @param pWidget the widget to be wrapped
     */
    protected void LLinitWidget( Widget pWidget )
    {
        // Make sure the widget is not being set twice.
        if ( mWidget != null )
        {
            throw new IllegalStateException( "Composite.initWidget() may only be called once." );
        }

        pWidget.removeFromParent();

        // Use the contained widget's element as the composite's element,
        // effectively merging them within the DOM.
        setElement( pWidget.getElement() );

        //noinspection NonJREEmulationClassesInClientCode
        BackDoorToWidget.setParent( mWidget = pWidget, this ); // The Composite now owns this widget.

        initialize();
    }

    protected void onAttach()
    {
        super.onAttach();

        //noinspection NonJREEmulationClassesInClientCode
        BackDoorToWidget.onAttach( mWidget ); // Call onAttach() on behalf of the contained widget.
    }

    protected void onDetach()
    {
        super.onDetach();

        //noinspection NonJREEmulationClassesInClientCode
        BackDoorToWidget.onDetach( mWidget ); // Call onDetach() on behalf of the contained widget.
    }

    public Widget LLgetWidget()
    {
        return mWidget;
    }
}

Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/client/widgets/nonpublic/AbstractLowLevelSizeableComposite.java

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