Damon Chaplin wrote: [...]
I think by combining the "forward" function, the page types and the "complete" information, we can do a very good job with flow control. E.g if all pages following the current page are already marked complete (because they only contain optional fields), we can show a "finish" button (if the sequence of following pages ends in a page of type "confirm", we would show a "last" button instead, which would jump to the confirm page).Have you thought through how it works in a GUI builder? The "user-specified function" thing looks problematic. Signals work better with a GUI builder (especially when a code editor is available - you just click on the '...' button beside the signal and add the code).
Motion seconded,
it could easily have a RUN_LAST default method in place that
simply changes the page & a boolean "handled" accumulator to ensure
that only one handler turns the page.
Maybe I'm missing something, is there a reason why we'd want to
enforce that the user supply a "forward" / "backward" handler ?
Cheers,
-Tristan