How can I trigger activity in a top level gui from a timer in a lower level object?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have an object that is polling status from a piece of equipment at regular intervals. It is doing this by starting a timer at object instantiation. I would like to trigger higher level application behavior off of certain types of status changes and I'm not sure how to get a trigger signal from the lower level timer object to the high level main gui object. Any ideas would be appreciated. :)
Pseudo-Detail:
1. GUI -> CommObj -> TimerObj -> Callback (embedded in CommObj.ConstructorMethod)
2. Callback toggles a bit property in CommObj instance.
3. ???
4. GUI detects change in CommObj property and does stuff! (a.k.a. PROFIT!!!)
Thanks in Advance :)
0 commentaires
Réponses (1)
Walter Roberson
le 3 Mai 2012
Unfortunately it is not really possible to prod an active routine to do something. You can change the value of a variable that the routine has access to, and you can have the routine test the value of that variable.
In some situations it makes sense to use add_listener(), and possibly notify() as well.
In some situations it make sense to use waitfor() to wait for a condition.
2 commentaires
Walter Roberson
le 3 Mai 2012
To cross-check, are you referring to "object" in the object-oriented programming sense? And in particular, to classes defined using the newer classdef mechanism?
If so then unfortunately that is a topic I have not had an opportunity to investigate.
Voir également
Catégories
En savoir plus sur Help and Support dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!