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

import org.litesoft.GWT.client.*;
import org.litesoft.GWT.client.widgets.*;
import org.litesoft.core.simpletypes.*;
import org.litesoft.core.util.*;
import org.litesoft.uispecification.*;

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

public class FormImageSelectURL extends FormImageSelector
{
    private TextBox mTextField;

    public FormImageSelectURL( String pFieldLabel, UiFont pLabelFont, String pTooltip, boolean pViewOnly,
                               Integer pInitialWidth, boolean pWidthNotStretchable, Integer pInitialHeight,
                               boolean pHeightNotStretchable )
    {
        super( pFieldLabel, pLabelFont, pTooltip, pViewOnly, pInitialWidth, pWidthNotStretchable, pInitialHeight, pHeightNotStretchable );
        mPickerButtonTooltip = "Set Image URL";

        DialogBox zDialogBox = new DialogBox( true )
        {
            public void show()
            {
                mTextField.setText( UtilsGwt.deNull( getURL() ) );
                super.show();
                mTextField.setFocus( true );
                mTextField.setCursorPos( mTextField.getText().length() );
            }
        };
        zDialogBox.add( buildPickerPanel() );
        zDialogBox.setText( mPickerButtonTooltip );
        mPickerButton.setTitle( mPickerButtonTooltip );
        DOM.setStyleAttribute( mPickerButton.getElement(), "cursor", "pointer" );
        setPicker( zDialogBox );
    }

    public String getURL()
    {
        ResourceKeyNameURL zValue = getCurrentResourceKeyNameURL();
        return (zValue != null) ? zValue.getURL() : null;
    }

    public void setURL( String pURL )
    {
        setCurrentResourceKeyNameURL( (null != (pURL = UtilsCommon.noEmpty( pURL ))) ?
                                      new ResourceKeyNameURL( pURL, pURL, pURL ) : null );
    }

    public Object getCurrentValue()
    {
        return getURL();
    }

    public void setCurrentValue( Object pNewValue )
    {
        setURL( (pNewValue == null) ? null : pNewValue.toString() );
    }

    private Widget buildPickerPanel()
    {
        SizeableVerticalPanel zPanel = new SizeableVerticalPanel( false );
        mTextField = new TextBox();
        mTextField.setVisibleLength( 50 );
        mTextField.addKeyboardListener( new KeyboardListenerAdapter()
        {
            public void onKeyUp( Widget sender, char keyCode, int modifiers )
            {
                if ( keyCode == KeyboardListener.KEY_ENTER )
                {
                    executeDeferredCommand();
                }
            }
        } );

        zPanel.add( mTextField );
        Button zOK = new Button( "OK" );
        zOK.setWidth( "50" );
        zOK.addClickListener( new ClickListener()
        {
            public void onClick( Widget sender )
            {
                executeDeferredCommand();
            }
        } );
        Button zCancel = new Button( "Cancel" );
        zCancel.setWidth( "50" );
        zCancel.addClickListener( new ClickListener()
        {
            public void onClick( Widget sender )
            {
                mPicker.hide();
            }
        } );
        zPanel.stretchableHorizontally();
        zPanel.setHorizontalAlignment( HasHorizontalAlignment.ALIGN_CENTER );

        HorizontalPanel zButtonPanel = new HorizontalPanel();
        zButtonPanel.add( zOK );
        zButtonPanel.add( zCancel );

        zPanel.add( zButtonPanel );

        return zPanel;
    }

    private void executeDeferredCommand()
    {
        mPicker.hide();
        DeferredCommand.addCommand( new Command()
        {
            public void execute()
            {
                setURL( mTextField.getText() );
            }
        } );
    }

//    protected void LLshowPicker( final PointXY pPointXY )
//    {
//        TimedRunnableManager.INSTANCE.runIn( new TimedRunnable()
//        {
//            public Again runOnce()
//            {
//                timesUp( pPointXY );
//                return null;
//            }
//        }, 3000 );
//    }
//
//    private void timesUp( PointXY pPointXY )
//    {
//        super.LLshowPicker( pPointXY );
//    }
}

Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/forms/client/components/impls/input/FormImageSelectURL.java

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