Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkScreenshotQuestion.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkScreenshotQuestion_h
14 #define mitkScreenshotQuestion_h
15 
16 #include <mitkQuestion.h>
17 #include <mitkFileSystem.h>
18 
19 #include <set>
20 
21 namespace mitk::Forms
22 {
24  {
25  public:
26  ~ScreenshotQuestion() override;
27 
28  std::string GetType() const override;
29  Question* CreateAnother() const override;
30 
31  void FromJSON(const nlohmann::ordered_json& j) override;
32  void ToJSON(nlohmann::ordered_json& j) const override;
33 
34  std::vector<std::string> GetResponsesAsStrings() const override;
35  void ClearResponses() override;
36 
37  bool IsComplete() const override;
38 
39  bool HasFileResponses() const override;
40  std::vector<fs::path> SubmitFileResponses(const fs::path& basePath) const override;
41 
42  void AddScreenshot(const fs::path& path);
43  void RemoveScreenshot(const fs::path& path);
44 
45  private:
46  std::set<fs::path> m_Responses;
47  };
48 
49  MITKFORMS_EXPORT void from_json(const nlohmann::ordered_json& j, ScreenshotQuestion& q);
50  MITKFORMS_EXPORT void to_json(nlohmann::ordered_json& j, const ScreenshotQuestion& q);
51 }
52 
53 #endif
#define MITKFORMS_EXPORT
Abstract base class for all types of questions used in a Form.
Definition: mitkQuestion.h:32
void ToJSON(nlohmann::ordered_json &j) const override
Serialize to JSON.
Question * CreateAnother() const override
Create a new instance of the derived question class type.
void ClearResponses() override
Clear the/all response(s).
void RemoveScreenshot(const fs::path &path)
bool IsComplete() const override
Check if a question is considered to be answered completely.
std::vector< fs::path > SubmitFileResponses(const fs::path &basePath) const override
Attach response files to submission.
void FromJSON(const nlohmann::ordered_json &j) override
Deserialize from JSON.
std::string GetType() const override
Return the type of a question as string, e.g. "Multiple choice" or "Drop-down".
std::vector< std::string > GetResponsesAsStrings() const override
Return the question's response(s) as strings.
bool HasFileResponses() const override
Query whether the responses given to this question are file paths.
void AddScreenshot(const fs::path &path)
MITKFORMS_EXPORT void to_json(nlohmann::ordered_json &j, const CheckboxesQuestion &q)
MITKFORMS_EXPORT void from_json(const nlohmann::ordered_json &j, CheckboxesQuestion &q)