I'm fighting with this as well. The idea you've presented fits well Cairngorm, the problem is ... this is not really a best a idea. You need to create an Event, then put the desired state string into the event (where to get this string from?), dispatch event, register in front controller, create a command and in command get the data from event and change the model value accordingly. This does not seem like bad, if you just manage single state. Now imagine that you use components and they have their own states. What's more, you would probably want to react on higher level on a state broadcaster down below. You need to create as many events/commands as the amount of your components, and what's more : you're inevitably coupling them with cairngorm.
My blueprint would be to have each component managing its own state in his as code. State is bound to component the same way you've described (by currentState). Each component has method changeState and probably exports static strings with state names. When the state is changed from within the component, the basic flash event is broadcasted, and you react to it on the level (container) that holds this component as child. Probably a bit way off your question, anyway :P Generally, for your needs, the solution you presented feels valid to me. Seb -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of stephen50232 Sent: Wednesday, November 21, 2007 6:01 PM To: [email protected] Subject: [flexcoders] Managing States and Cairngorm Hi, I'm building a new app using Cairgorm and one of the problems I'm having is managing states. My application is set up with a base state which is blank and then two other states, one which contains my login screen (called Login) and one which contains the main menu (called MainApp). Then all my other states are based on the state called MainApp so that they all contain the main menu. Now when my application starts it should go to the Login state, then after logging in the system will load the Welcome state, which is based on the MainApp state. So to change between states in my Application tag I have set currentState like this: currentState="{model.workflowState}" When my application first starts it should load the Login state as default, I set the model.workflowState variable as: public var workflowState:String = "Login"; Will I be able to update the model.workflowState? The way I am thinking of doing this is by having an event on all the menu buttons which changes model.workflowState to the value of the state, for example if the user clicks on the Welcome button, model.workflowState is set as "Welcome". Now is this a good way to manage states in a Cairngorm application, I'm trying to achieve 2 things, one only have one main menu which is used in all states, and two use binding to select the current state. Is there another way I could do this? Thanks Stephen -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links

