>An even better solution is to move the wizard into a series of non-modal
>forms, but the effort to do that and implement a whole state transition
>system may be more than an application needs, although I'm currently toying
>with a reusable "wizard" system using a separate event loop that manages a
>set of forms outside the normal flow of a Palm application, using some
>dialog techniques to return state to the original form that invoked this.
You shouldn't need a separate event loop to do this; a simple preference
variable (like "WizardNotYetRun") can simply start the app in the first
wizard screen when desired or the first "real" screen otherwise. The
first wizard screen simply has an OK (or OK/Cancel, or Continue/Cancel,
or whatever) which takes you to the second wizard screen, etc. When all
wizard screens are done, set the preference variable and move to the
first real screen. All this is perfectly within a normal event loop.
What might make even more sense would be to make the wizard a separate
app which is just setting up preferences, initializing databases,
whatever it does, but then can be deleted to save space, rather than
having code bloat of the app forever. Of course, this won't work if the
wizard may need to be rerun.
Steve Patt
President, Stevens Creek Software
http://www.stevenscreek.com/palm
Best PQA ("ePQA"), PalmSource 99
Best Application ("PizzaScan"), Palm Developer's Conference 1998
First printing software for the Palm - September, 1997
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/