13 #ifndef mitkQuestion_h
14 #define mitkQuestion_h
22 #include <nlohmann/json_fwd.hpp>
39 std::string GetQuestionText()
const;
43 void SetQuestionText(
const std::string& question);
47 bool IsRequired()
const;
53 void SetRequired(
bool required =
true);
63 virtual std::string GetRequiredText()
const;
72 virtual bool HasFileResponses()
const;
83 virtual std::vector<fs::path> SubmitFileResponses(
const fs::path& basePath)
const;
117 virtual std::string GetType()
const = 0;
133 virtual Question* CreateAnother()
const = 0;
150 virtual std::vector<std::string> GetResponsesAsStrings()
const = 0;
154 virtual void ClearResponses() = 0;
161 virtual bool IsComplete()
const = 0;
181 virtual void FromJSON(
const nlohmann::ordered_json& j) = 0;
201 virtual void ToJSON(nlohmann::ordered_json& j)
const = 0;
206 std::string m_QuestionText;