diff options
Diffstat (limited to 'pokemodr/NatureUI.cpp')
| -rw-r--r-- | pokemodr/NatureUI.cpp | 38 |
1 files changed, 8 insertions, 30 deletions
diff --git a/pokemodr/NatureUI.cpp b/pokemodr/NatureUI.cpp index d98cb990..946a7e48 100644 --- a/pokemodr/NatureUI.cpp +++ b/pokemodr/NatureUI.cpp @@ -30,13 +30,14 @@ NatureUI::NatureUI(Nature* n, QWidget* parent) : ObjectUI(parent), - curStat(ST_HP), nature(n), nature_mod(new Nature(n->getPokemod(), *n, n->getId())) { setupUi(this); QMetaObject::connectSlotsByName(this); setObjects(nature, nature_mod); + const bool isSplit = nature->getPokemod()->getRules()->getSpecialSplit(); + varStat->addItems((isSplit ? StatRBYStr : StatGSCStr).mid(0, isSplit ? ST_End_RBY : ST_End_GSC)); setGui(); } @@ -46,16 +47,11 @@ NatureUI::NatureUI(Nature* n, QWidget* parent) : void NatureUI::setGui() { - const bool isSplit = nature->getPokemod()->getRules()->getSpecialSplit(); - const QStringList& statList = isSplit ? StatRBYStr : StatGSCStr; varName->setText(nature_mod->getName()); - varStat->clear(); - varStat->addItems(statList.mid(0, isSplit ? ST_End_RBY : ST_End_GSC)); - varStat->setCurrentItem(statList[curStat]); - varStatMultiplierNum->setValue(nature_mod->getStat(curStat).getNum()); - varStatMultiplierDenom->setValue(nature_mod->getStat(curStat).getDenom()); - varStatMultiplierNum->setMaximum(nature_mod->getStat(curStat).getDenom()); - varStatMultiplier->setText(QString::number(nature_mod->getStat(curStat), 'g', 15)); + varStatMultiplierNum->setValue(nature_mod->getStat(varStat->currentIndex()).getNum()); + varStatMultiplierDenom->setValue(nature_mod->getStat(varStat->currentIndex()).getDenom()); + varStatMultiplierNum->setMaximum(nature_mod->getStat(varStat->currentIndex()).getDenom()); + varStatMultiplier->setText(QString::number(nature_mod->getStat(varStat->currentIndex()), 'g', 15)); varWeight->setValue(nature_mod->getWeight()); } @@ -78,29 +74,11 @@ void NatureUI::on_varName_textChanged(const QString& n) emit(setChanged(true)); } -void NatureUI::on_varStat_currentIndexChanged(const QString& s) -{ - try - { - const QStringList& statList = nature->getPokemod()->getRules()->getSpecialSplit() ? StatRBYStr : StatGSCStr; - if (statList.contains(s)) - curStat = statList.indexOf(s); - else - throw(BoundsException("NatureUI", "stat")); - emit(setChanged(true)); - } - catch (BoundsException& e) - { - BugCatcher::report(e); - } - setGui(); -} - void NatureUI::on_varStatMultiplierNum_valueChanged(const int s) { try { - nature_mod->setStatNum(curStat, s); + nature_mod->setStatNum(varStat->currentIndex(), s); emit(setChanged(true)); } catch (Exception& e) @@ -114,7 +92,7 @@ void NatureUI::on_varStatMultiplierDenom_valueChanged(const int s) { try { - nature_mod->setStatDenom(curStat, s); + nature_mod->setStatDenom(varStat->currentIndex(), s); emit(setChanged(true)); } catch (Exception& e) |
