def var framelist as char initial "set1,set2,set3,set4" no-undo.
def var frame_used as char no-undo.
def button btn_toggle label "Toggle Frames".
def button btn_set1 label "Set1".
def button btn_set2 label "Set2".
def button btn_set3 label "Set3".
def button btn_set4 label "Set4".
def frame fr_toggle btn_toggle btn_set1 btn_set2 btn_set3 btn_set4 with side-labels 1 down three-d.
def frame a "Frame a" with title "Frame a" row 5 col 10.
def frame b "Frame b" with title "Frame b" row 5 col 40.
def frame c "Frame c" with title "Frame c" row 7 col 10.
def frame d "Frame d" with title "Frame d" row 7 col 40.
on choose of btn_toggle in frame fr_toggle run p_toggle_frames.
on choose of btn_set1 in frame fr_toggle do:
frame_used = "set1".
run p_show_frames.
end.
on choose of btn_set2 in frame fr_toggle do:
frame_used = "set2".
run p_show_frames.
end.
on choose of btn_set3 in frame fr_toggle do:
frame_used = "set3".
run p_show_frames.
end.
on choose of btn_set4 in frame fr_toggle do:
frame_used = "set4".
run p_show_frames.
end.
enable all with frame fr_toggle.
wait-for window-close of current-window.
procedure p_toggle_frames:
if frame_used = "" then frame_used = entry (1,framelist).
else
if lookup (frame_used,framelist) < num-entries (framelist) then
frame_used = entry (lookup (frame_used,framelist) + 1,framelist).
else
frame_used = entry (1,framelist).
run p_show_frames.
end procedure.
procedure p_show_frames:
case frame_used:
when "set1" then do:
hide frame c.
hide frame d.
view frame a.
view frame b.
enable all with frame a.
enable all with frame b.
end.
when "set2" then do:
hide frame a.
hide frame b.
view frame c.
view frame d.
enable all with frame c.
enable all with frame d.
end.
when "set3" then do:
hide frame a.
hide frame c.
view frame b.
view frame d.
enable all with frame b.
enable all with frame d.
end.
when "set4" then do:
hide frame b.
hide frame d.
view frame a.
view frame c.
enable all with frame a.
enable all with frame c.
end.
end case.
end procedure.