! *********************************************** ! ** (c) Interactive Software Services Ltd and ** ! ** Lahey Computer Systems Inc. 1997-2011 ** ! ** ----------------------------------------- ** ! ** This demonstration program source may be ** ! ** modified for training and for product ** ! ** familiarisation. ** ! ** ----------------------------------------- ** ! ** Purpose : Illustrate Menu Field types ** ! *********************************************** ! ! This programs illustrates the various menu field types ! currently supported by the WiSK Dialog Manager ! PROGRAM DLGMENU ! USE WINTERACTER IMPLICIT NONE ! ! Resource identifiers, as set via the resource editor ! INTEGER, PARAMETER :: IDD_DIALOG01 = 101 INTEGER, PARAMETER :: IDD_DIALOG02 = 102 INTEGER, PARAMETER :: IDF_COMBO1 = 1001 INTEGER, PARAMETER :: IDF_COMBO2 = 1002 INTEGER, PARAMETER :: IDF_COMBO3 = 1003 INTEGER, PARAMETER :: IDF_LIST1 = 1004 INTEGER, PARAMETER :: IDF_LIST2 = 1005 INTEGER, PARAMETER :: IDF_LIST3 = 1006 INTEGER, PARAMETER :: IDF_OUTPUT1 = 1007 INTEGER, PARAMETER :: IDF_OUTPUT2 = 1008 INTEGER, PARAMETER :: IDF_OUTPUT3 = 1009 INTEGER, PARAMETER :: IDF_OUTPUT4 = 1010 INTEGER, PARAMETER :: IDF_OUTPUT5 = 1011 INTEGER, PARAMETER :: IDF_OUTPUT6 = 1012 ! INTEGER, PARAMETER :: NOPT = 20 ! ! Option selections ! INTEGER :: ICOMBO1 INTEGER :: ICOMBO2 INTEGER :: ICOMBO3 CHARACTER(LEN=20) :: COMBO2 CHARACTER(LEN=20) :: COMBO3 INTEGER :: ILIST1 INTEGER, DIMENSION(NOPT) :: ILIST2 = (/1,1,1,0,0,0,0,0,0,0, & 0,0,0,0,0,0,0,0,0,0/) INTEGER, DIMENSION(NOPT) :: ILIST3 = (/1,1,1,0,0,0,0,0,0,0, & 0,0,0,0,0,0,0,0,0,0/) ! CHARACTER(LEN=2) :: CVALUE INTEGER :: NSELECTED INTEGER :: IOPT ! ! Initialise Winteracter and open hidden root window. ! CALL WInitialise() CALL WindowOpen(HideWindow) ! ! Load main dialog. ! CALL WDialogLoad(IDD_DIALOG01) ! ! Select 1st 3 options in the Multiple and Extended selection listbox menus. ! CALL WDialogPutOption(IDF_LIST2,ILIST2) CALL WDialogPutOption(IDF_LIST3,ILIST3) ! ! Display as a simple Modal dialog. ! CALL WDialogShow(ITYPE=Modal) ! ! Retrieve selections ! CALL WDialogGetMenu(IDF_COMBO1,ICOMBO1) ! Option Number Only CALL WDialogGetMenu(IDF_COMBO2,ICOMBO2,COMBO2) ! Option Number and String CALL WDialogGetMenu(IDF_COMBO3,ICOMBO3,COMBO3) ! Option Number and String CALL WDialogGetMenu(IDF_LIST1,ILIST1) ! Option Number CALL WDialogGetMenu(IDF_LIST2,ILIST2) ! Array of On/Off Flags CALL WDialogGetMenu(IDF_LIST3,ILIST3) ! Array of On/Off Flags ! ! Unload main dialog. ! CALL WDialogUnload() ! ! Load results dialog. ! CALL WDialogLoad(IDD_DIALOG02) ! ! Fill in details of options selected. ! CALL IntegerToString(ICOMBO1,CVALUE,'(I2.2)') CALL WDialogPutString(IDF_OUTPUT1,CVALUE) CALL WDialogPutString(IDF_OUTPUT2,COMBO2) CALL WDialogPutString(IDF_OUTPUT3,COMBO3) CALL IntegerToString(ILIST1,CVALUE,'(I2.2)') CALL WDialogPutString(IDF_OUTPUT4,CVALUE) NSELECTED = 0 DO IOPT = 1,NOPT NSELECTED = NSELECTED + ILIST2(IOPT) END DO CALL IntegerToString(NSELECTED,CVALUE,'(I2.2)') CALL WDialogPutString(IDF_OUTPUT5,CVALUE) NSELECTED = 0 DO IOPT = 1,NOPT NSELECTED = NSELECTED + ILIST3(IOPT) END DO CALL IntegerToString(NSELECTED,CVALUE,'(I2.2)') CALL WDialogPutString(IDF_OUTPUT6,CVALUE) ! ! Show Results dialog. ! CALL WDialogShow(ITYPE=Modal) ! ! Close window and exit ! CALL WindowClose() ! STOP END PROGRAM DLGMENU