DtkGui 5.5.23
DTK Gui module
dpalette.h
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DPALETTE_H
6#define DPALETTE_H
7
8#include <dtkgui_global.h>
9
10#include <QDebug>
11#include <QPalette>
12
13DGUI_BEGIN_NAMESPACE
14
15class DPalettePrivate;
16class DPalette : public QPalette
17{
18 Q_GADGET
19public:
20 enum ColorType {
21 NoType,
22 ItemBackground, //列表项的背景色
23 TextTitle, //标题型文本的颜色
24 TextTips, //提示性文本的颜色
25 TextWarning, //警告类型的文本颜色
26 TextLively, //活跃式文本颜色(不受活动色影响)
27 LightLively, //活跃式按钮(recommend button)背景色中的亮色(不受活跃色影响)
28 DarkLively, //活跃式按钮(recommend button)背景色中的暗色,会从亮色渐变到暗色(不受活跃色影响)
29 FrameBorder, //控件边框颜色
30 PlaceholderText, //占位类型的文本颜色,可用于输入框占位内容等提示性文字
31 FrameShadowBorder, //用于跟阴影叠加的边框颜色
32 ObviousBackground, //明显的背景色
33 NColorTypes
34 };
35 Q_ENUM(ColorType)
36
37 DPalette();
38 DPalette(const QPalette &palette);
39 DPalette(const DPalette &palette);
40 ~DPalette();
41
42 DPalette &operator=(const DPalette &palette);
43
44 inline const QColor &color(ColorGroup cg, ColorType ct) const
45 { return brush(cg, ct).color(); }
46 const QBrush &brush(ColorGroup cg, ColorType ct) const;
47 inline void setColor(ColorGroup cg, ColorType ct, const QColor &color)
48 { setBrush(cg, ct, color); }
49 inline void setColor(ColorType ct, const QColor &color)
50 { setColor(All, ct, color); }
51 inline void setBrush(ColorType ct, const QBrush &brush)
52 { setBrush(All, ct, brush); }
53 void setBrush(ColorGroup cg, ColorType ct, const QBrush &brush);
54
55 inline const QColor &color(ColorType ct) const { return color(Current, ct); }
56 inline const QBrush &brush(ColorType ct) const { return brush(Current, ct); }
57 inline const QBrush &itemBackground() const { return brush(ItemBackground); }
58 inline const QBrush &textTitle() const { return brush(TextTitle); }
59 D_DECL_DEPRECATED inline const QBrush &textTiele() const { return textTitle();}
60 inline const QBrush &textTips() const { return brush(TextTips); }
61 inline const QBrush &textWarning() const { return brush(TextWarning); }
62 inline const QBrush &textLively() const { return brush(TextLively); }
63 inline const QBrush &lightLively() const { return brush(LightLively); }
64 inline const QBrush &darkLively() const { return brush(DarkLively); }
65 inline const QBrush &frameBorder() const { return brush(FrameBorder); }
66 inline const QBrush &placeholderText() const { return brush(PlaceholderText); }
67 inline const QBrush &frameShadowBorder() const { return brush(FrameShadowBorder); }
68
69 using QPalette::color;
70 using QPalette::brush;
71 using QPalette::setBrush;
72 using QPalette::setColor;
73
74protected:
76
77 friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &s, const DPalette &p);
78};
79
80DGUI_END_NAMESPACE
81
82QT_BEGIN_NAMESPACE
83/*****************************************************************************
84 DPalette stream functions
85 *****************************************************************************/
86#ifndef QT_NO_DATASTREAM
87Q_GUI_EXPORT QDataStream &operator<<(QDataStream &ds, const DTK_GUI_NAMESPACE::DPalette &p);
88Q_GUI_EXPORT QDataStream &operator>>(QDataStream &ds, DTK_GUI_NAMESPACE::DPalette &p);
89#endif // QT_NO_DATASTREAM
90
91#ifndef QT_NO_DEBUG_STREAM
92Q_GUI_EXPORT QDebug operator<<(QDebug, const DTK_GUI_NAMESPACE::DPalette &);
93#endif
94
95QT_END_NAMESPACE
96
97#endif // DPALETTE_H
DPalette提供了修改的 QPalette 类.
Definition: dpalette.h:17