QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
ObjectListModelBase.h
Go to the documentation of this file.
1#pragma once
2
4
7
9{
11
12public:
13 ObjectListModelBase(QObject* parent = nullptr);
14 ~ObjectListModelBase() override;
15
16 virtual void clearAndDeleteContents() = 0;
17 virtual QObject* removeOne(const QObject* object) = 0;
18 virtual bool contains(const QObject* object) = 0;
19
20 // Flat-list overrides of QAbstractItemModel — same behavior as QAbstractListModel
21 QModelIndex index(int row, int column = 0, const QModelIndex& parent = QModelIndex()) const override;
22 QModelIndex parent(const QModelIndex& child) const override;
23 int columnCount(const QModelIndex& parent = QModelIndex()) const override;
24 bool hasChildren(const QModelIndex& parent = QModelIndex()) const override;
25
26protected:
27 // Overrides from QAbstractItemModel which must be implemented by derived classes
28 int rowCount(const QModelIndex& parent = QModelIndex()) const override = 0;
29 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override = 0;
30 bool insertRows(int position, int rows, const QModelIndex& index = QModelIndex()) override = 0;
31 bool removeRows(int position, int rows, const QModelIndex& index = QModelIndex()) override = 0;
32 bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override = 0;
33
34 bool _skipDirtyFirstItem = false;
35};
Common base for QObject*-based item models (flat lists and trees).
Base class for flat QObject* list models. Inherits common dirty/reset/role handling from ObjectItemMo...
int rowCount(const QModelIndex &parent=QModelIndex()) const override=0
QModelIndex index(int row, int column=0, const QModelIndex &parent=QModelIndex()) const override
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override=0
bool removeRows(int position, int rows, const QModelIndex &index=QModelIndex()) override=0
virtual bool contains(const QObject *object)=0
virtual void clearAndDeleteContents()=0
Clears the list and calls deleteLater on each entry.
bool hasChildren(const QModelIndex &parent=QModelIndex()) const override
bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex()) override=0
virtual QObject * removeOne(const QObject *object)=0
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override=0
QModelIndex parent(const QModelIndex &child) const override
int columnCount(const QModelIndex &parent=QModelIndex()) const override