OGS
CheckboxDelegate.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <QItemDelegate>
7
8class QWidget;
9class QRect;
10
17class CheckboxDelegate : public QItemDelegate
18{
19 Q_OBJECT
20
21public:
23 explicit CheckboxDelegate(QObject* parent = nullptr);
24
26 void paint(QPainter* painter, const QStyleOptionViewItem& option,
27 const QModelIndex& index) const override;
28
30 bool editorEvent(QEvent* event, QAbstractItemModel* model,
31 const QStyleOptionViewItem& option,
32 const QModelIndex& index) override;
33
34 QSize sizeHint(const QStyleOptionViewItem& option,
35 const QModelIndex& index) const override;
36
37private:
38 QRect checkboxRect(const QStyleOptionViewItem& viewItemStyleOptions) const;
39};
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
Paints a checkbox. This overrides the default painting of a combo box.
QRect checkboxRect(const QStyleOptionViewItem &viewItemStyleOptions) const
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override
Handles the click events and sets the model data.
CheckboxDelegate(QObject *parent=nullptr)
Constructor.