MATLAB Answers

How can I ask for a question with questdlg and allow the user to rotate a figure at the same time?

17 views (last 30 days)
Guillaume on 13 Nov 2012
Edited: Valentino on 22 Jun 2016
Here is my problem:
The user has to choose between two "3D figures", what he finds it is the best one. For example, if I create this function :
function answer = choosefig
Z1 = sin(1:0.1:3)' * cos(1:0.1:3);
Z2 = sin(0:0.1:2)' * cos(0:0.1:2);
figure('Name','Figure #1');
figure('Name','Figure #2');
answer = questdlg('What figure do you prefer?','Choose figure',...
'Figure #1','Figure #2','Figure #2');
I can't rotate the figures, to make my choice. I have to answer, before being able to control the display of the figures and choose if I prefer Z1 or Z2. I would like to be able to rotate figures, when choosing the figure.
Is there a solution to get round the problem?
Thank you,

More Answers (3)

Guillaume on 15 Nov 2012
In other words, I can't... Too bad. I'll continue with a pause before the questdlg, this is the simplest way I think.
Thanks for the link, I hadn't seen the topic before asking.

Jan on 15 Nov 2012
Of course you can. It is only the standard version of questdlg which blocks the execution. But if you create your own version of a quest-dialog, or modify a copy of Matlab's questdlg, you can omit the modal state of the dialog window, wuch that you can rotate the 3D objects freely before to have to make your decision in the dialog.

Valentino on 22 Jun 2016
Edited: Valentino on 22 Jun 2016
As i had problems editing the standard questdlg, in this code you just have to Change WindowStyle from modal to normal and it works. Thanks to the author of that file.


Community Treasure Hunt

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

Start Hunting!