00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-05-12 19:14:45 +0200 (Di, 12 Mai 2009) $ 00006 Version: $Revision: 1.12 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef QmitkIGTLoggerWidget_H 00019 #define QmitkIGTLoggerWidget_H 00020 00021 //QT headers 00022 #include <QWidget> 00023 00024 //mitk headers 00025 #include "MitkIGTUIExports.h" 00026 #include "mitkNavigationTool.h" 00027 #include <mitkDataStorage.h> 00028 #include "mitkNavigationDataRecorder.h" 00029 00030 //ui header 00031 #include "ui_QmitkIGTLoggerWidgetControls.h" 00032 00040 class MitkIGTUI_EXPORT QmitkIGTLoggerWidget : public QWidget 00041 { 00042 Q_OBJECT 00043 00044 public: 00045 static const std::string VIEW_ID; 00046 00047 QmitkIGTLoggerWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); 00048 ~QmitkIGTLoggerWidget(); 00049 00050 void SetDataStorage(mitk::DataStorage* dataStorage); 00051 void SetRecorder(mitk::NavigationDataRecorder::Pointer recorder); 00052 00053 protected slots: 00054 void OnChangePressed(); 00055 void OnStartRecording(); 00056 void OnRecording(); 00057 void UpdateRecordingTime(); 00058 void StopRecording(); 00059 void UpdateOutputFileName(); 00060 00061 00062 00063 protected: 00064 00066 virtual void CreateConnections(); 00067 00068 virtual void CreateQtPartControl(QWidget *parent); 00069 void SetDefaultRecordingSettings(); 00070 void SetOutputFileName(); 00071 00072 Ui::QmitkIGTLoggerWidgetControls* m_Controls; 00073 00075 mitk::DataStorage::Pointer m_DataStorage; 00076 00077 mitk::NavigationDataRecorder::Pointer m_Recorder; 00078 00079 QString m_CmpFilename; 00080 QString m_Dir; 00081 QTimer* m_RecordingTimer; 00082 QString m_MilliSeconds; 00083 QString m_Samples; 00084 bool m_RecordingActivated; 00085 }; 00086 #endif