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