(phixonline)-->
-- demo\rosetta\User_Input_Graphical.exw
include pGUI.e
Ihandle dlg, label1, input1, label2, input2, OK, Cancel
function ok_cb(Ihandle self)
if self=OK then
string in1 = IupGetAttribute(input1,"VALUE")
integer in2 = IupGetInt(input2,"VALUE")
string msg = sprintf(`"%s" and %d`,{in1,in2})
IupMessage("You entered",msg)
-- (return IUP_CONTINUE if unhappy with input)
end if
return IUP_CLOSE
end function
IupOpen()
label1 = IupLabel("Please enter a string")
input1 = IupText(`VALUE="a string", EXPAND=HORIZONTAL`)
label2 = IupLabel("and the number 75000")
input2 = IupText("VALUE=75000, EXPAND=HORIZONTAL, MASK="&IUP_MASK_INT)
OK = IupButton("OK", "ACTION", Icallback("ok_cb"))
Cancel = IupButton("Cancel", "ACTION", Icallback("ok_cb"))
sequence buttons = {IupFill(),OK,Cancel,IupFill()}
Ihandle strbox = IupHbox({label1,input1},"ALIGNMENT=ACENTER, PADDING=5"),
numbox = IupHbox({label2,input2},"ALIGNMENT=ACENTER, PADDING=5"),
btnbox = IupHbox(buttons,"PADDING=40"),
vbox = IupVbox({strbox, numbox, btnbox}, "MARGIN=5x5")
if platform()!=JS then
IupSetAttribute(btnbox,"NORMALIZESIZE","BOTH")
IupSetAttribute(vbox,"GAP","5")
end if
dlg = IupDialog(vbox, `TITLE="User Input/Graphical"`)
IupShow(dlg)
if platform()!=JS then
IupMainLoop()
IupClose()
end if