Code archives/BlitzPlus Gui/RequestText
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
| You can use Confirm, Notify, RequestFile... but not get a single line of text. This is a simple MaxGUI function to quickly get a line of text from the user. | |||||
Import maxgui.Drivers
Import maxgui.proxyGadgets
?Win32
Import maxgui.win32maxguiex
?MacOS
Import maxgui.CocoaMaxGui
?Linux
Import MaxGui.FLTKMaxGui
?
Function RequestText$(titleText$, questionText$, defaultTxt$="", doesGameHideMouse = True)
Local rWindow:TGadget = CreateWindow(titleText,64,64,350,125,Null,WINDOW_TITLEBAR|WINDOW_CENTER)
CreateLabel(questionText,8,8,325,16,rWindow)
Local rTextfield:TGadget = CreateTextField(8,8+24,325,24,rWindow)
Local rOkButton:TGadget = CreateButton("Ok",325-200-8,32+32,100,24,rWindow)
Local rCancelButton:TGadget = CreateButton("Cancel",325-100,32+32,100,24,rWindow)
rTextfield.SetText defaultTxt
ActivateWindow rWindow
If doesGameHideMouse Then ShowMouse
While Not AppTerminate( )
WaitEvent()
Select CurrentEvent.id
Case EVENT_WINDOWCLOSE, EVENT_APPTERMINATE
rTextfield.SetText defaultTxt
Exit
Case EVENT_GADGETACTION
If CurrentEvent.source = rOkButton Then
Exit
ElseIf CurrentEvent.source = rCancelButton
rTextfield.SetText defaultTxt
Exit
End If
End Select
Wend
Local returnText$ = rTextfield.GetText()
HideGadget rWindow
FreeGadget rWindow
If doesGameHideMouse Then HideMouse
Return returnText
End Function |
Comments
None.
Code Archives Forum