MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
QmitkNDIConfigurationWidget.h
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
13#ifndef QmitkNDIConfigurationWidget_h
14#define QmitkNDIConfigurationWidget_h
15
16#include "ui_QmitkNDIConfigurationWidget.h"
19#include "QStringList"
20#include "MitkIGTUIExports.h"
21#include "mitkNodePredicateBase.h"
22
23#include "mitkNavigationTool.h"
24
26namespace mitk
27{
28 class DataStorage;
29};
30
39class MITKIGTUI_EXPORT QmitkNDIConfigurationWidget : public QWidget
40{
41 Q_OBJECT // this is needed for all Qt objects that should have a MOC object (everything that derives from QObject)
42public:
43 QmitkNDIConfigurationWidget(QWidget* parent);
45
46 DEPRECATED(std::string GetDeviceName() const);
47 DEPRECATED(mitk::NDITrackingDevice* GetTracker() const);
48 DEPRECATED(mitk::DataStorage* GetDataStorage() const);
49 DEPRECATED(mitk::NodePredicateBase* GetPredicate() const);
50 DEPRECATED(const QStringList& GetToolTypes() const);
51 DEPRECATED(void SetToolTypes(const QStringList& types));
52 DEPRECATED(void SetDataStorage(mitk::DataStorage* ds));
53 DEPRECATED(void SetPredicate(mitk::NodePredicateBase::Pointer p));
54 DEPRECATED(void SetTagPropertyName(const std::string& name));
55 DEPRECATED(void SetTagProperty(mitk::BaseProperty::Pointer prop));
56
57 DEPRECATED(const QString GetToolType(unsigned int index) const);
58 DEPRECATED(const QString GetToolName(unsigned int index) const);
59 QMap<QString, unsigned int> GetToolAndTypes() const;
60 DEPRECATED(QList<unsigned int> GetToolsByToolType(QString toolType) const);
61 DEPRECATED(mitk::DataNode* GetNode(unsigned int index) const);
62
63
64 signals:
65 void ToolsAdded(QStringList tools);
67 void Connected();
69 void RepresentationChanged( int row , mitk::Surface::Pointer surface ); // returns the row number of the clicked tableitem for changing tool representation
70 void SignalToolNameChanged(int id, QString name);
71 void SignalSavedTool(int id, QString surfaceFilename);
72 void SignalLoadTool(int id, mitk::DataNode::Pointer dn);
73
74 public slots:
75 void SetDeviceName(const char* dev);
76 void ShowToolRepresentationColumn();
77 void EnableAddToolsButton(bool enable);
78 void EnableDiscoverNewToolsButton(bool enable); ;
79
80 protected slots:
81 void OnConnect();
82 void OnDisconnect();
83 void OnDiscoverTools();
84 void OnDiscoverDevices();
85 void OnAddPassiveTool();
86 void UpdateTrackerFromToolTable(const QModelIndex & topLeft, const QModelIndex & /*bottomRight*/);
87 void OnTableItemClicked(const QModelIndex & topLeft);
88 void OnDisoverDevicesBtnInfo();
89 void OnTableCellChanged(int row, int column);
90 void OnSaveTool();
91 void OnLoadTool();
92
93
94protected:
95 typedef QMap<QString, mitk::TrackingDeviceType> PortDeviceMap; // key is port name (e.g. "COM1", "/dev/ttyS0"), value will be filled with the type of tracking device at this port
102 void ScanPortsForNDITrackingDevices(PortDeviceMap& portsAndDevices);
103 mitk::TrackingDeviceType ScanPort(QString port);
104 mitk::NavigationTool::Pointer GenerateNavigationTool(mitk::TrackingTool* tool);
105
106 QStringList GetToolNamesList();
107
108 void CreateTracker();
109 void SetupTracker();
110 QString GetStatusText();
111
112 void UpdateWidgets();
113 void UpdateToolTable();
114 virtual void CreateQtPartControl(QWidget *parent);
115 virtual void CreateConnections();
116 void HidePolarisOptionsGroupbox( bool on );
117 void HideAuroraOptionsGroupbox( bool on );
118
119 Ui::QmitkNDIConfigurationWidget* m_Controls;
120 mitk::NDITrackingDevice::Pointer m_Tracker;
121 mitk::TrackingDeviceSource::Pointer m_Source;
123
126
127 mitk::Surface::Pointer LoadSurfaceFromSTLFile(QString surfaceFilename);
128
129};
130#endif
void SignalLoadTool(int id, mitk::DataNode::Pointer dn)
DEPRECATED(mitk::DataStorage *GetDataStorage() const)
DEPRECATED(mitk::DataNode *GetNode(unsigned int index) const)
DEPRECATED(void SetTagProperty(mitk::BaseProperty::Pointer prop))
set the property that is used to tag selected nodes
QMap< QString, mitk::TrackingDeviceType > PortDeviceMap
Ui::QmitkNDIConfigurationWidget * m_Controls
gui widgets
mitk::NDITrackingDevice::Pointer m_Tracker
tracking device object
DEPRECATED(const QString GetToolType(unsigned int index) const)
DEPRECATED(std::string GetDeviceName() const)
DEPRECATED(void SetDataStorage(mitk::DataStorage *ds))
set datastorage for organ node editor
DEPRECATED(mitk::NodePredicateBase *GetPredicate() const)
DEPRECATED(const QString GetToolName(unsigned int index) const)
DEPRECATED(void SetToolTypes(const QStringList &types))
set types list for type editor combobox
DEPRECATED(void SetPredicate(mitk::NodePredicateBase::Pointer p))
set predicate for organ node editor
void SignalSavedTool(int id, QString surfaceFilename)
void SignalToolNameChanged(int id, QString name)
void ToolsAdded(QStringList tools)
void RepresentationChanged(int row, mitk::Surface::Pointer surface)
mitk::TrackingDeviceSource::Pointer m_Source
DEPRECATED(void SetTagPropertyName(const std::string &name))
set name of the property that is used to tag selected nodes
DEPRECATED(const QStringList &GetToolTypes() const)
DEPRECATED(QList< unsigned int > GetToolsByToolType(QString toolType) const)
DEPRECATED(mitk::NDITrackingDevice *GetTracker() const)
An item delegate for rendering and editing mitk::Properties in a QTableView.
superclass for specific NDI tracking Devices that use serial communication.
Interface for all Tracking Tools.
IGT Exceptions.
std::string TrackingDeviceType