#include "runeaspektbutton.h" #include "ui_runeaspektbutton.h" #include #include "runeaspektbuttongroup.h" RuneAspektButton::RuneAspektButton(QWidget* parent) : QPushButton(parent), ui(new Ui::RuneAspektButton) { ui->setupUi(this); QObject::connect(this, &QPushButton::pressed, this, &RuneAspektButton::buttonPressed); } RuneAspektButton::~RuneAspektButton() { delete this->ui; } void RuneAspektButton::setAspektId(uint32_t id) { aspektId = id; dataChanged(); } void RuneAspektButton::setButtonGroup(RuneAspektButtonGroup* group) { this->group = group; } bool RuneAspektButton::isSelected() const { return group && group->getSelectedRunes().contains(aspektId); } void RuneAspektButton::buttonPressed() { emit aspektToggled(aspektId); } void RuneAspektButton::dataChanged() { bool selection = isSelected(); qDebug() << text() << " datachanged - isSelected: " << selection; setShowSelection(selection); } void RuneAspektButton::checkSelection(uint32_t aspekt) { qDebug() << "checkSelection: " << text() << aspekt << aspektId; setShowSelection(aspekt == this->aspektId); } void RuneAspektButton::setShowSelection(bool selected) { if(selected) { setStyleSheet("border: 1px solid red;"); } else { setStyleSheet(""); } }