lolautoaccept/src/runedisplay.cpp

45 lines
957 B
C++

#include "runedisplay.h"
#include "ui_runedisplay.h"
#include <sstream>
RuneDisplay::RuneDisplay(QWidget *parent) : QWidget(parent), ui(new Ui::RuneDisplay) {
ui->setupUi(this);
}
RuneDisplay::~RuneDisplay() {
delete ui;
}
void RuneDisplay::setRuneMeta(const std::vector<RuneAspekt>& ri) {
runeinfo = ri;
}
void RuneDisplay::setRunes(std::vector<uint32_t> ids, uint32_t primary, uint32_t secondary) {
runes = ids;
this->primary = primary;
this->secondary = secondary;
updateText();
}
void RuneDisplay::updateText() {
std::ostringstream out;
out << "primary: " << getRuneText(primary) << " secondary: " << getRuneText(secondary) << " ";
for(uint32_t rune : runes) {
out << getRuneText(rune);
}
ui->runetext->setText(QString::fromStdString(out.str()));
}
std::string RuneDisplay::getRuneText(uint32_t id) {
for(const RuneAspekt& ra : runeinfo) {
if(ra.id == id) {
return ra.name;
}
}
return "(" + std::to_string(id) + ")";
}