Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkQuestionWidget.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 QmitkQuestionWidget_h
14 #define QmitkQuestionWidget_h
15 
16 #include <MitkFormsUIExports.h>
17 #include <QFrame>
18 
19 class QVBoxLayout;
20 class QLabel;
21 
22 namespace mitk::Forms
23 {
24  class Question;
25 }
26 
37 {
38  Q_OBJECT
39 
40 public:
47  explicit QmitkQuestionWidget(QWidget* parent = nullptr);
48 
52 
81  virtual QmitkQuestionWidget* CreateAnother(QWidget* parent = nullptr) const = 0;
82 
97  virtual mitk::Forms::Question* GetQuestion() const = 0;
98 
128  virtual void SetQuestion(mitk::Forms::Question* question) = 0;
129 
142  virtual void Reset() = 0;
143 
150  void SetRequirementVisible(bool visible);
151 
155 
159 
160 protected:
182  void InsertLayout(QLayout* layout);
183 
184 private:
185  QVBoxLayout* m_Layout;
186  QLabel* m_QuestionLabel;
187  QLabel* m_RequiredLabel;
188 };
189 
190 #endif
#define MITKFORMSUI_EXPORT
Abstract base class for all types of question widgets used in a QmitkForm.
virtual void Reset()=0
Reset the state of the GUI as if no interaction would have been happened yet.
virtual mitk::Forms::Question * GetQuestion() const =0
Get the question associated with this widget.
void ShowRequirement()
Show the requirement reminder label and highlight the widget border in red.
void HideRequirement()
Hide the requirement reminder label and reset the widget border style.
~QmitkQuestionWidget() override
Destructor.
virtual QmitkQuestionWidget * CreateAnother(QWidget *parent=nullptr) const =0
Create a new instance of the derived question widget class type.
QmitkQuestionWidget(QWidget *parent=nullptr)
Construct the question widget with common GUI elements.
void SetRequirementVisible(bool visible)
Show or hide the requirement reminder.
virtual void SetQuestion(mitk::Forms::Question *question)=0
Initialize the widget based on the given question.
void InsertLayout(QLayout *layout)
Insert a layout containing all GUI elements specific to the derived question widget type.
Abstract base class for all types of questions used in a Form.
Definition: mitkQuestion.h:38