Files
BionxControl/bctoggleswitch.h
2026-03-31 18:18:37 +02:00

41 lines
969 B
C++

#ifndef BC_TOGGLESWITCH_H
#define BC_TOGGLESWITCH_H
#include <QAbstractButton>
class QPropertyAnimation;
class BCToggleSwitch : public QAbstractButton
{
Q_OBJECT
// Property für die Animation (0.0 bis 1.0)
Q_PROPERTY(float position READ position WRITE setPosition)
public:
explicit BCToggleSwitch(QWidget *parent = nullptr);
// Getter & Setter für die Animations-Property
float position() const;
void setPosition(float pos);
QSize sizeHint() const override;
// Statische Methode zum Zeichnen des passiven/deaktivierten Zustands
static void paintToggleIndicator(QPainter* p, const QRect& rect, bool isChecked, float position, const QPalette& palette);
protected:
void paintEvent(QPaintEvent *event) override;
void enterEvent(QEnterEvent *event) override;
void leaveEvent(QEvent *event) override;
private:
float m_position; // 0.0 = Aus, 1.0 = An
QPropertyAnimation* m_animation;
};
#endif // BC_TOGGLESWITCH_H