litesoft
@ 151
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 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt 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.Button; import com.google.gwt.user.client.ui.*; 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 ) { @Override 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 ); } @Override public Object getCurrentValue() { return getURL(); } @Override 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() { @Override 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() { @Override public void onClick( Widget sender ) { executeDeferredCommand(); } } ); Button zCancel = new Button( "Cancel" ); zCancel.setWidth( "50" ); zCancel.addClickListener( new ClickListener() { @Override 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() { @Override 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 ); // } } |