|
1 | 1 | function responses = askUserGui(questions, responses) |
2 | | - |
| 2 | + |
3 | 3 | % boolean for which question should be asked |
4 | | - isQuestionToAsk = ~cellfun('isempty', questions.questionsToAsk(:,1)); |
5 | | - |
| 4 | + isQuestionToAsk = ~cellfun('isempty', questions.questionsToAsk(:, 1)); |
| 5 | + |
6 | 6 | responses = cellstr(string(responses(isQuestionToAsk))); |
7 | | - |
| 7 | + |
8 | 8 | responses = askQuestionsGui(questions, responses, isQuestionToAsk); |
9 | | - |
| 9 | + |
10 | 10 | % keep asking the question till we get a positive integer value for each |
11 | 11 | for iQuestion = 1:size(questions.questionsToAsk) |
12 | | - questions.questionsToAsk{iQuestion} = sprintf('%s %s\n %s',... |
| 12 | + questions.questionsToAsk{iQuestion} = sprintf('%s %s\n %s', ... |
13 | 13 | '\color{red}', ... |
14 | 14 | questions.questionsToAsk{iQuestion}, ... |
15 | 15 | questions.mustBePositiveInteger); |
16 | 16 | end |
17 | | - |
18 | | - while 1 |
| 17 | + |
| 18 | + while 1 |
19 | 19 | isQuestionToAsk = getIsQuestionToAsk(questions, responses); |
20 | 20 | if all(~isQuestionToAsk) |
21 | 21 | break |
22 | 22 | end |
23 | 23 | responses = askQuestionsGui(questions, responses, isQuestionToAsk); |
24 | 24 | end |
25 | | - |
| 25 | + |
26 | 26 | end |
27 | 27 |
|
28 | 28 | function resp = askQuestionsGui(quest, resp, isQuestionToAsk) |
29 | | - |
| 29 | + |
30 | 30 | opts.Interpreter = 'tex'; |
31 | | - |
| 31 | + |
32 | 32 | fieldDim = repmat([1 50], sum(isQuestionToAsk), 1); |
33 | | - |
34 | | - currentResp = inputdlg(quest.questionsToAsk(isQuestionToAsk, 1),... |
| 33 | + |
| 34 | + currentResp = inputdlg(quest.questionsToAsk(isQuestionToAsk, 1), ... |
35 | 35 | 'Subject info', ... |
36 | 36 | fieldDim, ... |
37 | 37 | resp(isQuestionToAsk), ... |
38 | 38 | opts); |
39 | | - |
| 39 | + |
40 | 40 | resp(isQuestionToAsk) = currentResp; |
41 | | - |
42 | | -end |
43 | 41 |
|
| 42 | +end |
0 commit comments