I use an FSM with a tabbed page display very frequently. The FSM, using its own strictly type def's enumerated constants, will navigate to the different tabbed pages by setting the tabbed pages value property: so any state of the FSM can tell the tabbed page display to present whatever page is desired to associate with the present FSM state. The tabbed pages cover most of the screen and do not have visible tabs making for a very useful technique to display large sets of data in my projects since there frequently is needed displays that show 30 - 60 parameter values on any one display page.
My problem is that the tabbed pages have an associated enumerated type for the page values, and I end up with a seperate strict type def enumerated type for the FSM. This works well but has major drawbacks: maintainability and scalability. I would like to change the enumerated type def for the FSM, apply those changes throughout the FSM (no problem at all!), and be able to apply those changes to the type def for the tabbed page display. Then I would like to add a tabbed page in the correct order or position to agree with the FSMs enumerated type.
So far I have experimented with trying to cast the enumerated types which can't be done because they are both strictly type def to different controls (I believe). And I have tried to take the enumerated type from the FSM and use it for the Tabbed Pages and vice versa also with no luck.
I also have tried to construct separate strict type defs, one for the FSM and the other for the Tabbed Pages and then edit both separately and then 'Apply Changes', but I have problems with the tabbed pages display as it seems that adding a page does not update the 'value' constants that I have previously used in the program, so I have to go back and delete and create anew all the previous 'value' constants for the tabbed pages, and that is a bookkeeping nightmare for a large program.
If I can overcome this limitation, this GUI code pattern would be an excellent development technique worthy of becoming a template! I can supply a simple example program, but it is so trivial I do not think it is necessary, but that might be because I use this technique so much. Any suggestions would be greatly appreciated.
Sydney