-- -- 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 function esc_close(Ihandle /*ih*/, atom c) return iff(c=K_ESC?IUP_CLOSE:IUP_CONTINUE) 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") IupSetAttribute(input2,"MASK",IUP_MASK_INT) OK = IupButton("OK", "ACTION", Icallback("ok_cb")) Cancel = IupButton("Cancel", "ACTION", Icallback("ok_cb")) dlg = IupDialog(IupVbox({IupHbox({label1,input1},"ALIGNMENT=ACENTER, PADDING=5"), IupHbox({label2,input2},"ALIGNMENT=ACENTER, PADDING=5"), IupHbox({IupFill(),OK,Cancel,IupFill()},"PADDING=15")}, "GAP=5,MARGIN=5x5")) IupSetAttribute(dlg,"TITLE","User Input/Graphical") IupSetCallback(dlg, "K_ANY", Icallback("esc_close")) IupDestroy(IupNormalizer({OK,Cancel},"NORMALIZE=BOTH")) IupShow(dlg) IupMainLoop() IupClose()