Tutorial Chapter 5: Enhancing the Form |
Calls to the setActionActive method from the ui.Dialog class have been added to custmain.4gl to disable and enable menu actions appropriately to give the user visual cues. An additional ON ACTION statement exits the menu if the user selects .
01 02 MAIN 03 DEFINE query_ok SMALLINT 04 05 DEFER INTERRUPT 06 CONNECT TO "custdemo" 07 CLOSE WINDOW SCREEN 08 CALL ui.Interface.setImage("smiley") 09 OPEN WINDOW w1 WITH FORM "custform" 10 11 LET query_ok = FALSE 12 13 MENU 14 BEFORE MENU 15 CALL DIALOG.setActionActive("next",0) 16 CALL DIALOG.setActionActive("previous",0) 17 ON ACTION find 18 CALL DIALOG.setActionActive("next",0) 19 CALL DIALOG.setActionActive("previous",0) 20 CALL query_cust() RETURNING query_ok 21 IF (query_ok) THEN 22 CALL DIALOG.setActionActive("next",1) 23 CALL DIALOG.setActionActive("previous",1) 24 END IF 25 ON ACTION next 26 CALL fetch_rel_cust(1) 27 ON ACTION previous 28 CALL fetch_rel_cust(-1) 29 ON ACTION quit 30 EXIT MENU 31 ON ACTION close 32 EXIT MENU 33 END MENU 34 35 CLOSE WINDOW w1 36 37 DISCONNECT CURRENT 38 39 END MAIN