35 #include <QAbstractProxyModel> 36 #include <QStringList> 62 mutable bool DefaultAcceptsRowImpl_ =
false;
71 QStack<std::function<void ()>> RemovalRefreshers_;
83 MergeModel (
const QStringList& headers, QObject *parent = 0);
85 int columnCount (
const QModelIndex& = QModelIndex ())
const override;
86 QVariant headerData (
int, Qt::Orientation,
int = Qt::DisplayRole)
const override;
87 QVariant data (
const QModelIndex&,
int = Qt::DisplayRole)
const override;
88 Qt::ItemFlags flags (
const QModelIndex&)
const override;
89 QModelIndex index (
int,
int,
const QModelIndex& = QModelIndex ())
const override;
90 QModelIndex parent (
const QModelIndex&)
const override;
91 int rowCount (
const QModelIndex& = QModelIndex ())
const override;
97 QStringList mimeTypes ()
const override;
109 QMimeData* mimeData (
const QModelIndexList& indices)
const override;
117 virtual QModelIndex mapFromSource (
const QModelIndex& index)
const;
125 virtual QModelIndex mapToSource (
const QModelIndex& index)
const;
135 virtual void setSourceModel (QAbstractItemModel*);
141 void SetHeaders (
const QStringList& headers);
155 void AddModel (QAbstractItemModel *model);
163 void RemoveModel (QAbstractItemModel *model);
169 size_t Size ()
const;
185 iterator FindModel (
const QAbstractItemModel *model);
228 iterator GetModelForRow (
int row,
int *starting = 0);
240 virtual void handleColumnsAboutToBeInserted (
const QModelIndex&,
int,
int);
241 virtual void handleColumnsAboutToBeRemoved (
const QModelIndex&,
int,
int);
242 virtual void handleColumnsInserted (
const QModelIndex&,
int,
int);
243 virtual void handleColumnsRemoved (
const QModelIndex&,
int,
int);
244 virtual void handleDataChanged (
const QModelIndex&,
const QModelIndex&);
245 virtual void handleRowsAboutToBeInserted (
const QModelIndex&,
int,
int);
246 virtual void handleRowsAboutToBeRemoved (
const QModelIndex&,
int,
int);
247 virtual void handleRowsInserted (
const QModelIndex&,
int,
int);
248 virtual void handleRowsRemoved (
const QModelIndex&,
int,
int);
249 virtual void handleModelAboutToBeReset ();
250 virtual void handleModelReset ();
264 virtual bool AcceptsRow (QAbstractItemModel *model,
int row)
const;
266 int RowCount (QAbstractItemModel*)
const;
std::shared_ptr< ModelItem > ModelItem_ptr
models_t::const_iterator const_iterator
models_t::iterator iterator
QList< QPointer< QAbstractItemModel > > models_t