33 #include <QAbstractItemModel> 34 #include <QStringList> 51 QAbstractItemModel *SourceModel_ =
nullptr;
56 QMultiHash<QPersistentModelIndex, FlatTreeItem_ptr>
Items_;
60 int columnCount (
const QModelIndex& = {})
const override;
61 QVariant data (
const QModelIndex&,
int = Qt::DisplayRole)
const override;
62 QVariant headerData (
int, Qt::Orientation,
int)
const override;
63 Qt::ItemFlags flags (
const QModelIndex&)
const override;
64 QModelIndex index (
int,
int,
const QModelIndex& = {})
const override;
65 QModelIndex parent (
const QModelIndex&)
const override;
66 int rowCount (
const QModelIndex& = {})
const override;
68 Qt::DropActions supportedDropActions ()
const override;
69 QStringList mimeTypes ()
const override;
70 QMimeData* mimeData (
const QModelIndexList& indexes)
const override;
71 bool dropMimeData (
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex& parent)
override;
73 void SetSourceModel (QAbstractItemModel*);
74 QAbstractItemModel* GetSourceModel ()
const;
75 QModelIndex MapToSource (
const QModelIndex&)
const;
78 void HandleRowInserted (
int);
79 void HandleRowRemoved (
int);
80 void AddForTag (
const QString&,
const QPersistentModelIndex&);
81 void RemoveFromTag (
const QString&,
const QPersistentModelIndex&);
82 void HandleChanged (
const QModelIndex&);
87 void handleDataChanged (
const QModelIndex&,
const QModelIndex&);
88 void handleModelReset ();
89 void handleRowsInserted (
const QModelIndex&,
int,
int);
90 void handleRowsAboutToBeRemoved (
const QModelIndex&,
int,
int);
QMultiMap< QDateTime, QString > Items_
std::shared_ptr< FlatTreeItem > FlatTreeItem_ptr