A convenience QHeaderView painted with a QCheckBox. More...
#include <pqCheckableHeaderView.h>
Inherits QHeaderView.
Signals | |
void | checkStateChanged (int section) const |
This signal is emitted whenever the state of the section header checkbox changes. More... | |
Public Member Functions | |
pqCheckableHeaderView (Qt::Orientation orientation, QWidget *parent=nullptr) | |
Constructs the pqCheckableHeaderView class. More... | |
~pqCheckableHeaderView () override | |
QVariant | getCheckState (int section) |
Get the checkstate of the header checkbox for the section. More... | |
Protected Member Functions | |
void | paintSection (QPainter *painter, const QRect &rect, int logicalIndex) const override |
Paint the header section. More... | |
void | mousePressEvent (QMouseEvent *event) override |
Handle mouse press event on the header. More... | |
void | updateModelCheckState (int section) |
Update the checkstate of all checkable items in the model based on the checkstate of the header checkbox. More... | |
A convenience QHeaderView painted with a QCheckBox.
This allows for providing a global checkbox when the model items are user checkable. The checkbox is painted per section with one of the three states (checked, partially checked, unchecked) depending on the check state of individual items. Currently used in pqTreeView.
pqCheckableHeaderView is flagged to be investigated for deprecation. pqHeaderView provides a much simpler and more model-view friendly implementation that relies on the QAbstractItemModel simply respecting Qt::CheckStateRole for the header. It is recommended that you update your code to use pqHeaderView instead.
Definition at line 31 of file pqCheckableHeaderView.h.
pqCheckableHeaderView::pqCheckableHeaderView | ( | Qt::Orientation | orientation, |
QWidget * | parent = nullptr |
||
) |
Constructs the pqCheckableHeaderView class.
[in] | orientation | Orientation for the header. |
[in] | parent | The parent object |
|
override |
QVariant pqCheckableHeaderView::getCheckState | ( | int | section | ) |
Get the checkstate of the header checkbox for the section.
section | The section to get the checkstate of |
|
signal |
This signal is emitted whenever the state of the section header checkbox changes.
The new state can be obtained using the getCheckState method.
section | The section whose checkstate changed |
|
overrideprotected |
Paint the header section.
Depending on whether the top-level items in the model are checkable a checkbox is painted left-aligned on the header section. The checkbox is tristate and the state is decided based on the initial checkstates of model items. Reimplemented form QHeaderView::paintSection()
|
overrideprotected |
Handle mouse press event on the header.
Checks whether the mouse press was in the checkbox. Clicking on the checkbox triggers the checkStateChanged signal. Reimplemented from QWidget::mousePressEvent()
|
protected |
Update the checkstate of all checkable items in the model based on the checkstate of the header checkbox.
This will undo any individual item checkstate modifications.
section | The section whose model checkstate is updated. |