summaryrefslogtreecommitdiffstats
path: root/pokemodr/NatureUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemodr/NatureUI.cpp')
-rw-r--r--pokemodr/NatureUI.cpp38
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)