summaryrefslogtreecommitdiffstats
path: root/pokemodr/BadgeUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-01-30 19:31:11 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-01-30 19:31:11 +0000
commitebbb362f9e70dc67354706fc2cbfc77d8dfcba4c (patch)
tree9805e26a60e64e868d54629f3f54d7f877337370 /pokemodr/BadgeUI.cpp
parent008dc40e274450a3de3452fb6175615d7b078148 (diff)
downloadsigen-ebbb362f9e70dc67354706fc2cbfc77d8dfcba4c.tar.gz
sigen-ebbb362f9e70dc67354706fc2cbfc77d8dfcba4c.tar.xz
sigen-ebbb362f9e70dc67354706fc2cbfc77d8dfcba4c.zip
[ADD] BadgeUI, AuthorUI, and AbilityUI
[FIX] Fix up UI forms [FIX] win32 builds now allow exceptions [FIX] Tidy up other UI logic files git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@50 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/BadgeUI.cpp')
-rw-r--r--pokemodr/BadgeUI.cpp138
1 files changed, 138 insertions, 0 deletions
diff --git a/pokemodr/BadgeUI.cpp b/pokemodr/BadgeUI.cpp
new file mode 100644
index 00000000..e668e515
--- /dev/null
+++ b/pokemodr/BadgeUI.cpp
@@ -0,0 +1,138 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: pokegen/BadgeUI.cpp
+// Purpose: Badge UI form handling
+// Author: Ben Boeckel
+// Modified by: Ben Boeckel
+// Created: Sun Jan 27 13:10:47 2008
+// Copyright: ©2007-2008 Ben Boeckel and Nerdy Productions
+// Licence:
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program. If not, see <http://www.gnu.org/licenses/>.
+/////////////////////////////////////////////////////////////////////////////
+
+#include <QMetaObject>
+#include "../general/Exception.h"
+#include "BadgeUI.h"
+
+BadgeUI::BadgeUI(Badge* b, QWidget* parent) :
+ ObjectUI(parent),
+ badge(b),
+ badge_mod(new Badge(b->getPokemod(), *b, b->getId()))
+{
+ setupUI(this);
+ QMetaObject::connectSlotsByName(this);
+ setObjects(badge, badge_mod);
+ setGui();
+}
+
+// KToolbar getToolbar(QWidget* parent)
+// {
+//
+// }
+
+void BadgeUI::setGui();
+{
+
+}
+
+void BadgeUI::on_buttonApply_clicked()
+{
+ *badge = *badge_mod;
+ emit(setChanged(false));
+}
+
+void BadgeUI::on_buttonDiscard_clicked()
+{
+ *badge_mod = *badge;
+ emit(setChanged(false));
+ setGui();
+}
+
+void BadgeUI::on_varName_textChanged(const QString& n)
+{
+ badge_mod->setName(n);
+ emit(setChanged(true));
+}
+
+void BadgeUI::on_varObey_valueChanged(const QString& o)
+{
+ badge_mod->setObey(o);
+ emit(setChanged(true));
+}
+
+void BadgeUI::on_varBadge_customContextMenuRequested(const QPoint& p)
+{
+
+ emit(setChanged(true));
+}
+
+void BadgeUI::on_varFace_customContextMenuRequested(const QPoint& p)
+{
+
+ emit(setChanged(true));
+}
+
+void BadgeUI::on_varStat_currentIndexChanged(const QString& s)
+{
+ try
+ {
+ const QStringList& statList = badge_mod->getPokemod().getRules().getSpecialSplit() ? StatRBYStr : StatGSCStr;
+ if (statList.contains(s))
+ curStat = statList.indexOf(s);
+ else
+ throw(BoundsException("BadgeUI", "stat"));
+ emit(setChanged(true));
+ }
+ catch (BoundsException& e)
+ {
+ BugCatcher::report(e);
+ }
+ setGui();
+}
+
+void BadgeUI::on_varMultiplierNum_valueChanged(const QString& m)
+{
+ try
+ {
+ badge_mod->setMultiplierNum(curStat, m);
+ varMultiplier->setText(QString::number(badge_mod->getMultiplier(curStat), 'g', 15));
+ emit(setChanged(true));
+ }
+ catch (BoundsException& e)
+ {
+ BugCatcher::report(e);
+ setGui();
+ }
+}
+
+void BadgeUI::on_varMultiplierDenom_valueChanged(const QString& m)
+{
+ try
+ {
+ badge_mod->setStatDenom(curStat, m);
+ varMultiplierNum->setMaximum(m);
+ varMultiplier->setText(QString::number(nature_mod->getStat(curStat), 'g', 15));
+ emit(setChanged(true));
+ }
+ catch (BoundsException& e)
+ {
+ BugCatcher::report(e);
+ setGui();
+ }
+}
+
+void BadgeUI::on_varHMs_itemSelectionChanged()
+{
+
+ emit(setChanged(true));
+}