Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::Forms::UI::IQuestionWidgetFactory Class Referenceabstract

Register widgets for questions. More...

#include <mitkIQuestionWidgetFactory.h>

Inheritance diagram for mitk::Forms::UI::IQuestionWidgetFactory:

Public Member Functions

virtual ~IQuestionWidgetFactory ()
 Virtual destructor. More...
 
virtual void Register (const std::string &questionType, QmitkQuestionWidget *widgetPrototype)=0
 Register a QmitkQuestionWidget subclass for a certain Question type string. More...
 
virtual QmitkQuestionWidget * Create (Question *question, QWidget *parent=nullptr) const =0
 Create an instance of a matching QmitkQuestionWidget subclass for a certain question. More...
 

Static Public Member Functions

static IQuestionWidgetFactory * GetInstance ()
 Obtain a pointer to the single instance of this service. More...
 

Detailed Description

Register widgets for questions.

This is a service interface. Obtain a pointer to its single instance via GetInstance().

Each QmitkQuestionWidget subclass must be registered by calling Register(), which is typically done in the module activator class. After QmitkQuestionWidget subclasses are registered, instances of them can be created with Create() based on their matching type of Question.

Definition at line 35 of file mitkIQuestionWidgetFactory.h.

Constructor & Destructor Documentation

◆ ~IQuestionWidgetFactory()

virtual mitk::Forms::UI::IQuestionWidgetFactory::~IQuestionWidgetFactory ( )
virtual

Virtual destructor.

Member Function Documentation

◆ Create()

virtual QmitkQuestionWidget* mitk::Forms::UI::IQuestionWidgetFactory::Create ( Question *  question,
QWidget *  parent = nullptr 
) const
pure virtual

Create an instance of a matching QmitkQuestionWidget subclass for a certain question.

The widget is created via QmitkQuestionWidget::CreateAnother() and the given question is passed to QmitkQuestionWidget::SetQuestion().

Parameters
[in]questionThe question for which to create a widget. The widget does not take ownership.
[in]parentThe parent widget for the new widget.
Returns
A pointer to the new widget. The caller takes ownership.
See also
QmitkQuestionWidget::CreateAnother(), QmitkQuestionWidget::SetQuestion()

Implemented in mitk::Forms::UI::QuestionWidgetFactory.

◆ GetInstance()

static IQuestionWidgetFactory* mitk::Forms::UI::IQuestionWidgetFactory::GetInstance ( )
static

Obtain a pointer to the single instance of this service.

Returns
A pointer to the IQuestionWidgetFactory service, or nullptr if unavailable.

◆ Register()

virtual void mitk::Forms::UI::IQuestionWidgetFactory::Register ( const std::string &  questionType,
QmitkQuestionWidget *  widgetPrototype 
)
pure virtual

Register a QmitkQuestionWidget subclass for a certain Question type string.

The service takes over ownership of the passed QmitkQuestionWidget pointer.

Parameters
[in]questionTypeThe type string that identifies the Question subclass (as returned by Question::GetType()).
[in]widgetPrototypeA prototype widget instance. Ownership is transferred to the service.
See also
Question::GetType()

Implemented in mitk::Forms::UI::QuestionWidgetFactory.


The documentation for this class was generated from the following file: