SARibbon 2.5.2
SARibbon wiki
载入中...
搜索中...
未找到
SAColorToolButton.h
1#ifndef SACOLORTOOLBUTTON_H
2#define SACOLORTOOLBUTTON_H
3#include <QToolButton>
4#include "SAColorWidgetsGlobal.h"
5class QPaintEvent;
6class QResizeEvent;
7class QPainter;
8class QStylePainter;
9class SAColorMenu;
70class SA_COLOR_WIDGETS_API SAColorToolButton : public QToolButton
71{
72 Q_OBJECT
73 SA_COLOR_WIDGETS_DECLARE_PRIVATE(SAColorToolButton)
74public:
79 {
81 NoColorMenu
82 };
83
84public:
86 explicit SAColorToolButton(QWidget* parent = nullptr);
88 explicit SAColorToolButton(ColorToolButtonStyle style, QWidget* parent = nullptr);
92 QColor color() const;
94 void setMargins(const QMargins& mg);
96 QMargins margins() const;
98 static void paintNoneColor(QPainter* p, const QRect& colorRect);
100 void setColorToolButtonStyle(ColorToolButtonStyle s);
102 ColorToolButtonStyle colorToolButtonStyle() const;
104 SAColorMenu* colorMenu() const;
106 SAColorMenu* createColorMenu();
107public Q_SLOTS:
109 void setColor(const QColor& c);
110
111protected:
113 virtual void calcRect(const QStyleOptionToolButton& opt, QRect& iconRect, QRect& textRect, QRect& colorRect);
115 virtual void paintButton(QStylePainter* p, const QStyleOptionToolButton& opt);
117 virtual void paintIcon(QStylePainter* p, const QRect& iconRect, const QStyleOptionToolButton& opt);
119 virtual void paintText(QStylePainter* p, const QRect& textRect, const QStyleOptionToolButton& opt);
121 virtual void paintColor(QStylePainter* p, const QRect& colorRect, const QColor& color, const QStyleOptionToolButton& opt);
122
123protected:
125 virtual void paintEvent(QPaintEvent* e) Q_DECL_OVERRIDE;
127 virtual void resizeEvent(QResizeEvent* e) Q_DECL_OVERRIDE;
129 virtual QSize sizeHint() const Q_DECL_OVERRIDE;
130private Q_SLOTS:
132 void onButtonClicked(bool checked = false);
133Q_SIGNALS:
147 void colorClicked(const QColor& color, bool checked = false);
159 void colorChanged(const QColor& color);
160};
161
162#endif // SACOLORTOOLBUTTON_H
Definition SAColorMenu.h:19
Definition SAColorToolButton.h:71
ColorToolButtonStyle
Color button built-in styles
Definition SAColorToolButton.h:79
@ WithColorMenu
Default will build a SAColorMenu
Definition SAColorToolButton.h:80