Files
StarPilot/selfdrive/ui/qt/widgets/toggle.hpp
T
Adeeb Shihadeh 6371eda194 build Qt UI with clazy (#19537)
* clazy, level0

* level1
old-commit-hash: 069189fd7fd9dc677b29725f92fd3b4b80911d8a
2020-12-18 19:26:59 -08:00

36 lines
701 B
C++

#pragma once
#include <QtWidgets>
class Toggle : public QAbstractButton {
Q_OBJECT
Q_PROPERTY(int offset_circle READ offset_circle WRITE set_offset_circle CONSTANT)
public:
Toggle(QWidget* parent = nullptr);
void togglePosition();
int offset_circle() const {
return _x_circle;
}
void set_offset_circle(int o) {
_x_circle = o;
update();
}
protected:
void paintEvent(QPaintEvent*) override;
void mouseReleaseEvent(QMouseEvent*) override;
void enterEvent(QEvent*) override;
private:
bool _on;
int _x_circle, _y_circle;
int _height, _radius;
int _height_rect, _y_rect;
QPropertyAnimation *_anim = nullptr;
signals:
void stateChanged(int new_state);
};