34 #include <QAbstractProxyModel> 35 #include <QStringList> 61 mutable bool DefaultAcceptsRowImpl_ =
false;
70 QStack<std::function<void ()>> RemovalRefreshers_;
82 MergeModel (
const QStringList& headers, QObject *parent = 0);
84 int columnCount (
const QModelIndex& = QModelIndex ())
const override;
85 QVariant headerData (
int, Qt::Orientation,
int = Qt::DisplayRole)
const override;
86 QVariant data (
const QModelIndex&,
int = Qt::DisplayRole)
const override;
87 Qt::ItemFlags flags (
const QModelIndex&)
const override;
88 QModelIndex index (
int,
int,
const QModelIndex& = QModelIndex ())
const override;
89 QModelIndex parent (
const QModelIndex&)
const override;
90 int rowCount (
const QModelIndex& = QModelIndex ())
const override;
96 QStringList mimeTypes ()
const override;
108 QMimeData* mimeData (
const QModelIndexList& indices)
const override;
116 virtual QModelIndex mapFromSource (
const QModelIndex& index)
const;
124 virtual QModelIndex mapToSource (
const QModelIndex& index)
const;
134 virtual void setSourceModel (QAbstractItemModel*);
140 void SetHeaders (
const QStringList& headers);
154 void AddModel (QAbstractItemModel *model);
162 void RemoveModel (QAbstractItemModel *model);
168 size_t Size ()
const;
176 const_iterator FindModel (
const QAbstractItemModel *model)
const;
184 iterator FindModel (
const QAbstractItemModel *model);
195 int GetStartingRow (const_iterator it)
const;
214 const_iterator GetModelForRow (
int row,
int *starting = 0)
const;
227 iterator GetModelForRow (
int row,
int *starting = 0);
239 virtual void handleColumnsAboutToBeInserted (
const QModelIndex&,
int,
int);
240 virtual void handleColumnsAboutToBeRemoved (
const QModelIndex&,
int,
int);
241 virtual void handleColumnsInserted (
const QModelIndex&,
int,
int);
242 virtual void handleColumnsRemoved (
const QModelIndex&,
int,
int);
243 virtual void handleDataChanged (
const QModelIndex&,
const QModelIndex&);
244 virtual void handleRowsAboutToBeInserted (
const QModelIndex&,
int,
int);
245 virtual void handleRowsAboutToBeRemoved (
const QModelIndex&,
int,
int);
246 virtual void handleRowsInserted (
const QModelIndex&,
int,
int);
247 virtual void handleRowsRemoved (
const QModelIndex&,
int,
int);
248 virtual void handleModelAboutToBeReset ();
249 virtual void handleModelReset ();
263 virtual bool AcceptsRow (QAbstractItemModel *model,
int row)
const;
265 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