Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
QmitkAbstractTrackingDeviceWidget Class Referenceabstract

Abstract class to configure a tracking device. Inherited widgets should be registered in the Microservice (TrackingDeviceCollectionWidget), If done so, they will be included in the QmitkTrackingDeviceConfigurationWidget of the Tracking Toolbox. More...

#include <QmitkAbstractTrackingDeviceWidget.h>

Inheritance diagram for QmitkAbstractTrackingDeviceWidget:
Collaboration diagram for QmitkAbstractTrackingDeviceWidget:

Signals

void ConnectionTested (bool connected, QString output)
 

Public Member Functions

 QmitkAbstractTrackingDeviceWidget (QWidget *parent=0, Qt::WindowFlags f=0)
 
virtual ~QmitkAbstractTrackingDeviceWidget ()
 
QmitkAbstractTrackingDeviceWidgetCloneForQt (QWidget *parent=0) const
 Return pointer to copy of the object. Internally use of QmitkUSAbstractCustomWidget::Clone() with additionaly setting an internal flag that the object was really cloned. More...
 
virtual void Initialize ()=0
 Subclass must implement this method to return a pointer to a copy of the object. Please don't forget to call InitializeSuperclassWidget(), CreateQtPartControl and optionally CreateConnections during this function. More...
 
bool IsInitialized () const
 
virtual void ResetOutput ()
 Optional method to add output to a small screen in the trackingToolbox (see QmitkNDIPolarisWidget) More...
 
virtual void AddOutput (std::string)
 Optional method to add output to a small screen in the trackingToolbox (see QmitkNDIPolarisWidget) More...
 
virtual mitk::TrackingDevice::Pointer ConstructTrackingDevice ()=0
 
virtual void StoreUISettings ()
 Optional method to store and load settings of your widget (see QmitkNDIPolarisWidget) More...
 
virtual void LoadUISettings ()
 Optional method to store and load settings of your widget (see QmitkNDIPolarisWidget) More...
 
virtual bool IsDeviceInstalled ()
 Optional method to investigate if drivers etc for your device are installed. The default value is "true" as most devices don't need this information. Others however migth crash, and for these you might implement this function (see QmitkMicronTrackerWidget) More...
 

Public Attributes

std::string m_ErrorMessage
 current problem description More...
 

Static Public Attributes

static const std::string VIEW_ID
 

Protected Slots

void TestConnectionFinished (bool connected, QString output)
 
void TestConnection ()
 

Protected Member Functions

PERSISTENCE_GET_SERVICE_METHOD_MACRO void InitializeSuperclassWidget ()
 
virtual QmitkAbstractTrackingDeviceWidgetClone (QWidget *parent=0) const =0
 Subclass must implement this method to return a pointer to a copy of the object. Please don't forget to call Initialize() during this function and copy all of your settings. More...
 

Protected Attributes

QmitkTrackingDeviceConfigurationWidgetConnectionWorkerm_TestConnectionWorker
 
QThread * m_TestConnectionWorkerThread
 

Detailed Description

Abstract class to configure a tracking device. Inherited widgets should be registered in the Microservice (TrackingDeviceCollectionWidget), If done so, they will be included in the QmitkTrackingDeviceConfigurationWidget of the Tracking Toolbox.

Documentation:

  • Each implementation of this class must have a method to construct a tracking Device (ConstructTrackingDevice).
  • Please create the UI elements in a function like CreateQtPartControl (e.g. see QmitkVitrualTrackerWidget).
  • You might want to use own buttons etc., please connect them in a private CreateConnections (e.g. see QmitkVitrualTrackerWidget).
  • Due to initialization of qt during autoloading of the IGT module, you constructor should be as slim as possible and only contain a call of the QmitkAbstractTrackingDeviceWidget constructor and simple variable initialization.
  • For the initialization, you must write an Iniltialize() function, which must include a call of InitializeSuperclassWidget() and should contain calls of your private CreateConnections / CreateQtPartControl (if you implemented these).
  • For integration into the TrackingToolbox, a clone function is needed. Here, a new widget should be created, Initialize() needs to be called, and all settings of your widget should be copied.

You can Load and Store previous settings of your GUI elements (e.g. see QmitkNDIPolarisWidget). Also, you can add an output textbox to your widget to display information about your device status. It's optional, see e.g. QmitkNDIAuroraWidget. Some Devices need the information if drivers are installed on your computer. If this is necessary for your device to avoid crashes, please override IsDeviceInstalled. The default return value is true otherwise.

Definition at line 52 of file QmitkAbstractTrackingDeviceWidget.h.

Constructor & Destructor Documentation

QmitkAbstractTrackingDeviceWidget::QmitkAbstractTrackingDeviceWidget ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0 
)

Definition at line 21 of file QmitkAbstractTrackingDeviceWidget.cpp.

QmitkAbstractTrackingDeviceWidget::~QmitkAbstractTrackingDeviceWidget ( )
virtual

Member Function Documentation

virtual void QmitkAbstractTrackingDeviceWidget::AddOutput ( std::string  )
inlinevirtual
virtual QmitkAbstractTrackingDeviceWidget* QmitkAbstractTrackingDeviceWidget::Clone ( QWidget *  parent = 0) const
protectedpure virtual

Subclass must implement this method to return a pointer to a copy of the object. Please don't forget to call Initialize() during this function and copy all of your settings.

Implemented in QmitkNDIPolarisWidget, QmitkNDIAuroraWidget, QmitkMicronTrackerWidget, QmitkNPOptitrackWidget, QmitkVirtualTrackerWidget, and QmitkOpenIGTLinkWidget.

Referenced by CloneForQt().

QmitkAbstractTrackingDeviceWidget * QmitkAbstractTrackingDeviceWidget::CloneForQt ( QWidget *  parent = 0) const

Return pointer to copy of the object. Internally use of QmitkUSAbstractCustomWidget::Clone() with additionaly setting an internal flag that the object was really cloned.

Definition at line 69 of file QmitkAbstractTrackingDeviceWidget.cpp.

References Clone(), IsInitialized(), and MITK_ERROR.

void QmitkAbstractTrackingDeviceWidget::ConnectionTested ( bool  connected,
QString  output 
)
signal
virtual mitk::TrackingDevice::Pointer QmitkAbstractTrackingDeviceWidget::ConstructTrackingDevice ( )
pure virtual
virtual void QmitkAbstractTrackingDeviceWidget::Initialize ( )
pure virtual

Subclass must implement this method to return a pointer to a copy of the object. Please don't forget to call InitializeSuperclassWidget(), CreateQtPartControl and optionally CreateConnections during this function.

Implemented in QmitkMicronTrackerWidget, QmitkNDIAbstractDeviceWidget, QmitkNDIAuroraWidget, QmitkNDIPolarisWidget, QmitkNPOptitrackWidget, QmitkOpenIGTLinkWidget, and QmitkVirtualTrackerWidget.

Referenced by mitk::TrackingDeviceWidgetCollection::GetTrackingDeviceWidgetClone().

virtual bool QmitkAbstractTrackingDeviceWidget::IsDeviceInstalled ( )
inlinevirtual

Optional method to investigate if drivers etc for your device are installed. The default value is "true" as most devices don't need this information. Others however migth crash, and for these you might implement this function (see QmitkMicronTrackerWidget)

Reimplemented in QmitkMicronTrackerWidget, and QmitkNPOptitrackWidget.

Definition at line 132 of file QmitkAbstractTrackingDeviceWidget.h.

Referenced by QmitkTrackingDeviceConfigurationWidget::LoadUISettings(), and QmitkTrackingDeviceConfigurationWidget::TrackingDeviceChanged().

bool QmitkAbstractTrackingDeviceWidget::IsInitialized ( ) const
inline

Definition at line 76 of file QmitkAbstractTrackingDeviceWidget.h.

Referenced by CloneForQt().

virtual void QmitkAbstractTrackingDeviceWidget::LoadUISettings ( )
inlinevirtual

Optional method to store and load settings of your widget (see QmitkNDIPolarisWidget)

Reimplemented in QmitkNDIPolarisWidget, QmitkMicronTrackerWidget, and QmitkNDIAuroraWidget.

Definition at line 125 of file QmitkAbstractTrackingDeviceWidget.h.

Referenced by QmitkTrackingDeviceConfigurationWidget::LoadUISettings().

virtual void QmitkAbstractTrackingDeviceWidget::ResetOutput ( )
inlinevirtual

Optional method to add output to a small screen in the trackingToolbox (see QmitkNDIPolarisWidget)

Reimplemented in QmitkNDIPolarisWidget, QmitkMicronTrackerWidget, QmitkNPOptitrackWidget, and QmitkNDIAuroraWidget.

Definition at line 110 of file QmitkAbstractTrackingDeviceWidget.h.

Referenced by QmitkTrackingDeviceConfigurationWidget::ResetOutput().

virtual void QmitkAbstractTrackingDeviceWidget::StoreUISettings ( )
inlinevirtual

Optional method to store and load settings of your widget (see QmitkNDIPolarisWidget)

Reimplemented in QmitkNDIPolarisWidget, QmitkMicronTrackerWidget, and QmitkNDIAuroraWidget.

Definition at line 120 of file QmitkAbstractTrackingDeviceWidget.h.

Referenced by QmitkTrackingDeviceConfigurationWidget::StoreUISettings().

void QmitkAbstractTrackingDeviceWidget::TestConnection ( )
protectedslot
void QmitkAbstractTrackingDeviceWidget::TestConnectionFinished ( bool  connected,
QString  output 
)
protectedslot

Member Data Documentation

std::string QmitkAbstractTrackingDeviceWidget::m_ErrorMessage

current problem description

Definition at line 134 of file QmitkAbstractTrackingDeviceWidget.h.

Referenced by InitializeSuperclassWidget().

QmitkTrackingDeviceConfigurationWidgetConnectionWorker* QmitkAbstractTrackingDeviceWidget::m_TestConnectionWorker
protected
QThread* QmitkAbstractTrackingDeviceWidget::m_TestConnectionWorkerThread
protected
const std::string QmitkAbstractTrackingDeviceWidget::VIEW_ID
static

Definition at line 57 of file QmitkAbstractTrackingDeviceWidget.h.


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