12#include <QAbstractItemModel>
26 QAbstractItemModel *SourceModel_ =
nullptr;
31 QMultiHash<QPersistentModelIndex, FlatTreeItem_ptr> Items_;
35 int columnCount (
const QModelIndex& = {})
const override;
36 QVariant
data (
const QModelIndex&,
int = Qt::DisplayRole)
const override;
37 QVariant
headerData (
int, Qt::Orientation,
int)
const override;
38 Qt::ItemFlags
flags (
const QModelIndex&)
const override;
39 QModelIndex
index (
int,
int,
const QModelIndex& = {})
const override;
40 QModelIndex
parent (
const QModelIndex&)
const override;
41 int rowCount (
const QModelIndex& = {})
const override;
45 QMimeData*
mimeData (
const QModelIndexList& indexes)
const override;
46 bool dropMimeData (
const QMimeData *
data, Qt::DropAction action,
int row,
int column,
const QModelIndex&
parent)
override;
53 const FlatTreeItem& ToFlatOrRoot (
const QModelIndex&)
const;
55 void HandleRowInserted (
int);
56 void HandleRowRemoved (
int);
57 void AddForTag (
const QString&,
const QPersistentModelIndex&);
58 void RemoveFromTag (
const QString&,
const QPersistentModelIndex&);
59 void HandleChanged (
const QModelIndex&);
64 void HandleDataChanged (
const QModelIndex&,
const QModelIndex&);
65 void HandleModelReset ();
66 void HandleRowsInserted (
const QModelIndex&,
int,
int);
67 void HandleRowsAboutToBeRemoved (
const QModelIndex&,
int,
int);
QVariant headerData(int, Qt::Orientation, int) const override
Qt::DropActions supportedDropActions() const override
int rowCount(const QModelIndex &={}) const override
QAbstractItemModel * GetSourceModel() const
void SetSourceModel(QAbstractItemModel *)
FlatToFoldersProxyModel(const ITagsManager *, QObject *=nullptr)
QModelIndex parent(const QModelIndex &) const override
QMimeData * mimeData(const QModelIndexList &indexes) const override
QList< QModelIndex > MapFromSource(const QModelIndex &) const
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
int columnCount(const QModelIndex &={}) const override
QVariant data(const QModelIndex &, int=Qt::DisplayRole) const override
QModelIndex MapToSource(const QModelIndex &) const
QModelIndex index(int, int, const QModelIndex &={}) const override
Qt::ItemFlags flags(const QModelIndex &) const override
QStringList mimeTypes() const override
std::shared_ptr< FlatTreeItem > FlatTreeItem_ptr