diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-01-25 02:21:09 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-01-25 02:21:09 +0000 |
| commit | 081bd53cf22ca40a6e436bc46eb62ad469909d6f (patch) | |
| tree | 2b20a84df93e418ab0261231cf4b993ec57b2ca2 /pokemodr/RulesUI.cpp | |
| parent | 095c93a62b0be0893063748d67051e35810a7f48 (diff) | |
| download | sigen-081bd53cf22ca40a6e436bc46eb62ad469909d6f.tar.gz sigen-081bd53cf22ca40a6e436bc46eb62ad469909d6f.tar.xz sigen-081bd53cf22ca40a6e436bc46eb62ad469909d6f.zip | |
[FIX] Frac returns a double (not an unsigned typcast to double, making 0 all the time)
[FIX] maxDV now works on 0 and 1 rather than 16 and 32
[FIX] Stuff ignored (due to other options) can't throw Exceptions in Rules anymore
[FIX] UI logic fixed
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@45 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/RulesUI.cpp')
| -rw-r--r-- | pokemodr/RulesUI.cpp | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/pokemodr/RulesUI.cpp b/pokemodr/RulesUI.cpp index 60ea3c50..33168e67 100644 --- a/pokemodr/RulesUI.cpp +++ b/pokemodr/RulesUI.cpp @@ -26,12 +26,13 @@ #include "RulesUI.h" RulesUI::RulesUI(Rules* r, QWidget* parent) : + ObjectUI(parent), rules(r), - rules_mod(new Rules(r->getPokemod(), *r)), - ObjectUI(r, rules_mod, parent) + rules_mod(new Rules(r->getPokemod(), *r)) { setupUi(this); QMetaObject::connectSlotsByName(this); + setObjects(rules, rules_mod); varMaxDV->addItems(Rules::DVStr); setGui(); } @@ -60,7 +61,7 @@ void RulesUI::setGui() boxHardCash->setChecked(rules_mod->getHardCash() ? Qt::Checked : Qt::Unchecked); boxSplitSpecial->setChecked(rules_mod->getSpecialSplit() ? Qt::Checked : Qt::Unchecked); varSplitSpecialDV->setCheckState(rules_mod->getSpecialDVSplit() ? Qt::Checked : Qt::Unchecked); - varMaxDV->setCurrentItem(Rules::DVStr[rules_mod->getMaxDVValue() >> 5]); + varMaxDV->setCurrentItem(Rules::DVStr[rules_mod->getMaxDVValue()]); boxHappiness->setChecked(rules_mod->getHappiness() ? Qt::Checked : Qt::Unchecked); varFaintLoss->setValue(rules_mod->getHappyFaintLoss()); varLevelGain->setValue(rules_mod->getHappyLevelGain()); @@ -71,7 +72,7 @@ void RulesUI::setGui() varMaxEVPerStat->setMaximum(rules_mod->getMaxTotalEV()); varPokerusNum->setValue(rules_mod->getPokerusChance().getNum()); varPokerusDenom->setValue(rules_mod->getPokerusChance().getDenom()); - varPokerusNum->setMaximum(rules_mod->getPokerusChance().getDenom() - 1); + varPokerusNum->setMaximum(rules_mod->getPokerusChance().getDenom()); } void RulesUI::on_buttonApply_clicked() @@ -91,23 +92,13 @@ void RulesUI::on_buttonDiscard_clicked() void RulesUI::on_boxGenders_toggled(const bool g) { rules_mod->setGenderAllowed(g); - if (!g) - varBreeding->setCheckState(Qt::Unchecked); emit(setChanged(true)); } void RulesUI::on_varBreeding_toggled(const bool b) { - try - { - rules_mod->setBreedingAllowed(b); - emit(setChanged(true)); - } - catch (Exception& e) - { - BugCatcher::report(e); - setGui(); - } + rules_mod->setBreedingAllowed(b); + emit(setChanged(true)); } void RulesUI::on_varHeldItems_valueChanged(const int h) @@ -148,10 +139,9 @@ void RulesUI::on_varBoxSize_valueChanged(const int b) void RulesUI::on_varMaxParty_valueChanged(const int m) { - if (unsigned(m) < rules_mod->getMaxFight()) - varMaxFight->setValue(m); rules_mod->setMaxParty(m); varMaxFight->setMaximum(m); + setGui(); emit(setChanged(true)); } @@ -212,8 +202,6 @@ void RulesUI::on_boxHardCash_toggled(const bool h) void RulesUI::on_boxSplitSpecial_toggled(const bool s) { rules_mod->setSpecialSplit(s); - if (!s) - varSplitSpecialDV->setCheckState(Qt::Unchecked); emit(setChanged(true)); } @@ -229,7 +217,7 @@ void RulesUI::on_varMaxDV_currentIndexChanged(const QString& m) { if (Rules::DVStr.contains(m)) { - rules_mod->setMaxDVValue((Rules::DVStr.indexOf(m) << 4) + 16); + rules_mod->setMaxDVValue(Rules::DVStr.indexOf(m)); emit(setChanged(true)); } else @@ -274,17 +262,33 @@ void RulesUI::on_boxEffortValues_toggled(const bool e) void RulesUI::on_varMaxEV_valueChanged(const int m) { - if (unsigned(m) < rules_mod->getMaxEVPerStat()) - varMaxEVPerStat->setValue(m); - rules_mod->setMaxTotalEV(m); - varMaxEVPerStat->setMaximum(m); - emit(setChanged(true)); + try + { + if (unsigned(m) < rules_mod->getMaxEVPerStat()) + varMaxEVPerStat->setValue(m); + rules_mod->setMaxTotalEV(m); + varMaxEVPerStat->setMaximum(m); + emit(setChanged(true)); + } + catch (BoundsException& e) + { + BugCatcher::report(e); + setGui(); + } } void RulesUI::on_varMaxEVPerStat_valueChanged(const int m) { - rules_mod->setMaxEVPerStat(m); - emit(setChanged(true)); + try + { + rules_mod->setMaxEVPerStat(m); + emit(setChanged(true)); + } + catch (BoundsException& e) + { + BugCatcher::report(e); + setGui(); + } } void RulesUI::on_varPokerusNum_valueChanged(const int p) @@ -292,7 +296,7 @@ void RulesUI::on_varPokerusNum_valueChanged(const int p) try { rules_mod->setPokerusChanceNum(p); - varPokerus->setText(QString::number(rules_mod->getPokerusChance())); + varPokerus->setText(QString::number(rules_mod->getPokerusChance(), 'g', 15)); emit(setChanged(true)); } catch (Exception& e) @@ -307,8 +311,8 @@ void RulesUI::on_varPokerusDenom_valueChanged(const int p) try { rules_mod->setPokerusChanceDenom(p); - varPokerusNum->setMaximum(p - 1); - varPokerus->setText(QString::number(rules_mod->getPokerusChance())); + varPokerusNum->setMaximum(p); + varPokerus->setText(QString::number(rules_mod->getPokerusChance(), 'g', 15)); emit(setChanged(true)); } catch (Exception& e) |
