#ifndef SEGMENTEDCONTROL_H
#define SEGMENTEDCONTROL_H
-#include <QtGui>
-#if QT_VERSION >= 0x050000
#include <QtWidgets>
-#endif
class SegmentedControl : public QWidget {
public:
SegmentedControl(QWidget *parent = 0);
- ~SegmentedControl();
QAction *addAction(QAction *action);
bool setCheckedAction(int index);
bool setCheckedAction(QAction *action);
void leaveEvent(QEvent *event);
private:
- void drawButton(QPainter *painter,
- const QRect& rect,
- const QAction *action);
- void drawUnselectedButton(QPainter *painter,
- const QRect& rect,
- const QAction *action);
- void drawSelectedButton(QPainter *painter,
- const QRect& rect,
- const QAction *action);
void paintButton(QPainter *painter,
const QRect& rect,
const QAction *action);
- QAction *hoveredAction(const QPoint& pos) const;
+ QAction *findHoveredAction(const QPoint& pos) const;
int calculateButtonWidth() const;
- class Private;
- Private *d;
+ QVector<QAction *> actionList;
+ QAction *checkedAction;
+ QAction *hoveredAction;
+ QAction *pressedAction;
+
+ QColor borderColor;
+ QColor backgroundColor;
+ QColor selectedColor;
+ QColor hoveredColor;
+ QColor pressedColor;
};