Skip to main content
cmtreen
Participating Frequently
September 25, 2018
Answered

Reset to original visibility settings?

  • September 25, 2018
  • 1 reply
  • 610 views

Good afternoon/evening/morning, intrepid adventurers! As I begin to flex my burgeoning JavaScript muscles, I'm beginning to notice the rather tiresome issue of having to manually re-hide objects for when learners re-visit a slide.
Admittedly, using @7246171 as a wildcard (cpExtra plugin) has proven ridiculously useful in reducing the manual steps required, but the process is still lengthy, and fraught with potential for user error(mine).

So here is my question: Does captivate have a way to reset the visibility of objects on a given slide to the same state they were in when the slide was first visited? i.e.  originally hidden objects are hidden, originally visible objects are visible.

I've looked for an answer without success, and I will feel really silly if there's something right under my nose, but I've been so deep in the weeds on this project that I'm starting to go cross-eyed, so I'm ready to plead for help now. 

This topic has been closed for replies.
Correct answer Lilybiri

There is no magical setting to restore a slide in its original state.

However there are some workflows that will make the process of using the On Enter action to reset everything easier:

  • Use grouping of objects and shared actions: that results in a much shorter On Enter action. Since a group can have as many items as you want,..
  • Whenever possible use multstate objects, and the Change State command instead of Hide/Show. The advantage is that when returning to the slide, the Normal state will be reappear, no need for resetting.
  • Instead of using the eye icon to make objects invisible at the start, create immediately the On Enter action. It will not take much longer, but you have the reset action ready that way.

BTW I love CpExtra!

1 reply

cmtreen
cmtreenAuthor
Participating Frequently
September 25, 2018

Re the inevitable questions re cpExtra along with javascript, I'm lame, and couldn't find a way to do wildcards in javascript, so instead I use something like  cpAPIInterface.setVariableValue("xcmndHide","objectName_@");

Lilybiri
LilybiriCorrect answer
Legend
September 25, 2018

There is no magical setting to restore a slide in its original state.

However there are some workflows that will make the process of using the On Enter action to reset everything easier:

  • Use grouping of objects and shared actions: that results in a much shorter On Enter action. Since a group can have as many items as you want,..
  • Whenever possible use multstate objects, and the Change State command instead of Hide/Show. The advantage is that when returning to the slide, the Normal state will be reappear, no need for resetting.
  • Instead of using the eye icon to make objects invisible at the start, create immediately the On Enter action. It will not take much longer, but you have the reset action ready that way.

BTW I love CpExtra!

cmtreen
cmtreenAuthor
Participating Frequently
September 26, 2018

Lilybiri, thanks so much for the advice! You are SUCH an asset to this community.

I had a major "DUH!" moment when reading bullets 1 and 3. I realize now I've been in "measure twice, cut twice" mode.


I'm building a fully functional interface for an instrument washer, so its lots of "pages" with unique buttons on each. If only I could group buttons into multistate objects I'd be set. I could name the states x_ScreenVar_0,1,2,3 etc, and be good to go.

Oh well, maybe next version of Captivate (<-- my continual mantra)......BUT, if I group these and stop trying to do everything in javascript , it should work. (sometimes I get so excited using a shiny new toy, that its easy to overlook other capabilities).

Thanks again for the prompt reply!