Just ran a quick test on ArchestrA graphics to verify when the OnShow & OnHide scripts execute. I was also testing if AA graphic objects’ visibility properties are updated when the InTouch visibility was updated. Nothing Earth-shattering here, but just a quick FYI.
I created a simple AA graphic with a button to toggle visibility on a rectangle. I dropped that down in InTouch with another button to toggle the visibility on the whole AA graphic. The AA graphic also has simple LogMessage commands in the OnShow & OnHide scripts. I also had a regular script that executes once.
What I found was that whenever an InTouch screen loads, the AA graphic executes the OnShow script then the regular script. When the screen closes, the OnHide script executes. Toggling the InTouch visibility on the AA graphic did not trigger either the OnShow or OnHide scripts.
Toggling the InTouch visibility on the AA graphic also does not update the visible parameter on the objects within the graphic. That acts as expected. I was hoping there was a built-in easy way of detecting when the whole AA graphic changes visibility from within itself. The purpose would have been to refresh data (i.e. on a data grid) whenever swapping between some of our tabbed graphics. We currently expose a parameter as public to force the refresh from the containing AA graphic.
Also, if I remember right, there are issues with remote IO reference connections making that OnShow script unreliable. I believe that has either already been corrected in the latest release or might be on the list of issues to fix in the next release. If someone would like to post a comment on the details of the issue and/or the fix, I’d be grateful.