; -------------------------------------------------------------------------------- ; @Title: Example for dialog with multiple choose boxes ; @Description: Shows a dialog with choose boxes ; @Keywords: choosebox, dialog, practice ; @Author: REI ; @Copyright: (C) 1989-2021 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: dialog_choosebox.cmm 18691 2021-12-15 18:51:36Z rweiss $ DIALOG ( HEADER "CHOOSEBOX Demo" POS 1. 0. 28. 1. TEXT "Select Options:" ;choosebox group for Selection A POS 0. 1. 29. 1. LINE "Selection A:" POS 1. 2. 10. 1. OptionA.1: CHOOSEBOX "OptionA1" "" OptionA.2: CHOOSEBOX "OptionA2" "" ;choosebox group for Selection B POS 0. 4. 29. 1. LINE "Selection B:" POS 1. 5. 10. 1. OptionB.1: CHOOSEBOX "OptionB1" "" OptionB.2: CHOOSEBOX "OptionB2" "" OptionB.3: CHOOSEBOX "OptionB3" "GOSUB OnChooseboxClicked_B3" POS 14. 5. 10. OptionB.4: CHOOSEBOX "OptionB4" "DIALOG.OK ""Thank you for choosing option B4""" OptionB.5: CHOOSEBOX "OptionB5" "" OptionB.6: CHOOSEBOX "OptionB6" "" ;buttons OK (Default) and Cancel POS 1. 9. 10. 1. DEFBUTTON "OK" "GOSUB OnOK" POS 14. 9. 10. 1. BUTTON "Cancel" "GOSUB OnCancel" ;dialog open event INIT "GOSUB SetDefaults" ;dialog close event CLOSE "GOSUB OnCancel" ;subroutines SUBROUTINE SetDefaults ( ;diable OptionB6 DIALOG.DISABLE OptionB.6 ;set default selections DIALOG.Set OptionA.1 DIALOG.Set OptionB.2 ) SUBROUTINE OnChooseboxClicked_B3 ( PRINT "Option B3 was selected" ) SUBROUTINE OnOK ( IF DIALOG.BOOLEAN(OptionA.1) &SelectionA="OptionA1" IF DIALOG.BOOLEAN(OptionA.2) &SelectionA="OptionA2" IF DIALOG.BOOLEAN(OptionB.1) &SelectionB="OptionB1" IF DIALOG.BOOLEAN(OptionB.2) &SelectionB="OptionB2" IF DIALOG.BOOLEAN(OptionB.3) &SelectionB="OptionB3" IF DIALOG.BOOLEAN(OptionB.4) &SelectionB="OptionB4" IF DIALOG.BOOLEAN(OptionB.5) &SelectionB="OptionB5" IF DIALOG.BOOLEAN(OptionB.6) &SelectionB="OptionB6" ;check for illegal selection combinations IF ("&SelectionA"=="OptionA1")&&("&SelectionB"=="OptionB5") ( DIALOG.OK "OptionB5 not allowed when OptionA1 is selected" GOSUB SetDefaults ) ELSE ( ;close dialog window DIALOG.END ;print result DIALOG.OK "SelectionA: &SelectionA" "SelectionB: &SelectionB" ) ) SUBROUTINE OnCancel ( DIALOG.END DIALOG.OK "Cancelled" ) ) ENDDO