Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QScxml set state



  • I am connecting to scxml states with a QWidget, and would like to be able to provide a "manual mode" for the state machine when stopped by allowing the application to programmatically set the current state. Is this even possible? If so, how?

    Thanks!


  • Lifetime Qt Champion

    Hi,

    Do you mean something like submitting events by hand ?



  • No. we'd like to (for our own nefarious purposes) be able to set a new current state, even when there is no transition to that state from the current state.


  • Lifetime Qt Champion

    In that case you should read the class implementation to see how its internal is working and how you might be able to influence that.



  • Yea, I've been doing a lot of reading class implementations, before I asked the question.

    So are you saying it can be done? Which class implementation exactly? By what method?


  • Lifetime Qt Champion

    What class did you read ?

    I'm not confirming nor informing the feasibility of what you want to achieve since I don't know exactly what you want to achieve.

    I was thinking about the QScxmlStateMachine class as a starting point.



  • It would probably be easier to answer which Scxml class I didn't read up on. So I've looked at QScxmlStateMachine many times. There's something in the Scxml spec about transitions with NULL ID's, but I've not been able to make it work.

    I stated what I want to do in my original post; I'll state again, in a slightly different form, so you can confirm and/or inform on feasibility: I want to know how (or if it's even possible) to force the state machine to a given state without a transition/target.

    I understand that you're probably no Scxml expert, so It's okay if you don't have the answers. But maybe you know someone who is an expert?

    Thanks!


Log in to reply