00001 #ifndef QmitkPointListWidget_H 00002 #define QmitkPointListWidget_H 00003 00004 #include <QmitkPointListView.h> 00005 #include <QmitkPointListModel.h> 00006 #include "QmitkExtExports.h" 00007 00008 #include <mitkDataNode.h> 00009 #include <mitkPointSet.h> 00010 #include <mitkPointSetInteractor.h> 00011 #include <QmitkStdMultiWidget.h> 00012 00013 00014 #include <QPushButton> 00015 00039 class QmitkExt_EXPORT QmitkPointListWidget : public QWidget 00040 { 00041 Q_OBJECT 00042 00043 public: 00044 QmitkPointListWidget(QWidget *parent = 0, int orientation = 0); 00045 ~QmitkPointListWidget(); 00046 00047 void SetupConnections(); 00048 00050 void SetPointSet(mitk::PointSet* newPs); 00051 mitk::PointSet* GetPointSet(); 00052 00054 void SetPointSetNode(mitk::DataNode* newNode); 00055 mitk::DataNode* GetPointSetNode(); 00056 00058 void SetMultiWidget(QmitkStdMultiWidget* multiWidget); 00059 00061 void OnNodeDeleted( const itk::EventObject & e ); 00062 00063 public slots: 00064 void DeactivateInteractor(bool deactivate); 00065 void EnableEditButton(bool enabled); 00066 00067 signals: 00069 void EditPointSets(bool active); 00071 void PointSelectionChanged(); 00073 void PointListChanged(); 00074 00075 protected slots: 00076 void OnBtnSavePoints(); 00077 void OnBtnLoadPoints(); 00078 void RemoveSelectedPoint(); 00079 void MoveSelectedPointDown(); 00080 void MoveSelectedPointUp(); 00081 void OnBtnAddPoint(bool checked); 00082 //void OnBtnSetPointsMode(bool checked); 00083 00084 void OnListDoubleClick(); 00085 00086 protected: 00087 00088 void SetupUi(); 00089 void ObserveNewNode(mitk::DataNode* node); 00090 00091 QmitkPointListView* m_PointListView; 00092 QmitkStdMultiWidget* m_MultiWidget; 00093 00094 00095 mitk::DataNode::Pointer m_PointSetNode; 00096 00097 int m_Orientation; 00098 00099 QPushButton* m_MovePointUpBtn; 00100 QPushButton* m_MovePointDownBtn; 00101 QPushButton* m_RemovePointBtn; 00102 QPushButton* m_SavePointsBtn; 00103 QPushButton* m_LoadPointsBtn; 00104 QPushButton* m_ToggleAddPoint; 00105 00106 00107 mitk::PointSetInteractor::Pointer m_Interactor; 00108 int m_TimeStep; 00109 bool m_EditAllowed; 00110 unsigned long m_NodeObserverTag; 00111 00112 }; 00113 00114 #endif