To illustrate interpage dependencies, here comes an example. In this example a program exists, which has two different versions, that only differs a bit. The module programmer has decided that he will configure both versions with the same module. On a page called Version the user can select which version he uses with a radio button. This may look like this:
proc version {} { # version Radio ver -text "version of the program" -entries {6 6.01} }
No ShowPage, Change, Init, PageEnd or Save functions is necceary on this page, as it doesn't generate any code, and the radio element is always enabled.
On a different page an element exist, say a CheckBox with label Use feature 42. This option is only avilable in version 6.01 of the program, and should therefore be disabled, when version 6 is selected. No code should be generated for this option if version 6 is selected.
This page may look like this:
proc page {} { # page CheckBox feature -text "feature 42" ShowPage { if {[set version@ver(name)] == "6.01"} { Disable feature } else { Enable feature } } Save { if {[set version@ver(name)] != "6.01"} { print "use feature42: $feature" } } }
As you can see, no Change function exists, since there is no intrapage dependencies.