Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkMultipleChoiceQuestionWidget.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 QmitkMultipleChoiceQuestionWidget_h
14 #define QmitkMultipleChoiceQuestionWidget_h
15 
16 #include <QmitkQuestionWidget.h>
18 
19 class QButtonGroup;
20 class QGridLayout;
21 class QLineEdit;
22 class QPushButton;
23 
33 {
34  Q_OBJECT
35 
36 public:
41  explicit QmitkMultipleChoiceQuestionWidget(QWidget* parent = nullptr);
42 
46 
52  QmitkQuestionWidget* CreateAnother(QWidget* parent = nullptr) const override;
53 
59 
65  void SetQuestion(mitk::Forms::Question* question) override;
66 
69  void Reset() override;
70 
71 private:
72  void CreateWidgets();
73  void RemoveWidgets();
74 
75  void OnIdClicked(int id);
76  void OnTextEdited(const QString& text);
77  void OnEditingFinished();
78  void OnClearButtonClicked();
79 
81 
82  QGridLayout* m_Layout;
83  QButtonGroup* m_ButtonGroup;
84  QLineEdit* m_OtherLineEdit;
85  int m_OtherId;
86  QPushButton* m_ClearButton;
87 };
88 
89 #endif
#define MITKFORMSUI_EXPORT
Question widget for MultipleChoiceQuestion, displaying radio buttons with an optional "Other" field.
void Reset() override
Reset the radio button selection, clear the "Other" text, and clear all responses.
~QmitkMultipleChoiceQuestionWidget() override
Destructor.
QmitkMultipleChoiceQuestionWidget(QWidget *parent=nullptr)
Construct the widget.
QmitkQuestionWidget * CreateAnother(QWidget *parent=nullptr) const override
Create a new QmitkMultipleChoiceQuestionWidget instance.
void SetQuestion(mitk::Forms::Question *question) override
Initialize the widget for a MultipleChoiceQuestion.
mitk::Forms::Question * GetQuestion() const override
Get the associated MultipleChoiceQuestion.
Abstract base class for all types of question widgets used in a QmitkForm.
A Question whose possible responses are represented by radio buttons.
Abstract base class for all types of questions used in a Form.
Definition: mitkQuestion.h:38