Files
MBS/TEST/MultipleDialogs/SubBlockActions.4gl
T

93 lines
2.7 KiB
Plaintext

# Property of Four Js*
# (c) Copyright Four Js 1995, 2019. All Rights Reserved.
# * Trademark of Four Js Development Tools Europe Ltd
# in the United States and elsewhere
#
# Four Js and its suppliers do not warrant or guarantee that these
# samples are accurate and suitable for your purposes. Their inclusion is
# purely for information purposes only.
MAIN
DEFINE a1 DYNAMIC ARRAY OF RECORD
col11 INTEGER,
col12 CHAR(10)
END RECORD
DEFINE a2 DYNAMIC ARRAY OF RECORD
col21 INTEGER,
col22 CHAR(10)
END RECORD
DEFINE field1 INTEGER
DEFINE field2, field3, field4 CHAR(50)
OPTIONS INPUT WRAP
OPEN FORM f FROM "SubBlockActions"
DISPLAY FORM f
LET field1 = 123
LET field2 = "aaaa"
LET field4 = "xxxx"
LET a1[1].col11 = 1
LET a1[2].col11 = 2
LET a1[3].col11 = 3
LET a2[1].col21 = 1
LET a2[2].col21 = 2
DIALOG ATTRIBUTES(UNBUFFERED)
INPUT BY NAME field1,field2,field3 ATTRIBUTES(NAME="input1", WITHOUT DEFAULTS)
ON ACTION foo
ERROR "Action foo of INPUT input1 sub-block"
ON ACTION bar
ERROR "Action bar of INPUT input1 sub-block"
END INPUT
INPUT ARRAY a1 FROM sr1.* ATTRIBUTES (WITHOUT DEFAULTS)
ON ACTION foo
ERROR "Action foo of INPUT ARRAY sr1 sub-block"
END INPUT
INPUT ARRAY a2 FROM sr2.* ATTRIBUTES (WITHOUT DEFAULTS)
ON ACTION foo
ERROR "Action foo of INPUT ARRAY sr2 sub-block"
END INPUT
INPUT BY NAME field4 ATTRIBUTES(NAME="input2", WITHOUT DEFAULTS)
END INPUT
ON ACTION disable_input1_foo
CALL dialog.setActionActive("input1.foo",FALSE)
ON ACTION enable_input1_foo
CALL dialog.setActionActive("input1.foo",TRUE)
ON ACTION disable_input1_bar
CALL dialog.setActionActive("input1.bar",FALSE)
ON ACTION enable_input1_bar
CALL dialog.setActionActive("input1.bar",TRUE)
ON ACTION disable_actions_sr1
CALL list_actions(DIALOG,"sr1", FALSE)
ON ACTION enable_actions_sr1
CALL list_actions(DIALOG,"sr1", TRUE)
ON ACTION disable_actions_sr2
CALL list_actions(DIALOG,"sr2", FALSE)
ON ACTION enable_actions_sr2
CALL list_actions(DIALOG,"sr2", TRUE)
ON ACTION close EXIT DIALOG
END DIALOG
END MAIN
FUNCTION list_actions(d, name, activate)
DEFINE d ui.Dialog, name STRING, activate INTEGER
CALL d.setActionActive(name||".insert",activate)
CALL d.setActionActive(name||".append",activate)
CALL d.setActionActive(name||".delete",activate)
CALL d.setActionActive(name||".foo",activate)
END FUNCTION