Maki
Formally verfied low-code orchestration
Loading...
Searching...
No Matches
dropdown_button.h
1#pragma once
2
3#include <QToolButton>
4#include <oclero/qlementine.hpp>
5
6class DropDownButton : public QToolButton
7{
8 Q_OBJECT
9
10public:
11 DropDownButton(QWidget* parent = nullptr);
12
13 virtual void setSize(int width, int height);
14 virtual void reset();
15
16 QAction* addAction(const QString& text);
17 QAction* addAction(const QIcon& icon, const QString& text);
18 QList<QAction*> actions() const;
19
20protected:
21 int mWidth = 150;
22 int mHeight = 40;
23
24 virtual void paintEvent(QPaintEvent* event) override;
25 virtual int leadingContentWidth(const oclero::qlementine::Theme& theme) const;
26 virtual void paintLeadingContent(QPainter& painter, const QRect& rect, const oclero::qlementine::Theme& theme);
27 virtual QString displayedText() const;
28
29private:
30 bool mHovered;
31};