#pragma once #include #include namespace Ui { class RuneAspektButton; } class RuneAspektButtonGroup; class RuneAspektButton : public QPushButton { Q_OBJECT public: explicit RuneAspektButton(QWidget* parent = nullptr); ~RuneAspektButton(); void setAspektId(uint32_t id); void setButtonGroup(RuneAspektButtonGroup* group); bool isSelected() const; signals: void aspektToggled(int aspekt); public slots: void buttonPressed(); void dataChanged(); // triggers a refresh void checkSelection(uint32_t aspekt); // only used for rune styles private slots: void setShowSelection(bool selected); // show/hide the red border public: uint32_t aspektId = 0; private: Ui::RuneAspektButton* ui; RuneAspektButtonGroup* group = nullptr; };