Signals | Public Member Functions | Static Public Attributes | Protected Slots | Protected Member Functions | Protected Attributes

QmitkTrackingDeviceConfigurationWidget Class Reference

An object of this class offers an UI to configurate a tracking device. If the user finished the configuration process and a fully configurated tracking device is availiabe the object emits a signal "TrackingDeviceConfigurationFinished()". You can then get the tracking device by calling the method GetTrackingDevice(). More...

#include <QmitkTrackingDeviceConfigurationWidget.h>

Collaboration diagram for QmitkTrackingDeviceConfigurationWidget:
Collaboration graph
[legend]

List of all members.

Signals

void TrackingDeviceConfigurationFinished ()
void TrackingDeviceConfigurationReseted ()

Public Member Functions

 QmitkTrackingDeviceConfigurationWidget (QWidget *parent=0, Qt::WindowFlags f=0)
 ~QmitkTrackingDeviceConfigurationWidget ()
mitk::TrackingDevice::Pointer GetTrackingDevice ()
void Reset ()
void EnableUserReset (bool enable)

Static Public Attributes

static const std::string VIEW_ID = "org.mitk.views.trackingdeviceconfigurationwidget"

Protected Slots

void TrackingDeviceChanged ()
void TestConnection ()
void Finished ()
void ResetByUser ()
virtual
mitk::TrackingDevice::Pointer 
ConfigureNDI5DTrackingDevice ()
mitk::TrackingDevice::Pointer ConfigureNDI6DTrackingDevice ()

Protected Member Functions

virtual void CreateConnections ()
 Creation of the connections.
virtual void CreateQtPartControl (QWidget *parent)
void ResetOutput ()
void AddOutput (std::string s)
mitk::TrackingDevice::Pointer ConstructTrackingDevice ()

Protected Attributes

Ui::QmitkTrackingDeviceConfigurationWidgetControlsm_Controls
std::stringstream m_output
mitk::TrackingDevice::Pointer m_TrackingDevice
bool m_TrackingDeviceConfigurated

Detailed Description

An object of this class offers an UI to configurate a tracking device. If the user finished the configuration process and a fully configurated tracking device is availiabe the object emits a signal "TrackingDeviceConfigurationFinished()". You can then get the tracking device by calling the method GetTrackingDevice().

Documentation: Once the tracking device is configurated there are two ways to reset the UI to allow the user for configuring a new device. The method Reset() can be called and there is also a button "reset" which can be pressed by the user. In both cases a signal "TrackingDeviceConfigurationReseted()" is emitted and you may wait for a new configurated tracking device.

The possibility to reset the configuration by the user can also be switched of by calling the method EnableUserReset(boolean enable).

Definition at line 44 of file QmitkTrackingDeviceConfigurationWidget.h.


Constructor & Destructor Documentation

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

Definition at line 26 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References AddOutput(), CreateConnections(), CreateQtPartControl(), m_Controls, and ResetOutput().

  : QWidget(parent, f)
{
  m_Controls = NULL;
  CreateQtPartControl(this);
  CreateConnections();
  
  //reset a few things
  ResetOutput();
  AddOutput("<br>NDI Polaris selected");
}
QmitkTrackingDeviceConfigurationWidget::~QmitkTrackingDeviceConfigurationWidget (  )

Definition at line 39 of file QmitkTrackingDeviceConfigurationWidget.cpp.

{
}

Member Function Documentation

void QmitkTrackingDeviceConfigurationWidget::AddOutput ( std::string  s ) [protected]

Definition at line 145 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References m_Controls, m_output, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_outputTextAurora, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_outputTextMicronTracker, and Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_outputTextPolaris.

Referenced by QmitkTrackingDeviceConfigurationWidget(), TestConnection(), and TrackingDeviceChanged().

  {
  //print output
  m_output << s;
  m_Controls->m_outputTextAurora->setHtml(QString(m_output.str().c_str()));
  m_Controls->m_outputTextPolaris->setHtml(QString(m_output.str().c_str()));
  m_Controls->m_outputTextMicronTracker->setHtml(QString(m_output.str().c_str()));
  m_Controls->m_outputTextPolaris->verticalScrollBar()->setValue(m_Controls->m_outputTextPolaris->verticalScrollBar()->maximum());
  m_Controls->m_outputTextAurora->verticalScrollBar()->setValue(m_Controls->m_outputTextAurora->verticalScrollBar()->maximum());
  m_Controls->m_outputTextMicronTracker->verticalScrollBar()->setValue(m_Controls->m_outputTextMicronTracker->verticalScrollBar()->maximum());
  repaint();
  }
mitk::TrackingDevice::Pointer QmitkTrackingDeviceConfigurationWidget::ConfigureNDI5DTrackingDevice (  ) [protected, virtual, slot]

Definition at line 186 of file QmitkTrackingDeviceConfigurationWidget.cpp.

Referenced by ConstructTrackingDevice().

  {
  return NULL;
  }
mitk::TrackingDevice::Pointer QmitkTrackingDeviceConfigurationWidget::ConfigureNDI6DTrackingDevice (  ) [protected, slot]

Definition at line 191 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_comPortSpinBoxAurora, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_comPortSpinBoxPolaris, m_Controls, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_trackingDeviceChooser, and mitk::NDITrackingDevice::New().

Referenced by ConstructTrackingDevice().

  {
  mitk::NDITrackingDevice::Pointer tempTrackingDevice = mitk::NDITrackingDevice::New();
  int comPort = 0;
  if (m_Controls->m_trackingDeviceChooser->currentIndex()==1) comPort = m_Controls->m_comPortSpinBoxAurora->value();
  else comPort = m_Controls->m_comPortSpinBoxPolaris->value();
  tempTrackingDevice->SetPortNumber(static_cast<mitk::SerialCommunication::PortNumber>(comPort)); //set the com port
  mitk::TrackingDevice::Pointer returnValue = static_cast<mitk::TrackingDevice*>(tempTrackingDevice);
  return returnValue;
  }
mitk::TrackingDevice::Pointer QmitkTrackingDeviceConfigurationWidget::ConstructTrackingDevice (  ) [protected]

Definition at line 157 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References ConfigureNDI5DTrackingDevice(), ConfigureNDI6DTrackingDevice(), m_Controls, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_radioPolaris5D, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_trackingDeviceChooser, mitk::NDIAurora, mitk::NDIPolaris, and mitk::ClaronTrackingDevice::New().

Referenced by Finished(), and TestConnection().

  {
  mitk::TrackingDevice::Pointer returnValue;
  //#### Step 1: configure tracking device:
  if (m_Controls->m_trackingDeviceChooser->currentIndex()==0)//NDI Polaris
      {
      if(m_Controls->m_radioPolaris5D->isChecked()) //5D Tracking
        {
        //not yet in the open source part so we'll only get NULL here.
        returnValue = ConfigureNDI5DTrackingDevice();
        }
      else //6D Tracking
        {
        returnValue = ConfigureNDI6DTrackingDevice();
        returnValue->SetType(mitk::NDIPolaris);
        }
      }
  else if (m_Controls->m_trackingDeviceChooser->currentIndex()==1)//NDI Aurora
        {
        returnValue = ConfigureNDI6DTrackingDevice();
        returnValue->SetType(mitk::NDIAurora);
        }
  else if (m_Controls->m_trackingDeviceChooser->currentIndex()==2)//ClaronTechnology MicronTracker 2
        {
        returnValue = mitk::ClaronTrackingDevice::New();
        }
  return returnValue;
  }
void QmitkTrackingDeviceConfigurationWidget::CreateConnections (  ) [protected, virtual]
void QmitkTrackingDeviceConfigurationWidget::CreateQtPartControl ( QWidget *  parent ) [protected, virtual]
void QmitkTrackingDeviceConfigurationWidget::EnableUserReset ( bool  enable )

Definition at line 83 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References m_Controls, and Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_resetButton.

{
  if (enable) m_Controls->m_resetButton->setVisible(true);
  else m_Controls->m_resetButton->setVisible(false);
}
void QmitkTrackingDeviceConfigurationWidget::Finished (  ) [protected, slot]

Definition at line 111 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References Ui_QmitkTrackingDeviceConfigurationWidgetControls::choose_tracking_device_label, Ui_QmitkTrackingDeviceConfigurationWidgetControls::configuration_finished_label, ConstructTrackingDevice(), m_Controls, m_TrackingDevice, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_trackingDeviceChooser, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_TrackingSystemWidget, and TrackingDeviceConfigurationFinished().

Referenced by CreateConnections().

  {
  m_TrackingDevice = ConstructTrackingDevice();
  m_Controls->m_TrackingSystemWidget->setEnabled(false);
  m_Controls->m_trackingDeviceChooser->setEnabled(false);
  m_Controls->choose_tracking_device_label->setEnabled(false);
  m_Controls->configuration_finished_label->setText("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n<p align=\"right\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;\"><span style=\" font-weight:600;\">Configuration finished</span></p></body></html>");
  emit TrackingDeviceConfigurationFinished();
  }
mitk::TrackingDevice::Pointer QmitkTrackingDeviceConfigurationWidget::GetTrackingDevice (  )

Definition at line 202 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References m_TrackingDevice.

  {
  return this->m_TrackingDevice;
  }
void QmitkTrackingDeviceConfigurationWidget::Reset (  )

Definition at line 121 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References Ui_QmitkTrackingDeviceConfigurationWidgetControls::choose_tracking_device_label, Ui_QmitkTrackingDeviceConfigurationWidgetControls::configuration_finished_label, m_Controls, m_TrackingDevice, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_trackingDeviceChooser, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_TrackingSystemWidget, and TrackingDeviceConfigurationReseted().

Referenced by ResetByUser().

  {
  m_TrackingDevice = NULL;
  m_Controls->m_TrackingSystemWidget->setEnabled(true);
  m_Controls->m_trackingDeviceChooser->setEnabled(true);
  m_Controls->choose_tracking_device_label->setEnabled(true);
  m_Controls->configuration_finished_label->setText("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n<p align=\"right\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;\"><span style=\" font-weight:600;\">Press \"Finished\" to confirm configuration</span></p></body></html>");
  emit TrackingDeviceConfigurationReseted();
  }
void QmitkTrackingDeviceConfigurationWidget::ResetByUser (  ) [protected, slot]

Definition at line 131 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References Reset().

Referenced by CreateConnections().

  {
  Reset();
  }
void QmitkTrackingDeviceConfigurationWidget::ResetOutput (  ) [protected]

Definition at line 137 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References m_Controls, m_output, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_outputTextAurora, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_outputTextMicronTracker, and Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_outputTextPolaris.

Referenced by QmitkTrackingDeviceConfigurationWidget(), and TrackingDeviceChanged().

  {
  m_output.str("");
  m_output <<"<body style=\" font-family:\'MS Shell Dlg 2\'; font-size:7pt; font-weight:400; font-style:normal;\" bgcolor=black><span style=\"color:#ffffff;\"><u>output:</u>";
  m_Controls->m_outputTextAurora->setHtml(QString(m_output.str().c_str()));
  m_Controls->m_outputTextPolaris->setHtml(QString(m_output.str().c_str()));
  m_Controls->m_outputTextMicronTracker->setHtml(QString(m_output.str().c_str()));
  }
void QmitkTrackingDeviceConfigurationWidget::TestConnection (  ) [protected, slot]

Definition at line 89 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References AddOutput(), and ConstructTrackingDevice().

Referenced by CreateConnections().

{
//#### Step 1: construct a tracking device:
mitk::TrackingDevice::Pointer testTrackingDevice = ConstructTrackingDevice();

//#### Step 2: test connection and start tracking, generate output
AddOutput("<br>testing connection <br>  ...");
if (testTrackingDevice->OpenConnection())
  {
  AddOutput(" OK");
  AddOutput("<br>testing tracking <br>  ...");
  if (testTrackingDevice->StartTracking()) 
    {
    AddOutput(" OK");
    if (!testTrackingDevice->StopTracking())AddOutput("<br>ERROR while stop tracking<br>");
    }
  else AddOutput(" ERROR!");
  if (!testTrackingDevice->CloseConnection())AddOutput("<br>ERROR while closing connection<br>");
  }
else AddOutput(" ERROR!");
}
void QmitkTrackingDeviceConfigurationWidget::TrackingDeviceChanged (  ) [protected, slot]

Definition at line 66 of file QmitkTrackingDeviceConfigurationWidget.cpp.

References AddOutput(), m_Controls, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_trackingDeviceChooser, m_TrackingDeviceConfigurated, Ui_QmitkTrackingDeviceConfigurationWidgetControls::m_TrackingSystemWidget, and ResetOutput().

Referenced by CreateConnections().

{
  //show the correspondig widget
  m_Controls->m_TrackingSystemWidget->setCurrentIndex(m_Controls->m_trackingDeviceChooser->currentIndex());
  
  //the new trackingdevice is not configurated yet
  m_TrackingDeviceConfigurated = false;
  
  //reset output
  ResetOutput();

  //print output
  if (m_Controls->m_trackingDeviceChooser->currentIndex()==0) AddOutput("<br>NDI Polaris selected");        //NDI Polaris
  else if (m_Controls->m_trackingDeviceChooser->currentIndex()==1) AddOutput("<br>NDI Aurora selected");    //NDI Aurora
  else if (m_Controls->m_trackingDeviceChooser->currentIndex()==2) AddOutput("<br>Microntracker selected"); //ClaronTechnology MicronTracker 2
}
void QmitkTrackingDeviceConfigurationWidget::TrackingDeviceConfigurationFinished (  ) [signal]

Referenced by Finished().

void QmitkTrackingDeviceConfigurationWidget::TrackingDeviceConfigurationReseted (  ) [signal]

Referenced by Reset().


Member Data Documentation

std::stringstream QmitkTrackingDeviceConfigurationWidget::m_output [protected]

Definition at line 91 of file QmitkTrackingDeviceConfigurationWidget.h.

Referenced by AddOutput(), and ResetOutput().

Definition at line 93 of file QmitkTrackingDeviceConfigurationWidget.h.

Referenced by Finished(), GetTrackingDevice(), and Reset().

Definition at line 94 of file QmitkTrackingDeviceConfigurationWidget.h.

Referenced by TrackingDeviceChanged().

const std::string QmitkTrackingDeviceConfigurationWidget::VIEW_ID = "org.mitk.views.trackingdeviceconfigurationwidget" [static]

Definition at line 49 of file QmitkTrackingDeviceConfigurationWidget.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines