Medical Imaging Interaction Toolkit
2024.06.99-60d9b802
Medical Imaging Interaction Toolkit
|
A Question whose possible responses are represented by radio buttons. More...
#include <mitkMultipleChoiceQuestion.h>
Public Member Functions | |
~MultipleChoiceQuestion () override | |
std::string | GetType () const override |
Return the type of a question as string, e.g. "Multiple choice" or "Drop-down". More... | |
Question * | CreateAnother () const override |
Create a new instance of the derived question class type. More... | |
void | FromJSON (const nlohmann::ordered_json &j) override |
Deserialize from JSON. More... | |
void | ToJSON (nlohmann::ordered_json &j) const override |
Serialize to JSON. More... | |
virtual void | SetResponse (size_t i) |
Set one of the possible answer options as the single response. More... | |
void | SetOtherResponse (const std::string &response) |
Set the "Other" response as single exclusive response to this question. More... | |
Public Member Functions inherited from mitk::Forms::QuestionWithOtherOption | |
QuestionWithOtherOption () | |
~QuestionWithOtherOption () override | |
std::vector< std::string > | GetResponsesAsStrings () const override |
Return the question's response(s) as strings. More... | |
void | ClearResponses () override |
Clear the/all response(s). More... | |
bool | IsComplete () const override |
Check if a question is considered to be answered completely. More... | |
bool | HasOtherOption () const |
Query whether this question actually has an "Other" option. More... | |
void | EnableOtherOption () |
Switch on the "Other" option. More... | |
Public Member Functions inherited from mitk::Forms::QuestionWithOptions | |
~QuestionWithOptions () override | |
size_t | AddOption (const std::string &option) |
Add a non-exclusive option as possible answer to the question. More... | |
std::vector< std::string > | GetOptions () const |
Public Member Functions inherited from mitk::Forms::Question | |
Question () | |
virtual | ~Question () |
std::string | GetQuestionText () const |
Get the literal question. More... | |
void | SetQuestionText (const std::string &question) |
Set the literal question. More... | |
bool | IsRequired () const |
Check whether a response to this question is required to complete a form. More... | |
void | SetRequired (bool required=true) |
Set whether a resonse to this question is required to complete a form. More... | |
virtual std::string | GetRequiredText () const |
Get the text that should be displayed to clearly mark a question as required. More... | |
virtual bool | HasFileResponses () const |
Query whether the responses given to this question are file paths. More... | |
virtual std::vector< fs::path > | SubmitFileResponses (const fs::path &basePath) const |
Attach response files to submission. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from mitk::Forms::QuestionWithOtherOption | |
void | SetResponse (size_t i) override |
Set one of the possible answer options as the single response. More... | |
void | AddOtherResponse (const std::string &response) |
Add the free text given as "Other" option to the list of responses. More... | |
void | RemoveOtherResponse () |
Remove the "Other" response from the list of already given responses. More... | |
void | SetOtherResponse (const std::string &response) |
Set the "Other" response as single exclusive response to this question. More... | |
Protected Member Functions inherited from mitk::Forms::QuestionWithOptions | |
void | AddResponse (size_t i) |
Add one of the possible answer options to the responses. More... | |
void | RemoveResponse (size_t i) |
Remove one of the already given responses. More... | |
A Question whose possible responses are represented by radio buttons.
The question can have a single response, which can optionally be free text.
Definition at line 26 of file mitkMultipleChoiceQuestion.h.
|
override |
|
overridevirtual |
Create a new instance of the derived question class type.
This method is mainly used by IQuestionFactory to create new instances from registered prototype instances based on a type string.
Implements mitk::Forms::Question.
|
overridevirtual |
Deserialize from JSON.
Polymorphism and the use of base class pointers make it necessary to implement serialization through member functions. Using the pure native approach of the "JSON for Modern C++" library via free functions would lead to partially serialized instances of derived classes.
The actual implementation can and should still be located in a corresponding from_json() free function but we also need the indirection through this member function.
Implements mitk::Forms::Question.
|
overridevirtual |
Return the type of a question as string, e.g. "Multiple choice" or "Drop-down".
This method is essential for the deserialization of questions into their correct type, resp. derived class. The type string is used by IQuestionFactory to look up a registered prototype instance of a certain type to create another instance of it.
The type string does not have to match the class name or follow any other convention except for it must be unique amongst all question types. Prefer natural language like in the examples above in case it is used in a user interface to display a question's type.
Implements mitk::Forms::Question.
void mitk::Forms::QuestionWithOtherOption::SetOtherResponse |
Set the "Other" response as single exclusive response to this question.
virtual void mitk::Forms::QuestionWithOptions::SetResponse |
Set one of the possible answer options as the single response.
|
overridevirtual |
Serialize to JSON.
Polymorphism and the use of base class pointers make it necessary to implement serialization through member functions. Using the pure native approach of the "JSON for Modern C++" library via free functions would lead to partially serialized instances of derived classes.
The actual implementation can and should still be located in a corresponding to_json() free function but we also need the indirection through this member function.
Implements mitk::Forms::Question.