' ***** Selection *****
PRINT "Selection callback from kid #"; r0
XuiDialog2B doesn't process callback messages internally because its Callback subroutine sends callback messages back to the function that set itself as the XuiDialog2B grid.
If you modify the Callback subroutine as described previously, however, #Selection callback messages will be sent to this subroutine. Here you can add functionality code to process callback messages from the XuiDialog2B kid grids, and send #Selection and/or other callback messages back under appropriate circumstances.
As a simple example, if you made the described modifications to the Callback subroutine, the following code will convert this function into a simplified name input dialog.
XuiSendMessage (g, #SetTextString, 0, 0, 0, 0, 0, @"Enter your name below")
to the Create subroutine after the line that creates the XuiLabel kid to tell the user what to do when the grid appears.
Second, fill the Selection subroutine with these lines:
SELECT CASE r0
CASE $TextLine, $Button0
XuiSendMessage (grid, #GetTextString, 0, 0, 0, 0, $TextLine, @name$)
XuiSendMessage (grid, #SetTextString, 0, 0, 0, 0, 0, @name$)
IF name$ THEN value = 0 ELSE value = -1
value = -1 ' 0 = ok : -1 = cancel
XuiCallback (grid, #Selection, value, 0, 0, 0, 0, 0)