Medical Imaging Interaction Toolkit  2025.12.02
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:
41  explicit QmitkQuestionWidget(QWidget* parent = nullptr);
43 
69  virtual QmitkQuestionWidget* CreateAnother(QWidget* parent = nullptr) const = 0;
70 
83  virtual mitk::Forms::Question* GetQuestion() const = 0;
84 
110  virtual void SetQuestion(mitk::Forms::Question* question) = 0;
111 
124  virtual void Reset() = 0;
125 
128  void SetRequirementVisible(bool visible);
131 
132 protected:
152  void InsertLayout(QLayout* layout);
153 
154 private:
155  QVBoxLayout* m_Layout;
156  QLabel* m_QuestionLabel;
157  QLabel* m_RequiredLabel;
158 };
159 
160 #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.
~QmitkQuestionWidget() override
virtual QmitkQuestionWidget * CreateAnother(QWidget *parent=nullptr) const =0
Create a new instance of the derived question widget class type.
QmitkQuestionWidget(QWidget *parent=nullptr)
void SetRequirementVisible(bool visible)
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:32