1#ifndef MODELS_CHECKLISTMODEL_H
2#define MODELS_CHECKLISTMODEL_H
6#include <QAbstractListModel>
9QT_FORWARD_DECLARE_CLASS(QSettings)
19 ChecklistItem(
const QVariant &
id = QVariant(),
const QString &label = QString(), Qt::CheckState checked = Qt::Unchecked);
21 const QVariant &id()
const;
22 const QString &label()
const;
23 Qt::CheckState checkState()
const;
24 bool isChecked()
const;
29 Qt::CheckState m_checkState;
35 , m_checkState(checkState)
69 return m_checkState == Qt::Checked;
77 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
78 Qt::ItemFlags flags(
const QModelIndex &index)
const override;
79 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
80 QMap<int, QVariant> itemData(
const QModelIndex &index)
const override;
81 bool setData(
const QModelIndex &index,
const QVariant &value,
int role = Qt::DisplayRole)
override;
82 bool setItemData(
const QModelIndex &index,
const QMap<int, QVariant> &roles)
override;
83 bool setChecked(
int row,
bool checked);
84 bool setChecked(
int row, Qt::CheckState checked);
85 virtual QString labelForId(
const QVariant &
id)
const;
86 Qt::DropActions supportedDropActions()
const override;
87 bool insertRows(
int row,
int count,
const QModelIndex &parent)
override;
88 bool removeRows(
int row,
int count,
const QModelIndex &parent)
override;
89 const QList<ChecklistItem> &items()
const;
90 void setItems(
const QList<ChecklistItem> &items);
91 void restore(QSettings &settings,
const QString &name);
92 void save(QSettings &settings,
const QString &name)
const;
93 QVariantList toVariantList()
const;
94 void applyVariantList(
const QVariantList &checkedIds);
95 static constexpr int idRole();
98 QList<ChecklistItem> m_items;
114 return setChecked(row, checked ? Qt::Checked : Qt::Unchecked);
122 return Qt::UserRole + 1;
The ChecklistModel class provides a generic model for storing checkable items.
Qt::CheckState checkState() const
Returns the check state.
ChecklistItem(const QVariant &id=QVariant(), const QString &label=QString(), Qt::CheckState checked=Qt::Unchecked)
const QVariant & id() const
Returns the ID of the item.
bool isChecked() const
Returns whether the item is checked.
const QString & label() const
Returns the label.
bool setChecked(int row, bool checked)
Sets the checked state of the specified item.
const QList< ChecklistItem > & items() const
Returns the items.
static constexpr int idRole()
Returns the role used to get or set the item ID.
#define QT_UTILITIES_EXPORT
Marks the symbol to be exported by the qtutilities library.