public override void SetQuestion(Question q, UnityAction <Question> answeredEvent, UISkinData skinData)
        {
            base.SetQuestion(q, answeredEvent, skinData);

            textViewQuestion = question as TextViewQuestion;

            idText.text               = question.id;
            text.text                 = textViewQuestion.text;
            instructionsText.text     = textViewQuestion.title;
            instructionsText.fontSize = skinData.fontSizeH2;
            question.isAnswered       = true;
        }
Пример #2
0
        Question GenerateQuestion(JSONObject json)
        {
            print("question:" + json.ToString());
            string questiontype = json["questiontype"].Str;

            Question question = null;

            switch (questiontype)
            {
            case QuestionTypeNames.radiogrid:
                question = new RadioGridQuestion(json);
                break;

            case QuestionTypeNames.radiolist:
                question = new RadioListQuestion(json);
                break;

            case QuestionTypeNames.checklist:
                question = new CheckListQuestion(json);
                break;

            case QuestionTypeNames.slider:
                question = new SliderQuestion(json);
                break;

            case QuestionTypeNames.field:
                question = new FieldQuestion(json);
                break;

            case QuestionTypeNames.num_field:
                question = new NumFieldQuestion(json);
                break;

            case QuestionTypeNames.multi_field:
                question = new MultiFieldQuestion(json);
                break;

            case QuestionTypeNames.drop_down:
                question = new DropDownQuestion(json);
                break;

            case QuestionTypeNames.textview:
                question = new TextViewQuestion(json);
                break;

            default:
                question = new TextViewQuestion(json);
                break;
            }
            return(question);
        }
Пример #3
0
        void GenerateQuestionnaireUI(Questionnaire questionnaire, UISkinData skin)
        {
            // TODO: Clear UI

            if (studySettings.questionnaireHeaderAs1stQuestion)
            {
                TextViewQuestion textViewQuestion = new TextViewQuestion()
                {
                    id    = "title",
                    title = questionnaire.title,
                    text  = questionnaire.instructions
                };

                var questions = questionnaire.questions.ToList();
                questions.Insert(0, textViewQuestion);
                questionnaire.questions = questions.ToArray();
            }


            foreach (Question question in questionnaire.questions)
            {
                QuestionPanelUI panelUI = GeneratePanelForQuestionType(question.questiontype);
                if (panelUI != null)
                {
                    panelUI.SetQuestion(question, questionnairePanel.OnQuestionAnswered, skin);
                    panelUI.SetQuestionIDVisibility(studySettings.showQuestionId);
                    questionnairePanel.questionPanels.Add(panelUI);
                    panelUI.HidePanel();
                }
            }
            questionnairePanel.Init();



            //Canvas.ForceUpdateCanvases();
            //questionnairePanelUI.contentScrollbarVertical.value = 1;
            //Canvas.ForceUpdateCanvases();
        }