summaryrefslogtreecommitdiffstats
path: root/pokemodr/NatureUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-02-20 16:35:26 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-02-20 16:35:26 +0000
commit9461b5df0fbd27db2688820892494fcc2af477a7 (patch)
tree071e1d2b21ea84d39e6796c60114c8588e94503e /pokemodr/NatureUI.cpp
parent6551bb8f486ed2cc83c4d35e3c59a21f2f27e0d4 (diff)
[ADD] SpeciesUI.{h, cpp}
[FIX] Missing semicolon in general/Hat.h [FIX] Shortened method names in Species [FIX] Cleaned up some includes in UI logic [FIX] NatureUI now gets the curStat right from varStat [FIX] NatureUI sets varStat in ctor rather than setGui [FIX] .pro files now controled by KDevelop [FIX] Minor UI form fixes git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@66 6ecfd1a5-f3ed-3746-8530-beee90d26b22
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)