13 #ifndef QmitkDataStorageTreeModel_h
14 #define QmitkDataStorageTreeModel_h
22 #include <QAbstractListModel>
60 mitk::DataNode::Pointer
GetNode(
const QModelIndex &index)
const;
64 virtual QList<mitk::DataNode::Pointer>
GetNodeSet()
const;
81 Qt::ItemFlags
flags(
const QModelIndex &index)
const override;
82 QVariant
data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
83 QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const override;
84 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
85 int columnCount(
const QModelIndex &parent = QModelIndex())
const override;
91 QModelIndex
index(
int row,
int column,
const QModelIndex &parent = QModelIndex())
const override;
92 QModelIndex
parent(
const QModelIndex &index)
const override;
94 bool setData(
const QModelIndex &index,
const QVariant &value,
int role = Qt::EditRole)
override;
95 bool setHeaderData(
int section, Qt::Orientation orientation,
const QVariant &value,
int role = Qt::EditRole)
override;
97 const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent)
override;
101 QMimeData *
mimeData(
const QModelIndexList &indexes)
const override;
206 unsigned long m_DataStorageDeletedTag;
mitk::DataNode::Pointer GetNode(const QModelIndex &index) const
Qt::DropActions supportedDropActions() const override
QModelIndex IndexFromTreeItem(TreeItem *) const
Qt::DropActions supportedDragActions() const override
int columnCount(const QModelIndex &parent=QModelIndex()) const override
virtual QList< mitk::DataNode::Pointer > GetNodeSet() const
static const std::string COLUMN_VISIBILITY
~QmitkDataStorageTreeModel() override
virtual void RemoveNode(const mitk::DataNode *node)
QMimeData * mimeData(const QModelIndexList &indexes) const override
QList< TreeItem * > ToTreeItemPtrList(const QByteArray &ba)
QModelIndex parent(const QModelIndex &index) const override
mitk::DataNode * GetParentNode(const mitk::DataNode *node) const
QmitkDataStorageTreeModel(mitk::DataStorage *_DataStorage, bool _PlaceNewNodesOnTop=false, QObject *parent=nullptr)
void SetDataStorageDeleted()
void TreeToNodeSet(TreeItem *parent, QList< mitk::DataNode::Pointer > &vec) const
const mitk::DataStorage::Pointer GetDataStorage() const
mitk::NodePredicateBase::Pointer m_Predicate
void nodeVisibilityChanged()
virtual void SetNodeModified(const mitk::DataNode *node)
mitk::WeakPointer< mitk::DataStorage > m_DataStorage
TreeItem * TreeItemFromIndex(const QModelIndex &index) const
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
virtual void AddNode(const mitk::DataNode *node)
static QMimeData * mimeDataFromModelIndexList(const QModelIndexList &indexes)
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
static const std::string COLUMN_TYPE
QModelIndex GetIndex(const mitk::DataNode *) const
bool m_AllowHierarchyChange
void SetDataStorage(mitk::DataStorage *_DataStorage)
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
bool GetPlaceNewNodesOnTopFlag()
Qt::ItemFlags flags(const QModelIndex &index) const override
QList< TreeItem * > ToTreeItemPtrList(const QMimeData *mimeData)
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
int rowCount(const QModelIndex &parent=QModelIndex()) const override
void TreeToVector(TreeItem *parent, std::vector< TreeItem * > &vec) const
static const std::string COLUMN_NAME
bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::EditRole) override
void SetPlaceNewNodesOnTop(bool _PlaceNewNodesOnTop)
void AdjustLayerProperty()
bool m_PlaceNewNodesOnTop
QStringList mimeTypes() const override
bool m_BlockDataStorageEvents
Flag to block the data storage events if nodes are added/removed by this class.
void SetAllowHierarchyChange(bool allowHierarchyChange)
Set whether to allow hierarchy changes by dragging and dropping.
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
Class for nodes of the DataTree.
Data management class that handles 'was created by' relations.