Rabbit Remote Control
0.1.0-bate14
Toggle main menu visibility
Loading...
Searching...
No Matches
Src
CheckBoxHeader.h
1
// Author: Kang Lin <kl222@126.com>
2
3
#pragma once
4
#include <QHeaderView>
5
#include <QSet>
6
18
class
CCheckBoxHeader :
public
QHeaderView {
19
Q_OBJECT
20
21
public
:
22
explicit
CCheckBoxHeader(Qt::Orientation orientation, QWidget *parent =
nullptr
);
23
28
void
SetCheckable(
int
index,
bool
checkable, Qt::CheckState state = Qt::Unchecked);
29
bool
isCheckable(
int
index)
const
;
34
void
SetCheckState(
int
index, Qt::CheckState state);
35
Qt::CheckState GetCheckState(
int
index)
const
;
36
37
signals:
38
void
sigCheckStateChanged(
int
index, Qt::CheckState state);
39
40
protected
:
41
void
paintSection(QPainter *painter,
const
QRect &rect,
int
logicalIndex)
const override
;
42
void
mousePressEvent(QMouseEvent *event)
override
;
43
44
private
:
45
QRect CheckboxRect(
const
QRect §ionRect)
const
;
46
void
DrawText(QPainter* painter,
const
QRect& rect,
47
const
QString& text, Qt::Alignment alignment)
const
;
48
void
DrawCheckBox(QPainter* painter,
const
QRect& rect,
49
Qt::CheckState state,
bool
enabled)
const
;
50
51
QHash<int, Qt::CheckState> m_CheckableSections;
52
};
Author: Kang Lin (kl222@126.com)
Copyright (c) Kang Lin Studios All Rights Reserved