WgText Procedure
Displays a single-line text field for user input.
Usage
WgText, chars
Input Parameters
chars — A named or unnamed variable to be replaced with user input.
Output Parameters
chars — A string entered by the user. If WgText is dismissed before user input is entered, chars is set to a null string. In the case where a user enters numbers, chars will have to be type-cast. For example, if chars = '123.456', then FLOAT(chars) = 123.456.
Note: |
wgtext_output — A common block internal to WgText containing one variable, which is the text entered by the user. When WgText is called stand-alone, it runs in its own event loop. Once the user finishes typing their input, control is passed back to the calling routine and the user input is accessed through the variable chars. However, if WgText is called from an existing widget application, the tool must use this calling widget's event loop. In this case, WgText is executed and control is passed back immediately to the calling widget application, before the user can enter their string into the text field. To allow the widget application that calls WgText to have access to the most recent entry by the user, include this common block in the calling widget application. |
Keywords
Cols — An integer specifying the character width of the text field.
Parent — The widget ID of the parent widget. If no parent is specified, the toolkit is initialized and WgText runs in its own event loop.
Position — A two element vector containing the position, in pixels, of WgText's upper-left corner where [0,0] is the upper-left corner of the display.
Text — A string to be initially displayed in the text field. If not defined, the text field is empty.
Title — A string containing the title for the widget.
Shell — (Output) The ID of the newly created widget. If the procedure fails, zero (0) is returned.
Background — The background color (passed to all widgets).
Font — The font to use for widget text.
Foreground — The foreground color (passed to all widgets).
Example 1
WgText called from the command line.
; Font choice syntax different for Windows or UNIX...
IF STRMATCH(GETPLATFORM(), 'win') THEN fnt = 'Forte, 10' $
ELSE fnt='-adobe-*-bold-*-*-*'
WgText, myString, Position=[300,100], Text='Default string', $
Shell=shell, Background='Green', Font=fnt
INFO, myString, shell
Example 2
WgText called from another widget application.
PRO BUTTONSCB, wid, which
COMMON teststuff, workArea
COMMON wgtext_output, letters
CASE which OF
1: WgText, junk, Parent=workArea, Text='Have a nice day',$
Title='Hello', Fore='Red', Pos=[100,600], Shell=shell
2: BEGIN
IF N_ELEMENTS(letters) GT 0 THEN BEGIN
PM, letters, Title="You entered:"
ENDIF ELSE BEGIN
PRINT, STRING(7B)
PRINT, 'Nothing has been entered yet'
ENDELSE
END
ENDCASE
END
PRO WGTEXT_TEST
COMMON teststuff, workArea
topShell = WwInit('WgText_test','WgText_test', workArea, $
/Vertical, Position=[256,256], Spacing=5, Height=100, $
Width=350)
buttons = WwButtonBox(workArea, ['Call wgtext', $
'See result'], 'BUTTONSCB')
status=WwSetValue(topShell, /Display)
WwLoop
END