QSkinny 0.8.0
C++/Qt UI toolkit
Loading...
Searching...
No Matches
QskRadioBoxSkinlet.h
1/******************************************************************************
2 * QSkinny - Copyright (C) The authors
3 * SPDX-License-Identifier: BSD-3-Clause
4 *****************************************************************************/
5
6#ifndef QSK_RADIO_BOX_SKINLET_H
7#define QSK_RADIO_BOX_SKINLET_H
8
9#include "QskSkinlet.h"
10
11class QskRadioBox;
12
13class QSK_EXPORT QskRadioBoxSkinlet : public QskSkinlet
14{
15 Q_GADGET
16
17 using Inherited = QskSkinlet;
18
19 public:
20 enum NodeRole
21 {
22 PanelRole,
23 ButtonRole,
24 CheckPanelRole,
25 CheckIndicatorRole,
26 TextRole,
27
28 RoleCount
29 };
30
31 Q_INVOKABLE QskRadioBoxSkinlet( QskSkin* = nullptr );
32 ~QskRadioBoxSkinlet() override;
33
34 QRectF subControlRect( const QskSkinnable*,
35 const QRectF&, QskAspect::Subcontrol ) const override;
36
37 QSizeF sizeHint( const QskSkinnable*,
38 Qt::SizeHint, const QSizeF& ) const override;
39
40 int sampleCount( const QskSkinnable*, QskAspect::Subcontrol ) const override;
41
42 QRectF sampleRect( const QskSkinnable*,
43 const QRectF&, QskAspect::Subcontrol, int index ) const override;
44
45 QskAspect::States sampleStates( const QskSkinnable*,
46 QskAspect::Subcontrol, int index ) const override;
47
48 protected:
49 QSGNode* updateSubNode( const QskSkinnable*,
50 quint8 nodeRole, QSGNode* ) const override;
51
52 QSGNode* updateSampleNode( const QskSkinnable*,
53 QskAspect::Subcontrol, int index, QSGNode* ) const override;
54
55 private:
56 QRectF textRect( const QskRadioBox*, const QRectF&, int ) const;
57 QRectF checkPanelRect( const QskRadioBox*, const QRectF&, int index ) const;
58 QRectF buttonRect( const QskRadioBox*, const QRectF&, int index ) const;
59};
60
61#endif
Subcontrol
For use within the rendering or lay-outing of a specific QskSkinnable.
Definition QskAspect.h:104
Describes the rendering interface of a QskControl. Change the skinlet to change the appearance of the...
Definition QskSkinlet.h:34