Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef QmitkNDIToolDelegate_h
00019 #define QmitkNDIToolDelegate_h
00020
00022 #include "MitkIGTUIExports.h"
00023 #include "mitkNodePredicateBase.h"
00024 #include "mitkBaseProperty.h"
00026 #include <QStyledItemDelegate>
00027
00029 namespace mitk
00030 {
00031 class DataStorage;
00032 class NodePredicateBase;
00033 class BaseProperty;
00034 };
00035
00041 class MitkIGTUI_EXPORT QmitkNDIToolDelegate : public QStyledItemDelegate
00042 {
00043 Q_OBJECT
00044
00045 public:
00049 QmitkNDIToolDelegate(QObject *parent = 0);
00050
00051 enum ToolTableColumns
00052 {
00053 IndexCol = 0,
00054 NameCol,
00055 SROMCol,
00056 TypeCol,
00057 StatusCol,
00058 NodeCol
00059 };
00060 enum NDIItemDataRole
00061 {
00062 NDIToolRole = 70,
00063 ToolIndexRole,
00064 FileNameRole,
00065 OrganNodeRole,
00066 TypeRole
00067 };
00068
00069
00070 void SetTypes(const QStringList& types);
00071 void SetDataStorage(mitk::DataStorage* ds);
00072 void SetPredicate(mitk::NodePredicateBase::Pointer p);
00073 void SetTagPropertyName(const std::string& name);
00074 void SetTagProperty(mitk::BaseProperty::Pointer prop);
00075
00079
00080
00081
00085 QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option
00086 , const QModelIndex &index) const;
00087
00091 void setEditorData(QWidget *editor, const QModelIndex &index) const;
00092
00096 void setModelData(QWidget *editor, QAbstractItemModel* model
00097 , const QModelIndex &index) const;
00098
00102
00103
00104 private slots:
00108 void commitAndCloseEditor();
00109 void ComboBoxCurrentIndexChanged ( int index ) ;
00110
00111
00112 private:
00113 QStringList m_Types;
00114 mitk::DataStorage* m_DataStorage;
00115 mitk::NodePredicateBase::Pointer m_Predicate;
00116 mitk::BaseProperty::Pointer m_TagProperty;
00117 std::string m_TagPropertyName;
00118 };
00119 #endif