Creating Step by Step tutorial for guide gui

I have created a GUI with GUIDE. There are several pushbuttons which execute different functions. Also I have created a menu bar button named Tutorial. Now I want to create a step by step tutorial to the Gui I have created. i.e when I press the tutorial button,a message box should appear and ask me to press one of the gui buttons. When the callback for that button is executed, the control must return to the tutorial callback and resume from where I have stopped. Is something like this possible?

 Réponse acceptée

Matt Fig
Matt Fig le 7 Fév 2011
My first thought is that you would have to put into each callback that is used during the tutorial an IF statement, at the end of the callback, which checks whether or not the MSGBOX exists. One way to do this would be to create a TAG for the MSGBOX (or store the handle when created using GUIDATA, etc.), then use:
msg_h = findall(0,'tag','MSGTAG'); % Or extract from GUIDATA...
if ~isempty(msg_h)
figure(msg_h) % Give focus to the message box.
% Possibly update string in message box, or whatever.
end
In the body of the IF statement, you would call FIGURE to give focus to the MSGBOX and/or update the string in the MSGBOX to reflect the next set of instructions in the tutorial. Note that if you store and extract the handle to the MSGBOX, then you will have to check if it is a handle using ISHANDLE, because the user might delete it!

5 commentaires

Sreedu
Sreedu le 8 Fév 2011
Thank you for the idea. But it will be problem if the user presses 'Enter'. The msgbox will be deleted. Instead of the msgbox can I use a static text in the UI screen itself which gets updated? Then how can I use the tag?Can I update the tag of static text after each step?
Matt Fig
Matt Fig le 8 Fév 2011
You could create your own message box, it is not that hard. It is just a simple little GUI: A figure with a static text big enough to carry the instructions.
Sreedu
Sreedu le 10 Fév 2011
Thank you so much for the solution. It works. I have another small query. In the other callbacks the msgbox gets updated, but it appears minimised. So the user has to bring it in front to see the next instruction. How can I make it come in front? Thank you once again.
Matt Fig
Matt Fig le 10 Fév 2011
You can bring it to the front by using its handle with FIGURE, like this:
figure(MSHANDLE)
Sreedu
Sreedu le 11 Fév 2011
Thank you

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by