diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-04-27 17:57:32 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-04-27 17:57:32 +0000 |
| commit | 0fa52c1f61c457c9b68bec53bcce3af858e5eb44 (patch) | |
| tree | c5b10b77a01b417775097476029bcf67fac79975 | |
| parent | 807071d35159de0660f9df31c48d5bf895ca3622 (diff) | |
[FIX] More header cleanliness
[FIX] UI classes now just use the ObjectUI pointers
[FIX] Some miscellaneous qmake options
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@112 6ecfd1a5-f3ed-3746-8530-beee90d26b22
114 files changed, 864 insertions, 1131 deletions
@@ -1,4 +1,13 @@ ----------------- +Rev: 112 +Date: 27 April 2008 +User: MathStuf +----------------- +[FIX] More header cleanliness +[FIX] UI classes now just use the ObjectUI pointers +[FIX] Some miscellaneous qmake options + +----------------- Rev: 111 Date: 27 April 2008 User: MathStuf diff --git a/general/Audio.cpp b/general/Audio.cpp index 2301011d..75b2e6fd 100644 --- a/general/Audio.cpp +++ b/general/Audio.cpp @@ -18,9 +18,6 @@ // Header include #include "Audio.h" -// Qt includes -#include <QMutableListIterator> - void Audio::playSFX(const QString& url) throw(OpenException) { Phonon::MediaObject* sfx = new Phonon::MediaObject(); diff --git a/general/Fraction.h b/general/Fraction.h index b4df522d..99b6eeec 100644 --- a/general/Fraction.h +++ b/general/Fraction.h @@ -19,7 +19,6 @@ #define __FRAC__ // Qt includes -#include <QtGlobal> #include <QMetaType> class Fraction diff --git a/general/Hat.h b/general/Hat.h index 3b9f0b68..2b7fccea 100644 --- a/general/Hat.h +++ b/general/Hat.h @@ -18,9 +18,6 @@ #ifndef __HAT__ #define __HAT__ -// General includes -#include "Exception.h" - // Qt includes #include <QtGlobal> #include <QDateTime> diff --git a/general/Matrix.h b/general/Matrix.h index fe4f452b..d32f387b 100644 --- a/general/Matrix.h +++ b/general/Matrix.h @@ -22,7 +22,6 @@ #include "Exception.h" // Qt includes -#include <QtGlobal> #include <QVector> template<class T> class Matrix diff --git a/general/general.pro b/general/general.pro index 5aff8ae2..95ec09cf 100644 --- a/general/general.pro +++ b/general/general.pro @@ -3,8 +3,9 @@ OBJECTS_DIR = .obj UI_DIR = .ui MOC_DIR = .moc DESTDIR = ../../bin -LIBS += -lphonon -lkdeui -lkdecore -; QMAKE_CXXFLAGS += -pg -O0 +LIBS += -lphonon \ + -lkdeui \ + -lkdecore CONFIG += qt warn_on dll exceptions debug CONFIG -= release @@ -65,5 +66,5 @@ HEADERS += Audio.h \ INSTALLS += target target.path = /usr/lib`kde4-config --libsuffix` -DISTFILES += TODO +DISTFILES += TODO diff --git a/pokemod/Ability.h b/pokemod/Ability.h index ebb0df64..6a845dc4 100644 --- a/pokemod/Ability.h +++ b/pokemod/Ability.h @@ -26,7 +26,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class AbilityEffect; diff --git a/pokemod/AbilityEffect.h b/pokemod/AbilityEffect.h index e4fca6ba..424deff4 100644 --- a/pokemod/AbilityEffect.h +++ b/pokemod/AbilityEffect.h @@ -25,9 +25,6 @@ #include "../general/Exception.h" #include "../general/Fraction.h" -// Qt includes -#include <QString> - class AbilityEffect : public Object { public: diff --git a/pokemod/Author.h b/pokemod/Author.h index 87620b70..ec6d2e85 100644 --- a/pokemod/Author.h +++ b/pokemod/Author.h @@ -21,9 +21,6 @@ // Pokemod includes #include "Object.h" -// Qt includes -#include <QString> - class Author : public Object { public: diff --git a/pokemod/Badge.h b/pokemod/Badge.h index b276f5c1..80bb46fb 100644 --- a/pokemod/Badge.h +++ b/pokemod/Badge.h @@ -28,7 +28,6 @@ // Qt includes #include <QPixmap> -#include <QString> class Badge : public Object { diff --git a/pokemod/CoinList.cpp b/pokemod/CoinList.cpp index 66086f94..a2140cd1 100644 --- a/pokemod/CoinList.cpp +++ b/pokemod/CoinList.cpp @@ -24,9 +24,6 @@ #include "ItemEffect.h" #include "Pokemod.h" -// Qt includes -#include <QMap> - CoinList::CoinList(const CoinList& coinList) : Object("CoinList", coinList.parent(), coinList.id()) { diff --git a/pokemod/CoinList.h b/pokemod/CoinList.h index c32037c0..8bd28efb 100644 --- a/pokemod/CoinList.h +++ b/pokemod/CoinList.h @@ -26,7 +26,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class CoinListObject; diff --git a/pokemod/CoinListObject.h b/pokemod/CoinListObject.h index 761c8ee2..4d77c59e 100644 --- a/pokemod/CoinListObject.h +++ b/pokemod/CoinListObject.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class CoinListObject : public Object { public: diff --git a/pokemod/Dialog.h b/pokemod/Dialog.h index 3695239b..99925f10 100644 --- a/pokemod/Dialog.h +++ b/pokemod/Dialog.h @@ -26,7 +26,6 @@ // Qt includes #include <QList> -#include <QString> class Dialog : public Object { diff --git a/pokemod/EggGroup.cpp b/pokemod/EggGroup.cpp index 3d8562b3..8ca56d6b 100644 --- a/pokemod/EggGroup.cpp +++ b/pokemod/EggGroup.cpp @@ -15,12 +15,12 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -// Pokemod includes -#include "Pokemod.h" - // Header include #include "EggGroup.h" +// Pokemod includes +#include "Pokemod.h" + EggGroup::EggGroup(const EggGroup& eggGroup) : Object("EggGroup", eggGroup.parent(), eggGroup.id()) { diff --git a/pokemod/EggGroup.h b/pokemod/EggGroup.h index 1c28ed6b..928ff005 100644 --- a/pokemod/EggGroup.h +++ b/pokemod/EggGroup.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class EggGroup : public Object { public: diff --git a/pokemod/Item.cpp b/pokemod/Item.cpp index cf38506d..90d0262e 100644 --- a/pokemod/Item.cpp +++ b/pokemod/Item.cpp @@ -15,15 +15,12 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -// Qt includes -#include <QMap> +// Header include +#include "Item.h" // Pokemod includes -#include "Pokemod.h" #include "ItemEffect.h" - -// Header include -#include "Item.h" +#include "Pokemod.h" Item::Item(const Item& item) : Object("Item", item.parent(), item.id()) diff --git a/pokemod/Item.h b/pokemod/Item.h index bc2dcd26..cb33c522 100644 --- a/pokemod/Item.h +++ b/pokemod/Item.h @@ -26,7 +26,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class ItemEffect; diff --git a/pokemod/ItemEffect.h b/pokemod/ItemEffect.h index d8341726..1a7b6501 100644 --- a/pokemod/ItemEffect.h +++ b/pokemod/ItemEffect.h @@ -25,9 +25,6 @@ #include "../general/Exception.h" #include "../general/Fraction.h" -// Qt includes -#include <QString> - class ItemEffect : public Object { public: diff --git a/pokemod/ItemType.cpp b/pokemod/ItemType.cpp index 8db3d8a5..09142061 100644 --- a/pokemod/ItemType.cpp +++ b/pokemod/ItemType.cpp @@ -21,9 +21,6 @@ // Pokemod includes #include "Pokemod.h" -// Qt includes -#include <QFile> - QStringList ItemType::CountStr = QStringList() << "Distinct" << "Total"; ItemType::ItemType(const ItemType& itemType) : diff --git a/pokemod/ItemType.h b/pokemod/ItemType.h index 4d30addc..7106bfcb 100644 --- a/pokemod/ItemType.h +++ b/pokemod/ItemType.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class ItemType : public Object { public: diff --git a/pokemod/Map.cpp b/pokemod/Map.cpp index cd364a55..b97e414e 100644 --- a/pokemod/Map.cpp +++ b/pokemod/Map.cpp @@ -25,9 +25,6 @@ #include "MapWildList.h" #include "Pokemod.h" -// Qt includes -#include <QMap> - const QStringList Map::TypeStr = QStringList() << "Outdoor" << "Dungeon" << "Building"; Map::Map(const Map& map) : diff --git a/pokemod/Map.h b/pokemod/Map.h index cea8768e..23dc0244 100644 --- a/pokemod/Map.h +++ b/pokemod/Map.h @@ -27,7 +27,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class MapEffect; diff --git a/pokemod/MapEffect.h b/pokemod/MapEffect.h index 7272df71..9db65a2e 100644 --- a/pokemod/MapEffect.h +++ b/pokemod/MapEffect.h @@ -28,7 +28,6 @@ // Qt includes #include <QPixmap> -#include <QString> class MapEffect : public Object { diff --git a/pokemod/MapTrainer.cpp b/pokemod/MapTrainer.cpp index ab5abd21..11c0209f 100644 --- a/pokemod/MapTrainer.cpp +++ b/pokemod/MapTrainer.cpp @@ -24,9 +24,6 @@ #include "MapTrainerTeamMember.h" #include "Pokemod.h" -// Qt includes -#include <QMap> - MapTrainer::MapTrainer(const MapTrainer& trainer) : Object("MapTrainer", trainer.parent(), trainer.id()) { diff --git a/pokemod/MapTrainer.h b/pokemod/MapTrainer.h index 8553e0ca..1011a6a5 100644 --- a/pokemod/MapTrainer.h +++ b/pokemod/MapTrainer.h @@ -28,7 +28,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class MapTrainerTeamMember; diff --git a/pokemod/MapTrainerTeamMember.cpp b/pokemod/MapTrainerTeamMember.cpp index 34971486..94e44357 100644 --- a/pokemod/MapTrainerTeamMember.cpp +++ b/pokemod/MapTrainerTeamMember.cpp @@ -23,11 +23,6 @@ #include "Species.h" #include "Pokemod.h" -// Qt includes -#include <QMap> -#include <QMutableListIterator> -#include <QString> - MapTrainerTeamMember::MapTrainerTeamMember(const MapTrainerTeamMember& teamMember) : Object("MapTrainerTeamMember", teamMember.parent(), teamMember.id()) { diff --git a/pokemod/MapWarp.h b/pokemod/MapWarp.h index b8898d68..75a2d136 100644 --- a/pokemod/MapWarp.h +++ b/pokemod/MapWarp.h @@ -27,9 +27,6 @@ #include "../general/Flag.h" #include "../general/Point.h" -// Qt includes -#include <QString> - class MapWarp : public Object { public: diff --git a/pokemod/MapWildList.cpp b/pokemod/MapWildList.cpp index 3bc04a18..3aa51d85 100644 --- a/pokemod/MapWildList.cpp +++ b/pokemod/MapWildList.cpp @@ -24,9 +24,6 @@ #include "MapWildListEncounter.h" #include "Pokemod.h" -// Qt includes -#include <QMap> - const QStringList MapWildList::ControlStr = QStringList() << "Grass" << "Surfing" << "Fishing" << "Dive" << "Headbutt" << "Rock Smash"; MapWildList::MapWildList(const MapWildList& wildList) : diff --git a/pokemod/MapWildList.h b/pokemod/MapWildList.h index 1f79bfc3..866d5c52 100644 --- a/pokemod/MapWildList.h +++ b/pokemod/MapWildList.h @@ -26,7 +26,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class MapWildListEncounter; diff --git a/pokemod/MapWildListEncounter.h b/pokemod/MapWildListEncounter.h index 2c49a385..46c62afe 100644 --- a/pokemod/MapWildListEncounter.h +++ b/pokemod/MapWildListEncounter.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class MapWildListEncounter: public Object { public: diff --git a/pokemod/Move.cpp b/pokemod/Move.cpp index 10c8affe..20e49c21 100644 --- a/pokemod/Move.cpp +++ b/pokemod/Move.cpp @@ -22,9 +22,6 @@ #include "MoveEffect.h" #include "Pokemod.h" -// Qt includes -#include <QMap> - const QStringList Move::TargetStr = QStringList() << "Player" << "Enemy" << "All" << "Random"; const QStringList Move::ChoiceStr = QStringList() << "Player" << "Enemy" << "Random"; diff --git a/pokemod/Move.h b/pokemod/Move.h index f7a862ec..576a4346 100644 --- a/pokemod/Move.h +++ b/pokemod/Move.h @@ -27,7 +27,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class MoveEffect; diff --git a/pokemod/MoveEffect.h b/pokemod/MoveEffect.h index 63f60be3..20c81fd9 100644 --- a/pokemod/MoveEffect.h +++ b/pokemod/MoveEffect.h @@ -25,9 +25,6 @@ #include "../general/Exception.h" #include "../general/Fraction.h" -// Qt includes -#include <QString> - class MoveEffect : public Object { public: diff --git a/pokemod/Nature.h b/pokemod/Nature.h index becebb21..fd646f9d 100644 --- a/pokemod/Nature.h +++ b/pokemod/Nature.h @@ -26,9 +26,6 @@ #include "../general/Exception.h" #include "../general/Fraction.h" -// Qt includes -#include <QString> - class Nature : public Object { public: diff --git a/pokemod/Object.h b/pokemod/Object.h index 96fde63a..22a59ce2 100644 --- a/pokemod/Object.h +++ b/pokemod/Object.h @@ -18,11 +18,7 @@ #ifndef __POKEMOD_OBJECT__ #define __POKEMOD_OBJECT__ -// General includes -#include "../general/Exception.h" - // Qt includes -#include <QDomDocument> #include <QDomElement> class Object @@ -70,7 +66,7 @@ class Object } inline bool isGood() const { - return (0 <= m_id); + return ((0 <= m_id) && (INT_MAX != m_id)); } inline QString className() const diff --git a/pokemod/Pokemod.cpp b/pokemod/Pokemod.cpp index e4191a85..77ed6011 100644 --- a/pokemod/Pokemod.cpp +++ b/pokemod/Pokemod.cpp @@ -39,9 +39,6 @@ // Qt includes #include <QBuffer> -#include <QMap> -#include <QTextStream> -#include <QTime> const QStringList Pokemod::ValidationStr = QStringList() << "Message" << "Warn" << "Error"; const QStringList Pokemod::StatRBYStr = QStringList() << "HP" << "Attack" << "Defense" << "Speed" << "Special" << "Special" << "Accuracy" << "Evasion"; @@ -463,7 +460,7 @@ void Pokemod::validationMsg(const QString& message, const Validation level) cons throw(Exception(className(), "valOutput isn\'t set")); if (V_End < level) warning<BoundsException>("level"); - (*valOutput) << ValidationStr[level] << QDateTime::currentDateTime().toString(" (yyyyMMdd hh:mm:ss.zzz ddd): ") << message; + (*valOutput) << ValidationStr[level] << ": " << message; } void Pokemod::setValOutput(QStringList& s) diff --git a/pokemod/Pokemod.h b/pokemod/Pokemod.h index 571b0171..b31a8f23 100644 --- a/pokemod/Pokemod.h +++ b/pokemod/Pokemod.h @@ -31,7 +31,6 @@ // Qt includes #include <QList> #include <QPixmap> -#include <QString> // Forward declarations class Ability; diff --git a/pokemod/Rules.h b/pokemod/Rules.h index 7733d11c..07716c58 100644 --- a/pokemod/Rules.h +++ b/pokemod/Rules.h @@ -25,9 +25,6 @@ #include "../general/Exception.h" #include "../general/Fraction.h" -// Qt includes -#include <QString> - class Rules : public Object { public: diff --git a/pokemod/Species.cpp b/pokemod/Species.cpp index e6c2f0c3..f661d2af 100644 --- a/pokemod/Species.cpp +++ b/pokemod/Species.cpp @@ -27,7 +27,6 @@ // Qt includes #include <QBuffer> -#include <QMap> const QStringList Species::StyleStr = QStringList() << "Fluctuating" << "Fading" << "Slow" << "Normal" << "Fast" << "Erratic"; diff --git a/pokemod/Species.h b/pokemod/Species.h index c36ec148..03eab49e 100644 --- a/pokemod/Species.h +++ b/pokemod/Species.h @@ -28,7 +28,6 @@ // Qt includes #include <QList> -#include <QString> // Forward declarations class SpeciesAbility; diff --git a/pokemod/SpeciesAbility.h b/pokemod/SpeciesAbility.h index ffd856f9..ef295364 100644 --- a/pokemod/SpeciesAbility.h +++ b/pokemod/SpeciesAbility.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class SpeciesAbility : public Object { public: diff --git a/pokemod/SpeciesEvolution.h b/pokemod/SpeciesEvolution.h index 6cd9a5a3..0d954605 100644 --- a/pokemod/SpeciesEvolution.h +++ b/pokemod/SpeciesEvolution.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class SpeciesEvolution : public Object { public: diff --git a/pokemod/SpeciesItem.h b/pokemod/SpeciesItem.h index f84808e9..0b9da2cc 100644 --- a/pokemod/SpeciesItem.h +++ b/pokemod/SpeciesItem.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class SpeciesItem : public Object { public: diff --git a/pokemod/SpeciesMove.h b/pokemod/SpeciesMove.h index 0613a78a..d641798c 100644 --- a/pokemod/SpeciesMove.h +++ b/pokemod/SpeciesMove.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class SpeciesMove : public Object { public: diff --git a/pokemod/Store.cpp b/pokemod/Store.cpp index e8f1af69..27f33a6a 100644 --- a/pokemod/Store.cpp +++ b/pokemod/Store.cpp @@ -21,9 +21,6 @@ // Pokemod includes #include "Pokemod.h" -// Qt includes -#include <QMap> - Store::Store(const Store& store) : Object("Store", store.parent(), store.id()) { diff --git a/pokemod/Store.h b/pokemod/Store.h index 6a6a05a5..a13ca982 100644 --- a/pokemod/Store.h +++ b/pokemod/Store.h @@ -26,7 +26,6 @@ // Qt includes #include <QList> -#include <QString> class Store : public Object { diff --git a/pokemod/TODO b/pokemod/TODO index 5db4e0e4..febfdb29 100644 --- a/pokemod/TODO +++ b/pokemod/TODO @@ -12,5 +12,3 @@ Test library * Type
- Immune to weather
-
-Optimize header include (in headers)
diff --git a/pokemod/Tile.h b/pokemod/Tile.h index 0438cade..2525aed8 100644 --- a/pokemod/Tile.h +++ b/pokemod/Tile.h @@ -26,9 +26,6 @@ #include "../general/Exception.h" #include "../general/Fraction.h" -// Qt includes -#include <QString> - class Tile : public Object { public: diff --git a/pokemod/Time.h b/pokemod/Time.h index 2d17820b..00b2b6df 100644 --- a/pokemod/Time.h +++ b/pokemod/Time.h @@ -24,9 +24,6 @@ // General includes #include "../general/Exception.h" -// Qt includes -#include <QString> - class Time : public Object { public: diff --git a/pokemod/Type.h b/pokemod/Type.h index 09e2acb1..1d00dd51 100644 --- a/pokemod/Type.h +++ b/pokemod/Type.h @@ -25,9 +25,6 @@ // General includes #include "../general/Fraction.h" -// Qt includes -#include <QString> - class Type : public Object { public: diff --git a/pokemod/pokemod.pro b/pokemod/pokemod.pro index f4847a63..175b51d7 100644 --- a/pokemod/pokemod.pro +++ b/pokemod/pokemod.pro @@ -3,15 +3,11 @@ OBJECTS_DIR = .obj DESTDIR = ../../bin LIBS += -L../../bin \ -lgeneral -; QMAKE_CXXFLAGS += -pg -O0 CONFIG += qt warn_on dll exceptions debug CONFIG -= release - QT += xml -INCLUDEPATH += ../general - win32 { TARGETDEPS += $${DESTDIR}/general.dll }else { @@ -89,3 +85,5 @@ HEADERS += AbilityEffect.h \ INSTALLS += target target.path = /usr/lib`kde4-config --libsuffix` + +TARGETDEPS += ../../bin/libgeneral.so diff --git a/pokemodr/AbilityUI.cpp b/pokemodr/AbilityUI.cpp index cd9459ed..a307e0f0 100644 --- a/pokemodr/AbilityUI.cpp +++ b/pokemodr/AbilityUI.cpp @@ -18,38 +18,43 @@ // Header include #include "AbilityUI.h" +// Pokemod includes +#include "../pokemod/Ability.h" + AbilityUI::AbilityUI(Ability* ability, QWidget* parent) : - ObjectUI(parent), - m_ability(ability), - m_ability_mod(new Ability(*ability)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_ability, m_ability_mod); + setObjects(ability, new Ability(*ability)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +AbilityUI::~AbilityUI() +{ +} + void AbilityUI::setGui() { - varName->setText(m_ability_mod->name()); + varName->setText(static_cast<Ability*>(modified())->name()); } void AbilityUI::on_buttonApply_clicked() { - *m_ability = *m_ability_mod; + *static_cast<Ability*>(original()) = *static_cast<Ability*>(modified()); emit(changed(false)); } void AbilityUI::on_buttonDiscard_clicked() { - *m_ability_mod = *m_ability; + *static_cast<Ability*>(modified()) = *static_cast<Ability*>(original()); setGui(); emit(changed(false)); } void AbilityUI::on_varName_textChanged(const QString& name) { - m_ability_mod->setName(name); + static_cast<Ability*>(modified())->setName(name); emit(changed(true)); } diff --git a/pokemodr/AbilityUI.h b/pokemodr/AbilityUI.h index c6175dd1..0df53107 100644 --- a/pokemodr/AbilityUI.h +++ b/pokemodr/AbilityUI.h @@ -21,31 +21,25 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Ability.h" - // Form include #include "ui_ability.h" +// Forward declarations +class Ability; + class AbilityUI : public ObjectUI, private Ui::formAbility { Q_OBJECT public: AbilityUI(Ability* ability, QWidget* parent); - ~AbilityUI() - { - delete m_ability_mod; - } + ~AbilityUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); void on_varName_textChanged(const QString& name); private: void setGui(); - - Ability* m_ability; - Ability* m_ability_mod; }; #endif diff --git a/pokemodr/AuthorUI.cpp b/pokemodr/AuthorUI.cpp index 8e082277..556b1fe1 100644 --- a/pokemodr/AuthorUI.cpp +++ b/pokemodr/AuthorUI.cpp @@ -18,55 +18,57 @@ // Header include #include "AuthorUI.h" -// General includes -#include "../general/Exception.h" +// Pokemod includes +#include "../pokemod/Author.h" AuthorUI::AuthorUI(Author* author, QWidget* parent) : - ObjectUI(parent), - m_author(author), - m_author_mod(new Author(*author)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_author, m_author_mod); + setObjects(author, new Author(*author)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +AuthorUI::~AuthorUI() +{ +} + void AuthorUI::setGui() { - varName->setText(m_author_mod->name()); - varEmail->setText(m_author_mod->email()); - varRole->setText(m_author_mod->role()); + varName->setText(static_cast<Author*>(modified())->name()); + varEmail->setText(static_cast<Author*>(modified())->email()); + varRole->setText(static_cast<Author*>(modified())->role()); } void AuthorUI::on_buttonApply_clicked() { - *m_author = *m_author_mod; + *static_cast<Author*>(original()) = *static_cast<Author*>(modified()); emit(changed(false)); } void AuthorUI::on_buttonDiscard_clicked() { - *m_author_mod = *m_author; + *static_cast<Author*>(modified()) = *static_cast<Author*>(original()); setGui(); emit(changed(false)); } void AuthorUI::on_varName_textChanged(const QString& name) { - m_author_mod->setName(name); + static_cast<Author*>(modified())->setName(name); emit(changed(true)); } void AuthorUI::on_varEmail_textChanged(const QString& email) { - m_author_mod->setEmail(email); + static_cast<Author*>(modified())->setEmail(email); emit(changed(true)); } void AuthorUI::on_varRole_textChanged(const QString& role) { - m_author_mod->setRole(role); + static_cast<Author*>(modified())->setRole(role); emit(changed(true)); } diff --git a/pokemodr/AuthorUI.h b/pokemodr/AuthorUI.h index dc58b75b..9a6b1b02 100644 --- a/pokemodr/AuthorUI.h +++ b/pokemodr/AuthorUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Author.h" - // Form include #include "ui_author.h" +// Forward declarations +class Author; + class AuthorUI : public ObjectUI, private Ui::formAuthor { Q_OBJECT public: AuthorUI(Author* author, QWidget* parent); - ~AuthorUI() - { - delete m_author_mod; - } + ~AuthorUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -45,9 +42,6 @@ class AuthorUI : public ObjectUI, private Ui::formAuthor void on_varRole_textChanged(const QString& role); private: void setGui(); - - Author* m_author; - Author* m_author_mod; }; #endif diff --git a/pokemodr/BadgeUI.cpp b/pokemodr/BadgeUI.cpp index efbdf11c..7ee7df28 100644 --- a/pokemodr/BadgeUI.cpp +++ b/pokemodr/BadgeUI.cpp @@ -22,28 +22,26 @@ #include "FileDialog.h" // Pokemod includes +#include "../pokemod/Badge.h" #include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QListWidgetItem> -#include <QSize> BadgeUI::BadgeUI(Badge* badge, QWidget* parent) : - ObjectUI(parent), - m_badge(badge), - m_badge_mod(new Badge(*badge)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_badge, m_badge_mod); + setObjects(badge, new Badge(*badge)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +BadgeUI::~BadgeUI() +{ +} + void BadgeUI::initGui() { varHMs->addItems(Pokemod::HMStr); @@ -52,38 +50,38 @@ void BadgeUI::initGui() void BadgeUI::refreshGui() { varStat->clear(); - const bool isSplit = static_cast<const Pokemod*>(m_badge->pokemod())->rules()->specialSplit(); + const bool isSplit = static_cast<const Pokemod*>(static_cast<Badge*>(original())->pokemod())->rules()->specialSplit(); varStat->addItems((isSplit ? Pokemod::StatGSCStr : Pokemod::StatRBYStr).mid(0, isSplit ? Pokemod::ST_End_GSC : Pokemod::ST_End_RBY)); - varObey->setMaximum(static_cast<const Pokemod*>(m_badge->pokemod())->rules()->maxLevel()); + varObey->setMaximum(static_cast<const Pokemod*>(static_cast<Badge*>(original())->pokemod())->rules()->maxLevel()); } void BadgeUI::setGui() { - varName->setText(m_badge_mod->name()); - varObey->setValue(m_badge_mod->obey()); - varFace->setIcon(m_badge_mod->face()); - varBadge->setIcon(m_badge_mod->badge()); - varStatMultiplier->setValue(m_badge_mod->stat(varStat->currentIndex())); + varName->setText(static_cast<Badge*>(modified())->name()); + varObey->setValue(static_cast<Badge*>(modified())->obey()); + varFace->setIcon(static_cast<Badge*>(modified())->face()); + varBadge->setIcon(static_cast<Badge*>(modified())->badge()); + varStatMultiplier->setValue(static_cast<Badge*>(modified())->stat(varStat->currentIndex())); for (int i = 0; i < varHMs->count(); ++i) - varHMs->item(i)->setSelected(m_badge_mod->hm(i)); + varHMs->item(i)->setSelected(static_cast<Badge*>(modified())->hm(i)); } void BadgeUI::on_buttonApply_clicked() { - *m_badge = *m_badge_mod; + *static_cast<Badge*>(original()) = *static_cast<Badge*>(modified()); emit(changed(false)); } void BadgeUI::on_buttonDiscard_clicked() { - *m_badge_mod = *m_badge; + *static_cast<Badge*>(modified()) = *static_cast<Badge*>(original()); setGui(); emit(changed(false)); } void BadgeUI::on_varName_textChanged(const QString& name) { - m_badge_mod->setName(name); + static_cast<Badge*>(modified())->setName(name); emit(changed(true)); } @@ -91,7 +89,7 @@ void BadgeUI::on_varObey_valueChanged(const int obey) { try { - m_badge_mod->setObey(obey); + static_cast<Badge*>(modified())->setObey(obey); emit(changed(true)); } catch (BoundsException& exception) @@ -108,7 +106,7 @@ void BadgeUI::on_varFace_pressed() { try { - m_badge_mod->setFace(QPixmap(dialog.selectedFile())); + static_cast<Badge*>(modified())->setFace(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -125,7 +123,7 @@ void BadgeUI::on_varBadge_pressed() { try { - m_badge_mod->setBadge(QPixmap(dialog.selectedFile())); + static_cast<Badge*>(modified())->setBadge(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -145,7 +143,7 @@ void BadgeUI::on_varStatMultiplier_valueChanged(const Fraction& multiplier) { try { - m_badge_mod->setStat(varStat->currentIndex(), multiplier); + static_cast<Badge*>(modified())->setStat(varStat->currentIndex(), multiplier); emit(changed(true)); } catch (Exception& exception) @@ -160,7 +158,7 @@ void BadgeUI::on_varHMs_itemSelectionChanged() try { for (int i = 0; i < varHMs->count(); ++i) - m_badge_mod->setHm(i, varHMs->item(i)->isSelected()); + static_cast<Badge*>(modified())->setHm(i, varHMs->item(i)->isSelected()); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/BadgeUI.h b/pokemodr/BadgeUI.h index e6b69f4f..a3c2b146 100644 --- a/pokemodr/BadgeUI.h +++ b/pokemodr/BadgeUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Badge.h" - // Form include #include "ui_badge.h" +// Forward declarations +class Badge; + class BadgeUI : public ObjectUI, private Ui::formBadge { Q_OBJECT public: BadgeUI(Badge* badge, QWidget* parent); - ~BadgeUI() - { - delete m_badge_mod; - } + ~BadgeUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -51,9 +48,6 @@ class BadgeUI : public ObjectUI, private Ui::formBadge void initGui(); void refreshGui(); void setGui(); - - Badge* m_badge; - Badge* m_badge_mod; }; #endif diff --git a/pokemodr/CoinListObjectUI.cpp b/pokemodr/CoinListObjectUI.cpp index 84fa4a22..18c80886 100644 --- a/pokemodr/CoinListObjectUI.cpp +++ b/pokemodr/CoinListObjectUI.cpp @@ -19,6 +19,7 @@ #include "CoinListObjectUI.h" // Pokemod includes +#include "../pokemod/CoinListObject.h" #include "../pokemod/Item.h" #include "../pokemod/ItemEffect.h" #include "../pokemod/Pokemod.h" @@ -26,24 +27,22 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" -// Qt includes -#include <QVariant> - -CoinListObjectUI::CoinListObjectUI(CoinListObject* coinListObject, QWidget* parent) : +CoinListObjectUI::CoinListObjectUI(CoinListObject* object, QWidget* parent) : ObjectUI(parent), - m_lastType(-1), - m_object(coinListObject), - m_object_mod(new CoinListObject(*coinListObject)) + m_lastType(-1) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_object, m_object_mod); + setObjects(object, new CoinListObject(*object)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +CoinListObjectUI::~CoinListObjectUI() +{ +} + void CoinListObjectUI::initGui() { varType->addItems(CoinListObject::TypeStr); @@ -51,45 +50,45 @@ void CoinListObjectUI::initGui() void CoinListObjectUI::setGui() { - bool resetObjects = (m_object_mod->type() != m_lastType); - varType->setCurrentIndex(m_object_mod->type()); - m_lastType = m_object_mod->type(); + bool resetObjects = (static_cast<CoinListObject*>(modified())->type() != m_lastType); + varType->setCurrentIndex(static_cast<CoinListObject*>(modified())->type()); + m_lastType = static_cast<CoinListObject*>(modified())->type(); if (resetObjects) { varObject->clear(); - if (m_object_mod->type() == CoinListObject::Item) + if (static_cast<CoinListObject*>(modified())->type() == CoinListObject::Item) { - for (int i = 0; i < static_cast<const Pokemod*>(m_object->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(m_object->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->item(i); varObject->addItem(item->name()); varObject->setItemData(i, item->id()); } } else { - for (int i = 0; i < static_cast<const Pokemod*>(m_object->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(m_object->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->species(i); varObject->addItem(species->name()); varObject->setItemData(i, species->id()); } } } - varObject->setCurrentIndex(varObject->findData(m_object_mod->object())); - varAmount->setValue(m_object_mod->amount()); - varCost->setValue(m_object_mod->cost()); + varObject->setCurrentIndex(varObject->findData(static_cast<CoinListObject*>(modified())->object())); + varAmount->setValue(static_cast<CoinListObject*>(modified())->amount()); + varCost->setValue(static_cast<CoinListObject*>(modified())->cost()); } void CoinListObjectUI::on_buttonApply_clicked() { - *m_object = *m_object_mod; + *static_cast<CoinListObject*>(original()) = *static_cast<CoinListObject*>(modified()); emit(changed(false)); } void CoinListObjectUI::on_buttonDiscard_clicked() { - *m_object_mod = *m_object; + *static_cast<CoinListObject*>(modified()) = *static_cast<CoinListObject*>(original()); setGui(); emit(changed(false)); } @@ -98,7 +97,7 @@ void CoinListObjectUI::on_varType_currentIndexChanged(const int type) { try { - m_object_mod->setType(type); + static_cast<CoinListObject*>(modified())->setType(type); emit(changed(true)); } catch (BoundsException& exception) @@ -112,7 +111,7 @@ void CoinListObjectUI::on_varObject_currentIndexChanged(const int obey) { try { - m_object_mod->setObject(varObject->itemData(obey).toInt()); + static_cast<CoinListObject*>(modified())->setObject(varObject->itemData(obey).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -126,7 +125,7 @@ void CoinListObjectUI::on_varAmount_valueChanged(const int amount) { try { - m_object_mod->setAmount(amount); + static_cast<CoinListObject*>(modified())->setAmount(amount); emit(changed(true)); } catch (BoundsException& exception) @@ -140,7 +139,7 @@ void CoinListObjectUI::on_varCost_valueChanged(const int cost) { try { - m_object_mod->setCost(cost); + static_cast<CoinListObject*>(modified())->setCost(cost); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/CoinListObjectUI.h b/pokemodr/CoinListObjectUI.h index 5fbba622..a5403ea8 100644 --- a/pokemodr/CoinListObjectUI.h +++ b/pokemodr/CoinListObjectUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/CoinListObject.h" - // Form include #include "ui_coinlistobject.h" +// Forward declarations +class CoinListObject; + class CoinListObjectUI : public ObjectUI, private Ui::formCoinListObject { Q_OBJECT public: CoinListObjectUI(CoinListObject* object, QWidget* parent); - ~CoinListObjectUI() - { - delete m_object_mod; - } + ~CoinListObjectUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -49,9 +46,6 @@ class CoinListObjectUI : public ObjectUI, private Ui::formCoinListObject void setGui(); bool m_lastType; - - CoinListObject* m_object; - CoinListObject* m_object_mod; }; #endif diff --git a/pokemodr/CoinListUI.cpp b/pokemodr/CoinListUI.cpp index d8eadc3d..54355187 100644 --- a/pokemodr/CoinListUI.cpp +++ b/pokemodr/CoinListUI.cpp @@ -19,35 +19,34 @@ #include "CoinListUI.h" // Pokemod includes +#include "../pokemod/CoinList.h" #include "../pokemod/Item.h" #include "../pokemod/ItemEffect.h" #include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QVariant> CoinListUI::CoinListUI(CoinList* coinList, QWidget* parent) : - ObjectUI(parent), - m_coinList(coinList), - m_coinList_mod(new CoinList(*coinList)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_coinList, m_coinList_mod); + setObjects(coinList, new CoinList(*coinList)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +CoinListUI::~CoinListUI() +{ +} + void CoinListUI::refreshGui() { varValue->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_coinList->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<CoinList*>(original())->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(m_coinList->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(static_cast<CoinList*>(original())->pokemod())->item(i); for (int j = 0; j < item->effectCount(); ++j) { const ItemEffect* effect = item->effect(j); @@ -62,26 +61,26 @@ void CoinListUI::refreshGui() void CoinListUI::setGui() { - varName->setText(m_coinList_mod->name()); - varValue->setCurrentIndex(varValue->findData(m_coinList_mod->value())); + varName->setText(static_cast<CoinList*>(modified())->name()); + varValue->setCurrentIndex(varValue->findData(static_cast<CoinList*>(modified())->value())); } void CoinListUI::on_buttonApply_clicked() { - *m_coinList = *m_coinList_mod; + *static_cast<CoinList*>(original()) = *static_cast<CoinList*>(modified()); emit(changed(false)); } void CoinListUI::on_buttonDiscard_clicked() { - *m_coinList_mod = *m_coinList; + *static_cast<CoinList*>(modified()) = *static_cast<CoinList*>(original()); setGui(); emit(changed(false)); } void CoinListUI::on_varName_textChanged(const QString& name) { - m_coinList_mod->setName(name); + static_cast<CoinList*>(modified())->setName(name); emit(changed(true)); } @@ -89,7 +88,7 @@ void CoinListUI::on_varValue_currentIndexChanged(const int value) { try { - m_coinList_mod->setValue(varValue->itemData(value).toInt()); + static_cast<CoinList*>(modified())->setValue(varValue->itemData(value).toInt()); emit(changed(true)); } catch (Exception& exception) diff --git a/pokemodr/CoinListUI.h b/pokemodr/CoinListUI.h index f19c8296..dc30b4d7 100644 --- a/pokemodr/CoinListUI.h +++ b/pokemodr/CoinListUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/CoinList.h" - // Form include #include "ui_coinlist.h" +// Forward declarations +class CoinList; + class CoinListUI : public ObjectUI, private Ui::formCoinList { Q_OBJECT public: CoinListUI(CoinList* coinList, QWidget* parent); - ~CoinListUI() - { - delete m_coinList_mod; - } + ~CoinListUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -45,9 +42,6 @@ class CoinListUI : public ObjectUI, private Ui::formCoinList private: void refreshGui(); void setGui(); - - CoinList* m_coinList; - CoinList* m_coinList_mod; }; #endif diff --git a/pokemodr/EggGroupUI.cpp b/pokemodr/EggGroupUI.cpp index ca67a6d9..049e5182 100644 --- a/pokemodr/EggGroupUI.cpp +++ b/pokemodr/EggGroupUI.cpp @@ -18,38 +18,43 @@ // Header include #include "EggGroupUI.h" +// Pokemod includes +#include "../pokemod/EggGroup.h" + EggGroupUI::EggGroupUI(EggGroup* eggGroup, QWidget* parent) : - ObjectUI(parent), - m_eggGroup(eggGroup), - m_eggGroup_mod(new EggGroup(*eggGroup)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_eggGroup, m_eggGroup_mod); + setObjects(eggGroup, new EggGroup(*eggGroup)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +EggGroupUI::~EggGroupUI() +{ +} + void EggGroupUI::setGui() { - varName->setText(m_eggGroup_mod->name()); + varName->setText(static_cast<EggGroup*>(modified())->name()); } void EggGroupUI::on_buttonApply_clicked() { - *m_eggGroup = *m_eggGroup_mod; + *static_cast<EggGroup*>(original()) = *static_cast<EggGroup*>(modified()); emit(changed(false)); } void EggGroupUI::on_buttonDiscard_clicked() { - *m_eggGroup_mod = *m_eggGroup; + *static_cast<EggGroup*>(modified()) = *static_cast<EggGroup*>(original()); setGui(); emit(changed(false)); } void EggGroupUI::on_varName_textChanged(const QString& name) { - m_eggGroup_mod->setName(name); + static_cast<EggGroup*>(modified())->setName(name); emit(changed(true)); } diff --git a/pokemodr/EggGroupUI.h b/pokemodr/EggGroupUI.h index 4e64e609..cac4402c 100644 --- a/pokemodr/EggGroupUI.h +++ b/pokemodr/EggGroupUI.h @@ -21,31 +21,25 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/EggGroup.h" - // Form include #include "ui_egggroup.h" +// Forward declarations +class EggGroup; + class EggGroupUI : public ObjectUI, private Ui::formEggGroup { Q_OBJECT public: EggGroupUI(EggGroup* eggGroup, QWidget* parent); - ~EggGroupUI() - { - delete m_eggGroup_mod; - } + ~EggGroupUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); void on_varName_textChanged(const QString& name); private: void setGui(); - - EggGroup* m_eggGroup; - EggGroup* m_eggGroup_mod; }; #endif diff --git a/pokemodr/FractionWidget.cpp b/pokemodr/FractionWidget.cpp index 24d257e0..ba2a505d 100644 --- a/pokemodr/FractionWidget.cpp +++ b/pokemodr/FractionWidget.cpp @@ -20,7 +20,6 @@ // Qt includes #include <QMetaObject> -#include <QString> FractionWidget::FractionWidget(QWidget* parent, const Fraction& value) : QWidget(parent), diff --git a/pokemodr/FractionWidget.h b/pokemodr/FractionWidget.h index 9ac570a4..87da9ddd 100644 --- a/pokemodr/FractionWidget.h +++ b/pokemodr/FractionWidget.h @@ -19,10 +19,9 @@ #define __FRACWIDGET__ // General includes -#include "Fraction.h" +#include "../general/Fraction.h" // Qt includes -#include <QObject> #include <QWidget> // Form include diff --git a/pokemodr/ItemTypeUI.cpp b/pokemodr/ItemTypeUI.cpp index 731243d2..a4bf120a 100644 --- a/pokemodr/ItemTypeUI.cpp +++ b/pokemodr/ItemTypeUI.cpp @@ -20,49 +20,53 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" + +// Pokemod includes +#include "../pokemod/ItemType.h" ItemTypeUI::ItemTypeUI(ItemType* itemType, QWidget* parent) : - ObjectUI(parent), - m_itemType(itemType), - m_itemType_mod(new ItemType(*itemType)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_itemType, m_itemType_mod); + setObjects(itemType, new ItemType(*itemType)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +ItemTypeUI::~ItemTypeUI() +{ +} + void ItemTypeUI::setGui() { - varName->setText(m_itemType_mod->name()); - varComputer->setValue(m_itemType_mod->computer()); - varPlayer->setValue(m_itemType_mod->player()); + varName->setText(static_cast<ItemType*>(modified())->name()); + varComputer->setValue(static_cast<ItemType*>(modified())->computer()); + varPlayer->setValue(static_cast<ItemType*>(modified())->player()); } void ItemTypeUI::on_buttonApply_clicked() { - *m_itemType = *m_itemType_mod; + *static_cast<ItemType*>(original()) = *static_cast<ItemType*>(modified()); emit(changed(false)); } void ItemTypeUI::on_buttonDiscard_clicked() { - *m_itemType_mod = *m_itemType; + *static_cast<ItemType*>(modified()) = *static_cast<ItemType*>(original()); setGui(); emit(changed(false)); } void ItemTypeUI::on_varName_textChanged(const QString& name) { - m_itemType_mod->setName(name); + static_cast<ItemType*>(modified())->setName(name); emit(changed(true)); } void ItemTypeUI::on_varComputer_valueChanged(const int computer) { - m_itemType_mod->setComputer(computer); + static_cast<ItemType*>(modified())->setComputer(computer); emit(changed(true)); } @@ -70,7 +74,7 @@ void ItemTypeUI::on_varPlayer_valueChanged(const int player) { try { - m_itemType_mod->setPlayer(player); + static_cast<ItemType*>(modified())->setPlayer(player); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/ItemTypeUI.h b/pokemodr/ItemTypeUI.h index ccdefc36..2f6cfbf8 100644 --- a/pokemodr/ItemTypeUI.h +++ b/pokemodr/ItemTypeUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/ItemType.h" - // Form include #include "ui_itemtype.h" +// Forward declarations +class ItemType; + class ItemTypeUI : public ObjectUI, private Ui::formItemType { Q_OBJECT public: ItemTypeUI(ItemType* itemType, QWidget* parent); - ~ItemTypeUI() - { - delete m_itemType_mod; - } + ~ItemTypeUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -45,9 +42,6 @@ class ItemTypeUI : public ObjectUI, private Ui::formItemType void on_varPlayer_valueChanged(const int player); private: void setGui(); - - ItemType* m_itemType; - ItemType* m_itemType_mod; }; #endif diff --git a/pokemodr/ItemUI.cpp b/pokemodr/ItemUI.cpp index 9257b0a8..f2d50867 100644 --- a/pokemodr/ItemUI.cpp +++ b/pokemodr/ItemUI.cpp @@ -19,68 +19,70 @@ #include "ItemUI.h" // Pokemod includes +#include "../pokemod/Item.h" #include "../pokemod/ItemType.h" #include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" ItemUI::ItemUI(Item* item, QWidget* parent) : - ObjectUI(parent), - m_item(item), - m_item_mod(new Item(*item)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_item, m_item_mod); + setObjects(item, new Item(*item)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +ItemUI::~ItemUI() +{ +} + void ItemUI::refreshGui() { varType->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_item->pokemod())->itemTypeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Item*>(original())->pokemod())->itemTypeCount(); ++i) { - const ItemType* itemType = static_cast<const Pokemod*>(m_item->pokemod())->itemType(i); + const ItemType* itemType = static_cast<const Pokemod*>(static_cast<Item*>(original())->pokemod())->itemType(i); varType->addItem(itemType->name()); varType->setItemData(i, itemType->id()); } - varPrice->setMaximum(static_cast<const Pokemod*>(m_item->pokemod())->rules()->maxMoney()); + varPrice->setMaximum(static_cast<const Pokemod*>(static_cast<Item*>(original())->pokemod())->rules()->maxMoney()); } void ItemUI::setGui() { - varName->setText(m_item_mod->name()); - boxSellable->setChecked(m_item_mod->sellable() ? Qt::Checked : Qt::Unchecked); - varType->setCurrentIndex(varType->findData(m_item_mod->type())); - varPrice->setValue(m_item_mod->price()); - varDescription->setText(m_item_mod->description()); + varName->setText(static_cast<Item*>(modified())->name()); + boxSellable->setChecked(static_cast<Item*>(modified())->sellable() ? Qt::Checked : Qt::Unchecked); + varType->setCurrentIndex(varType->findData(static_cast<Item*>(modified())->type())); + varPrice->setValue(static_cast<Item*>(modified())->price()); + varDescription->setText(static_cast<Item*>(modified())->description()); } void ItemUI::on_buttonApply_clicked() { - *m_item = *m_item_mod; + *static_cast<Item*>(original()) = *static_cast<Item*>(modified()); emit(changed(false)); } void ItemUI::on_buttonDiscard_clicked() { - *m_item_mod = *m_item; + *static_cast<Item*>(modified()) = *static_cast<Item*>(original()); setGui(); emit(changed(false)); } void ItemUI::on_varName_textChanged(const QString& name) { - m_item_mod->setName(name); + static_cast<Item*>(modified())->setName(name); emit(changed(true)); } void ItemUI::on_boxSellable_toggled(const bool sellable) { - m_item_mod->setSellable(sellable); + static_cast<Item*>(modified())->setSellable(sellable); emit(changed(true)); } @@ -88,7 +90,7 @@ void ItemUI::on_varType_currentIndexChanged(const int type) { try { - m_item_mod->setType(varType->itemData(type).toInt()); + static_cast<Item*>(modified())->setType(varType->itemData(type).toInt()); emit(changed(true)); } catch (Exception& exception) @@ -102,7 +104,7 @@ void ItemUI::on_varPrice_valueChanged(const int price) { try { - m_item_mod->setPrice(price); + static_cast<Item*>(modified())->setPrice(price); emit(changed(true)); } catch (BoundsException& exception) @@ -114,6 +116,6 @@ void ItemUI::on_varPrice_valueChanged(const int price) void ItemUI::on_varDescription_textChanged() { - m_item_mod->setDescription(varDescription->toPlainText()); + static_cast<Item*>(modified())->setDescription(varDescription->toPlainText()); emit(changed(true)); } diff --git a/pokemodr/ItemUI.h b/pokemodr/ItemUI.h index fe4daaa8..af807c7b 100644 --- a/pokemodr/ItemUI.h +++ b/pokemodr/ItemUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Item.h" - // Form include #include "ui_item.h" +// Forward declarations +class Item; + class ItemUI : public ObjectUI, private Ui::formItem { Q_OBJECT public: ItemUI(Item* item, QWidget* parent); - ~ItemUI() - { - delete m_item_mod; - } + ~ItemUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -48,9 +45,6 @@ class ItemUI : public ObjectUI, private Ui::formItem private: void refreshGui(); void setGui(); - - Item* m_item; - Item* m_item_mod; }; #endif diff --git a/pokemodr/MapTrainerTeamMemberUI.cpp b/pokemodr/MapTrainerTeamMemberUI.cpp index 531300ef..f8836671 100644 --- a/pokemodr/MapTrainerTeamMemberUI.cpp +++ b/pokemodr/MapTrainerTeamMemberUI.cpp @@ -20,57 +20,56 @@ // Pokemod includes #include "../pokemod/Item.h" +#include "../pokemod/MapTrainerTeamMember.h" #include "../pokemod/Nature.h" #include "../pokemod/Pokemod.h" #include "../pokemod/Species.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QListWidgetItem> MapTrainerTeamMemberUI::MapTrainerTeamMemberUI(MapTrainerTeamMember* teamMember, QWidget* parent) : - ObjectUI(parent), - m_teamMember(teamMember), - m_teamMember_mod(new MapTrainerTeamMember(*teamMember)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_teamMember, m_teamMember_mod); + setObjects(teamMember, new MapTrainerTeamMember(*teamMember)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +MapTrainerTeamMemberUI::~MapTrainerTeamMemberUI() +{ +} + void MapTrainerTeamMemberUI::refreshGui() { varSpecies->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_teamMember->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(m_teamMember->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->species(i); varSpecies->addItem(species->name()); varSpecies->setItemData(i, species->id()); } - varLevel->setMaximum(static_cast<const Pokemod*>(m_teamMember->pokemod())->rules()->maxLevel()); + varLevel->setMaximum(static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->rules()->maxLevel()); } void MapTrainerTeamMemberUI::setGui() { - varSpecies->setCurrentIndex(varSpecies->findData(m_teamMember_mod->species())); - varLevel->setValue(m_teamMember_mod->level()); - varNature->setCurrentIndex(varNature->findData(m_teamMember_mod->nature())); + varSpecies->setCurrentIndex(varSpecies->findData(static_cast<MapTrainerTeamMember*>(modified())->species())); + varLevel->setValue(static_cast<MapTrainerTeamMember*>(modified())->level()); + varNature->setCurrentIndex(varNature->findData(static_cast<MapTrainerTeamMember*>(modified())->nature())); for (int i = 0; i < varItems->count(); ++i) { QListWidgetItem* widgetItem = varItems->item(i); - widgetItem->setSelected(m_teamMember_mod->item(widgetItem->data(Qt::UserRole).toInt())); + widgetItem->setSelected(static_cast<MapTrainerTeamMember*>(modified())->item(widgetItem->data(Qt::UserRole).toInt())); } varNature->clear(); - if (static_cast<const Pokemod*>(m_teamMember->pokemod())->rules()->natureAllowed()) + if (static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->rules()->natureAllowed()) { - for (int i = 0; i < static_cast<const Pokemod*>(m_teamMember->pokemod())->natureCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->natureCount(); ++i) { - const Nature* nature = static_cast<const Pokemod*>(m_teamMember->pokemod())->nature(i); + const Nature* nature = static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->nature(i); varNature->addItem(nature->name()); varNature->setItemData(i, nature->id()); } @@ -78,11 +77,11 @@ void MapTrainerTeamMemberUI::setGui() else boxNature->setEnabled(false); varItems->clear(); - if (static_cast<const Pokemod*>(m_teamMember->pokemod())->rules()->holdItems()) + if (static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->rules()->holdItems()) { - for (int i = 0; i < static_cast<const Pokemod*>(m_teamMember->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(m_teamMember->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->item(i); QListWidgetItem* widgetItem = new QListWidgetItem(item->name(), varItems); widgetItem->setData(Qt::UserRole, item->id()); } @@ -93,13 +92,13 @@ void MapTrainerTeamMemberUI::setGui() void MapTrainerTeamMemberUI::on_buttonApply_clicked() { - *m_teamMember = *m_teamMember_mod; + *static_cast<MapTrainerTeamMember*>(original()) = *static_cast<MapTrainerTeamMember*>(modified()); emit(changed(false)); } void MapTrainerTeamMemberUI::on_buttonDiscard_clicked() { - *m_teamMember_mod = *m_teamMember; + *static_cast<MapTrainerTeamMember*>(modified()) = *static_cast<MapTrainerTeamMember*>(original()); setGui(); emit(changed(false)); } @@ -108,7 +107,7 @@ void MapTrainerTeamMemberUI::on_varSpecies_currentIndexChanged(const int species { try { - m_teamMember_mod->setSpecies(varSpecies->itemData(species).toInt()); + static_cast<MapTrainerTeamMember*>(modified())->setSpecies(varSpecies->itemData(species).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -122,7 +121,7 @@ void MapTrainerTeamMemberUI::on_varLevel_valueChanged(const int level) { try { - m_teamMember_mod->setLevel(level); + static_cast<MapTrainerTeamMember*>(modified())->setLevel(level); emit(changed(true)); } catch (Exception& exception) @@ -136,7 +135,7 @@ void MapTrainerTeamMemberUI::on_varNature_currentIndexChanged(const int nature) { try { - m_teamMember_mod->setNature(varNature->itemData(nature).toInt()); + static_cast<MapTrainerTeamMember*>(modified())->setNature(varNature->itemData(nature).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -153,7 +152,7 @@ void MapTrainerTeamMemberUI::on_varItems_itemSelectionChanged() for (int i = 0; i < varItems->count(); ++i) { const QListWidgetItem* widgetItem = varItems->item(i); - m_teamMember_mod->setItem(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); + static_cast<MapTrainerTeamMember*>(modified())->setItem(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); } emit(changed(true)); } diff --git a/pokemodr/MapTrainerTeamMemberUI.h b/pokemodr/MapTrainerTeamMemberUI.h index 14a73696..e31e867b 100644 --- a/pokemodr/MapTrainerTeamMemberUI.h +++ b/pokemodr/MapTrainerTeamMemberUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/MapTrainerTeamMember.h" - // Form include #include "ui_maptrainerteammember.h" +// Forward declarations +class MapTrainerTeamMember; + class MapTrainerTeamMemberUI : public ObjectUI, private Ui::formMapTrainerTeamMember { Q_OBJECT public: MapTrainerTeamMemberUI(MapTrainerTeamMember* teamMember, QWidget* parent); - ~MapTrainerTeamMemberUI() - { - delete m_teamMember_mod; - } + ~MapTrainerTeamMemberUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -47,9 +44,6 @@ class MapTrainerTeamMemberUI : public ObjectUI, private Ui::formMapTrainerTeamMe private: void refreshGui(); void setGui(); - - MapTrainerTeamMember* m_teamMember; - MapTrainerTeamMember* m_teamMember_mod; }; #endif diff --git a/pokemodr/MapUI.cpp b/pokemodr/MapUI.cpp index 36a2cc3e..fd23d637 100644 --- a/pokemodr/MapUI.cpp +++ b/pokemodr/MapUI.cpp @@ -18,32 +18,42 @@ // Header include #include "MapUI.h" +// PokeModr includes +#include "TileDelegate.h" +#include "TilemapModel.h" + // Pokemod includes +#include "../pokemod/Map.h" #include "../pokemod/MapWarp.h" #include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" // Qt includes #include <QHeaderView> -#include <QIcon> + +// KDE includes +#include <kicon.h> MapUI::MapUI(Map* map, QWidget* parent) : ObjectUI(parent), - m_map(map), - m_map_mod(new Map(*map)), - m_model(new TilemapModel(this, m_map_mod->map(), static_cast<const Pokemod*>(m_map->pokemod()))), m_delegate(new TileDelegate(this)) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_map, m_map_mod); + setObjects(map, new Map(*map)); + m_model = new TilemapModel(this, static_cast<Map*>(modified())->map(), static_cast<const Pokemod*>(static_cast<Map*>(original())->pokemod())); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +MapUI::~MapUI() +{ + delete m_model; + delete m_delegate; +} + void MapUI::initGui() { varType->addItems(Map::TypeStr); @@ -58,9 +68,9 @@ void MapUI::initGui() void MapUI::refreshGui() { varFlyWarp->clear(); - for (int i = 0; i < m_map->warpCount(); ++i) + for (int i = 0; i < static_cast<Map*>(original())->warpCount(); ++i) { - const MapWarp* warp = m_map->warp(i); + const MapWarp* warp = static_cast<Map*>(original())->warp(i); varFlyWarp->addItem(warp->name()); varFlyWarp->setItemData(i, warp->id()); } @@ -68,36 +78,36 @@ void MapUI::refreshGui() void MapUI::setGui() { - varName->setText(m_map_mod->name()); - boxFlyWarp->setChecked((m_map_mod->flyWarp() == INT_MAX) ? Qt::Unchecked : Qt::Checked); - varFlyWarp->setCurrentIndex(varFlyWarp->findData(m_map_mod->flyWarp())); - varType->setCurrentIndex(m_map_mod->type()); + varName->setText(static_cast<Map*>(modified())->name()); + boxFlyWarp->setChecked((static_cast<Map*>(modified())->flyWarp() == INT_MAX) ? Qt::Unchecked : Qt::Checked); + varFlyWarp->setCurrentIndex(varFlyWarp->findData(static_cast<Map*>(modified())->flyWarp())); + varType->setCurrentIndex(static_cast<Map*>(modified())->type()); buttonDeleteColumn->setEnabled(0 < m_model->columnCount()); buttonDeleteRow->setEnabled(0 < m_model->rowCount()); } void MapUI::on_buttonApply_clicked() { - *m_map = *m_map_mod; + *static_cast<Map*>(original()) = *static_cast<Map*>(modified()); emit(changed(false)); } void MapUI::on_buttonDiscard_clicked() { - *m_map_mod = *m_map; + *static_cast<Map*>(modified()) = *static_cast<Map*>(original()); setGui(); emit(changed(false)); } void MapUI::on_varName_textChanged(const QString& name) { - m_map_mod->setName(name); + static_cast<Map*>(modified())->setName(name); emit(changed(true)); } void MapUI::on_boxFlyWarp_toggled() { - m_map_mod->setFlyWarp(-1); + static_cast<Map*>(modified())->setFlyWarp(-1); emit(changed(true)); } @@ -105,7 +115,7 @@ void MapUI::on_varFlyWarp_currentIndexChanged(const int flyWarp) { try { - m_map_mod->setFlyWarp(varFlyWarp->itemData(flyWarp).toInt()); + static_cast<Map*>(modified())->setFlyWarp(varFlyWarp->itemData(flyWarp).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -119,7 +129,7 @@ void MapUI::on_varType_currentIndexChanged(const int type) { try { - m_map_mod->setType(type); + static_cast<Map*>(modified())->setType(type); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/MapUI.h b/pokemodr/MapUI.h index 475589a7..1dd70cfa 100644 --- a/pokemodr/MapUI.h +++ b/pokemodr/MapUI.h @@ -20,27 +20,22 @@ // PokeModr includes #include "ObjectUI.h" -#include "TileDelegate.h" -#include "TilemapModel.h" - -// Pokemod includes -#include "../pokemod/Map.h" // Form include #include "ui_map.h" +// Forward declarations +class Map; +class TilemapModel; +class TileDelegate; + class MapUI : public ObjectUI, private Ui::formMap { Q_OBJECT public: MapUI(Map* map, QWidget* parent); - ~MapUI() - { - delete m_model; - delete m_delegate; - delete m_map_mod; - } + ~MapUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -59,9 +54,6 @@ class MapUI : public ObjectUI, private Ui::formMap void refreshGui(); void setGui(); - Map* m_map; - Map* m_map_mod; - TilemapModel* m_model; TileDelegate* m_delegate; }; diff --git a/pokemodr/MapWarpUI.cpp b/pokemodr/MapWarpUI.cpp index 9eb84fe8..551d0202 100644 --- a/pokemodr/MapWarpUI.cpp +++ b/pokemodr/MapWarpUI.cpp @@ -20,29 +20,28 @@ // Pokemod includes #include "../pokemod/Dialog.h" -#include "../pokemod/Pokemod.h" #include "../pokemod/Map.h" +#include "../pokemod/MapWarp.h" +#include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QListWidgetItem> MapWarpUI::MapWarpUI(MapWarp* warp, QWidget* parent) : ObjectUI(parent), - m_lastMap(-1), - m_warp(warp), - m_warp_mod(new MapWarp(*warp)) + m_lastMap(-1) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_warp, m_warp_mod); + setObjects(warp, new MapWarp(*warp)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +MapWarpUI::~MapWarpUI() +{ +} + void MapWarpUI::initGui() { varActivation->addItems(Pokemod::DirectionStr.mid(0, Pokemod::D_End)); @@ -52,16 +51,16 @@ void MapWarpUI::initGui() void MapWarpUI::refreshGui() { varToMap->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_warp->pokemod())->mapCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->mapCount(); ++i) { - const Map* map = static_cast<const Pokemod*>(m_warp->pokemod())->map(i); + const Map* map = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->map(i); varToMap->addItem(map->name()); varToMap->setItemData(i, map->id()); } varDialog->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_warp->pokemod())->dialogCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->dialogCount(); ++i) { - const Dialog* dialog = static_cast<const Pokemod*>(m_warp->pokemod())->dialog(i); + const Dialog* dialog = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->dialog(i); varDialog->addItem(dialog->dialog().mid(0, 25)); varDialog->setItemData(i, dialog->id()); } @@ -69,27 +68,27 @@ void MapWarpUI::refreshGui() void MapWarpUI::setGui() { - const bool resetWarps = (m_warp_mod->toMap() == m_lastMap); - varName->setText(m_warp_mod->name()); - varCoordinate->setValue(m_warp_mod->coordinate()); + const bool resetWarps = (static_cast<MapWarp*>(modified())->toMap() == m_lastMap); + varName->setText(static_cast<MapWarp*>(modified())->name()); + varCoordinate->setValue(static_cast<MapWarp*>(modified())->coordinate()); for (int i = 0; i < varActivation->count(); ++i) - varActivation->item(i)->setSelected(m_warp_mod->from(i)); - varDirectionOut->setCurrentIndex(m_warp_mod->directionOut()); - varType->setCurrentIndex(m_warp_mod->warpType()); - varBiking->setCheckState((m_warp_mod->isBiking() == Flag::On) ? Qt::Checked : ((m_warp_mod->isBiking() == Flag::Off) ? Qt::Unchecked : Qt::PartiallyChecked)); - varFlash->setCheckState((m_warp_mod->isFlash() == Flag::On) ? Qt::Checked : ((m_warp_mod->isFlash() == Flag::Off) ? Qt::Unchecked : Qt::PartiallyChecked)); - varFog->setCheckState((m_warp_mod->isFoggy() == Flag::On) ? Qt::Checked : ((m_warp_mod->isFoggy() == Flag::Off) ? Qt::Unchecked : Qt::PartiallyChecked)); - varToMap->setCurrentIndex(varToMap->findData(m_warp_mod->toMap())); - m_lastMap = m_warp_mod->toMap(); + varActivation->item(i)->setSelected(static_cast<MapWarp*>(modified())->from(i)); + varDirectionOut->setCurrentIndex(static_cast<MapWarp*>(modified())->directionOut()); + varType->setCurrentIndex(static_cast<MapWarp*>(modified())->warpType()); + varBiking->setCheckState((static_cast<MapWarp*>(modified())->isBiking() == Flag::On) ? Qt::Checked : ((static_cast<MapWarp*>(modified())->isBiking() == Flag::Off) ? Qt::Unchecked : Qt::PartiallyChecked)); + varFlash->setCheckState((static_cast<MapWarp*>(modified())->isFlash() == Flag::On) ? Qt::Checked : ((static_cast<MapWarp*>(modified())->isFlash() == Flag::Off) ? Qt::Unchecked : Qt::PartiallyChecked)); + varFog->setCheckState((static_cast<MapWarp*>(modified())->isFoggy() == Flag::On) ? Qt::Checked : ((static_cast<MapWarp*>(modified())->isFoggy() == Flag::Off) ? Qt::Unchecked : Qt::PartiallyChecked)); + varToMap->setCurrentIndex(varToMap->findData(static_cast<MapWarp*>(modified())->toMap())); + m_lastMap = static_cast<MapWarp*>(modified())->toMap(); if (resetWarps) { varToWarp->clear(); - int index = static_cast<const Pokemod*>(m_warp->pokemod())->mapIndex(m_warp_mod->toMap()); + int index = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->mapIndex(static_cast<MapWarp*>(modified())->toMap()); if (index != INT_MAX) { try { - const Map* map = static_cast<const Pokemod*>(m_warp->pokemod())->map(index); + const Map* map = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->map(index); for (int i = 0; i < map->warpCount(); ++i) { const MapWarp* warp = map->warp(i); @@ -103,38 +102,38 @@ void MapWarpUI::setGui() } } } - varToWarp->setCurrentIndex(varToMap->findData(m_warp_mod->toWarp())); - boxFlag->setChecked((m_warp_mod->workingFlag().status() == Flag::Ignore) ? Qt::Unchecked : Qt::Checked); + varToWarp->setCurrentIndex(varToMap->findData(static_cast<MapWarp*>(modified())->toWarp())); + boxFlag->setChecked((static_cast<MapWarp*>(modified())->workingFlag().status() == Flag::Ignore) ? Qt::Unchecked : Qt::Checked); if (boxFlag->isChecked()) { - varFlag->setValue(m_warp_mod->workingFlag().flag()); - varState->setCheckState((m_warp_mod->workingFlag().status() == Flag::On) ? Qt::Checked : Qt::Unchecked); + varFlag->setValue(static_cast<MapWarp*>(modified())->workingFlag().flag()); + varState->setCheckState((static_cast<MapWarp*>(modified())->workingFlag().status() == Flag::On) ? Qt::Checked : Qt::Unchecked); } - varDialog->setCurrentIndex(varDialog->findData(m_warp_mod->dialog())); + varDialog->setCurrentIndex(varDialog->findData(static_cast<MapWarp*>(modified())->dialog())); } void MapWarpUI::on_buttonApply_clicked() { - *m_warp = *m_warp_mod; + *static_cast<MapWarp*>(original()) = *static_cast<MapWarp*>(modified()); emit(changed(false)); } void MapWarpUI::on_buttonDiscard_clicked() { - *m_warp_mod = *m_warp; + *static_cast<MapWarp*>(modified()) = *static_cast<MapWarp*>(original()); setGui(); emit(changed(false)); } void MapWarpUI::on_varName_textChanged(const QString& name) { - m_warp_mod->setName(name); + static_cast<MapWarp*>(modified())->setName(name); emit(changed(true)); } void MapWarpUI::on_varCoordinate_valueChanged(const Point& coordinate) { - m_warp_mod->setCoordinate(coordinate); + static_cast<MapWarp*>(modified())->setCoordinate(coordinate); emit(changed(true)); } @@ -143,7 +142,7 @@ void MapWarpUI::on_varActivation_itemSelectionChanged() try { for (int i = 0; i < varActivation->count(); ++i) - m_warp_mod->setFrom(i, varActivation->item(i)->isSelected()); + static_cast<MapWarp*>(modified())->setFrom(i, varActivation->item(i)->isSelected()); emit(changed(true)); } catch (BoundsException& exception) @@ -157,7 +156,7 @@ void MapWarpUI::on_varDirectionOut_currentIndexChanged(const int directionOut) { try { - m_warp_mod->setDirectionOut(directionOut); + static_cast<MapWarp*>(modified())->setDirectionOut(directionOut); emit(changed(true)); } catch (BoundsException& exception) @@ -171,7 +170,7 @@ void MapWarpUI::on_varType_currentIndexChanged(const int type) { try { - m_warp_mod->setWarpType(type); + static_cast<MapWarp*>(modified())->setWarpType(type); emit(changed(true)); } catch (BoundsException& exception) @@ -185,7 +184,7 @@ void MapWarpUI::on_varBiking_stateChanged(const int biking) { try { - m_warp_mod->setIsBiking(biking); + static_cast<MapWarp*>(modified())->setIsBiking(biking); emit(changed(true)); } catch (BoundsException& exception) @@ -199,7 +198,7 @@ void MapWarpUI::on_varFlash_stateChanged(const int flash) { try { - m_warp_mod->setIsFlash(flash); + static_cast<MapWarp*>(modified())->setIsFlash(flash); emit(changed(true)); } catch (BoundsException& exception) @@ -213,7 +212,7 @@ void MapWarpUI::on_varFog_stateChanged(const int fog) { try { - m_warp_mod->setIsFoggy(fog); + static_cast<MapWarp*>(modified())->setIsFoggy(fog); emit(changed(true)); } catch (BoundsException& exception) @@ -227,7 +226,7 @@ void MapWarpUI::on_varToMap_currentIndexChanged(const int toMap) { try { - m_warp_mod->setToMap(toMap); + static_cast<MapWarp*>(modified())->setToMap(toMap); emit(changed(true)); } catch (BoundsException& exception) @@ -241,7 +240,7 @@ void MapWarpUI::on_varToWarp_currentIndexChanged(const int toWarp) { try { - m_warp_mod->setToWarp(toWarp); + static_cast<MapWarp*>(modified())->setToWarp(toWarp); emit(changed(true)); } catch (BoundsException& exception) @@ -254,20 +253,20 @@ void MapWarpUI::on_varToWarp_currentIndexChanged(const int toWarp) void MapWarpUI::on_boxFlag_toggled(const bool flagUsed) { if (!flagUsed) - m_warp_mod->setWorkingFlag(Flag(varFlag->value(), Flag::Ignore)); + static_cast<MapWarp*>(modified())->setWorkingFlag(Flag(varFlag->value(), Flag::Ignore)); emit(changed(true)); setGui(); } void MapWarpUI::on_varFlag_valueChanged(const int flag) { - m_warp_mod->setWorkingFlag(Flag(flag, boxFlag->isChecked() ? Flag::Ignore : (varState->isChecked() ? Flag::On : Flag::Off))); + static_cast<MapWarp*>(modified())->setWorkingFlag(Flag(flag, boxFlag->isChecked() ? Flag::Ignore : (varState->isChecked() ? Flag::On : Flag::Off))); emit(changed(true)); } void MapWarpUI::on_varState_toggled(const bool status) { - m_warp_mod->setWorkingFlag(Flag(varFlag->value(), status ? Flag::On : Flag::Off)); + static_cast<MapWarp*>(modified())->setWorkingFlag(Flag(varFlag->value(), status ? Flag::On : Flag::Off)); emit(changed(true)); } @@ -275,7 +274,7 @@ void MapWarpUI::on_varDialog_currentIndexChanged(const int dialog) { try { - m_warp_mod->setDialog(dialog); + static_cast<MapWarp*>(modified())->setDialog(dialog); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/MapWarpUI.h b/pokemodr/MapWarpUI.h index faa0056a..d7b88530 100644 --- a/pokemodr/MapWarpUI.h +++ b/pokemodr/MapWarpUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/MapWarp.h" - // Form include #include "ui_mapwarp.h" +// Forward declarations +class MapWarp; + class MapWarpUI : public ObjectUI, private Ui::formMapWarp { Q_OBJECT public: MapWarpUI(MapWarp* warp, QWidget* parent); - ~MapWarpUI() - { - delete m_warp_mod; - } + ~MapWarpUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -60,9 +57,6 @@ class MapWarpUI : public ObjectUI, private Ui::formMapWarp void setGui(); int m_lastMap; - - MapWarp* m_warp; - MapWarp* m_warp_mod; }; #endif diff --git a/pokemodr/MapWildListEncounterUI.cpp b/pokemodr/MapWildListEncounterUI.cpp index f56e07ee..52316713 100644 --- a/pokemodr/MapWildListEncounterUI.cpp +++ b/pokemodr/MapWildListEncounterUI.cpp @@ -19,53 +19,55 @@ #include "MapWildListEncounterUI.h" // Pokemod includes -#include "../pokemod/Pokemod.h" +#include "../pokemod/MapWildListEncounter.h" #include "../pokemod/Species.h" +#include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" MapWildListEncounterUI::MapWildListEncounterUI(MapWildListEncounter* encounter, QWidget* parent) : - ObjectUI(parent), - m_encounter(encounter), - m_encounter_mod(new MapWildListEncounter(*encounter)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_encounter, m_encounter_mod); + setObjects(encounter, new MapWildListEncounter(*encounter)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +MapWildListEncounterUI::~MapWildListEncounterUI() +{ +} + void MapWildListEncounterUI::refreshGui() { varSpecies->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_encounter->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWildListEncounter*>(original())->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(m_encounter->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(static_cast<MapWildListEncounter*>(original())->pokemod())->species(i); varSpecies->addItem(species->name()); varSpecies->setItemData(i, species->id()); } - varLevel->setMaximum(static_cast<const Pokemod*>(m_encounter->pokemod())->rules()->maxLevel()); + varLevel->setMaximum(static_cast<const Pokemod*>(static_cast<MapWildListEncounter*>(original())->pokemod())->rules()->maxLevel()); } void MapWildListEncounterUI::setGui() { - varSpecies->setCurrentIndex(varSpecies->findData(m_encounter_mod->species())); - varLevel->setValue(m_encounter_mod->level()); - varWeight->setValue(m_encounter_mod->weight()); + varSpecies->setCurrentIndex(varSpecies->findData(static_cast<MapWildListEncounter*>(modified())->species())); + varLevel->setValue(static_cast<MapWildListEncounter*>(modified())->level()); + varWeight->setValue(static_cast<MapWildListEncounter*>(modified())->weight()); } void MapWildListEncounterUI::on_buttonApply_clicked() { - *m_encounter = *m_encounter_mod; + *static_cast<MapWildListEncounter*>(original()) = *static_cast<MapWildListEncounter*>(modified()); emit(changed(false)); } void MapWildListEncounterUI::on_buttonDiscard_clicked() { - *m_encounter_mod = *m_encounter; + *static_cast<MapWildListEncounter*>(modified()) = *static_cast<MapWildListEncounter*>(original()); setGui(); emit(changed(false)); } @@ -74,7 +76,7 @@ void MapWildListEncounterUI::on_varSpecies_currentIndexChanged(const int species { try { - m_encounter_mod->setSpecies(varSpecies->itemData(species).toInt()); + static_cast<MapWildListEncounter*>(modified())->setSpecies(varSpecies->itemData(species).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -88,7 +90,7 @@ void MapWildListEncounterUI::on_varLevel_valueChanged(const int level) { try { - m_encounter_mod->setLevel(level); + static_cast<MapWildListEncounter*>(modified())->setLevel(level); emit(changed(true)); } catch (Exception& exception) @@ -102,7 +104,7 @@ void MapWildListEncounterUI::on_varWeight_valueChanged(const int weight) { try { - m_encounter_mod->setWeight(weight); + static_cast<MapWildListEncounter*>(modified())->setWeight(weight); emit(changed(true)); } catch (Exception& exception) diff --git a/pokemodr/MapWildListEncounterUI.h b/pokemodr/MapWildListEncounterUI.h index f8d0f123..27a27369 100644 --- a/pokemodr/MapWildListEncounterUI.h +++ b/pokemodr/MapWildListEncounterUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/MapWildListEncounter.h" - // Form include #include "ui_mapwildlistencounter.h" +// Forward declarations +class MapWildListEncounter; + class MapWildListEncounterUI : public ObjectUI, private Ui::formMapWildListEncounter { Q_OBJECT public: MapWildListEncounterUI(MapWildListEncounter* encounter, QWidget* parent); - ~MapWildListEncounterUI() - { - delete m_encounter_mod; - } + ~MapWildListEncounterUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -46,9 +43,6 @@ class MapWildListEncounterUI : public ObjectUI, private Ui::formMapWildListEncou private: void refreshGui(); void setGui(); - - MapWildListEncounter* m_encounter; - MapWildListEncounter* m_encounter_mod; }; #endif diff --git a/pokemodr/MapWildListUI.cpp b/pokemodr/MapWildListUI.cpp index 52b67b78..8b204440 100644 --- a/pokemodr/MapWildListUI.cpp +++ b/pokemodr/MapWildListUI.cpp @@ -27,24 +27,21 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QListWidgetItem> -#include <QVariant> MapWildListUI::MapWildListUI(MapWildList* wildList, QWidget* parent) : - ObjectUI(parent), - m_wildList(wildList), - m_wildList_mod(new MapWildList(*wildList)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_wildList, m_wildList_mod); + setObjects(wildList, new MapWildList(*wildList)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +MapWildListUI::~MapWildListUI() +{ +} + void MapWildListUI::initGui() { varControl->addItems(MapWildList::ControlStr); @@ -54,9 +51,9 @@ void MapWildListUI::refreshGui() { varValue->clear(); varScope->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_wildList->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(m_wildList->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->item(i); for (int j = 0; j < item->effectCount(); ++j) { const ItemEffect* effect = item->effect(j); @@ -73,9 +70,9 @@ void MapWildListUI::refreshGui() } } varTimes->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_wildList->pokemod())->timeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->timeCount(); ++i) { - const Time* time = static_cast<const Pokemod*>(m_wildList->pokemod())->time(i); + const Time* time = static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->time(i); QListWidgetItem* widgetItem = new QListWidgetItem(time->name(), varTimes); widgetItem->setData(Qt::UserRole, time->id()); } @@ -83,27 +80,27 @@ void MapWildListUI::refreshGui() void MapWildListUI::setGui() { - varControl->setCurrentIndex(m_wildList_mod->control()); - varValue->setEnabled(m_wildList_mod->control() == MapWildList::Fishing); - varValue->setCurrentIndex(varValue->findData(m_wildList_mod->value())); + varControl->setCurrentIndex(static_cast<MapWildList*>(modified())->control()); + varValue->setEnabled(static_cast<MapWildList*>(modified())->control() == MapWildList::Fishing); + varValue->setCurrentIndex(varValue->findData(static_cast<MapWildList*>(modified())->value())); for (int i = 0; i < varTimes->count(); ++i) { QListWidgetItem* widgetItem = varTimes->item(i); - widgetItem->setSelected(m_wildList_mod->time(widgetItem->data(Qt::UserRole).toInt())); + widgetItem->setSelected(static_cast<MapWildList*>(modified())->time(widgetItem->data(Qt::UserRole).toInt())); } - boxScope->setChecked(m_wildList_mod->scope() == INT_MAX); - varScope->setCurrentIndex(varScope->findData(m_wildList_mod->scope())); + boxScope->setChecked(static_cast<MapWildList*>(modified())->scope() == INT_MAX); + varScope->setCurrentIndex(varScope->findData(static_cast<MapWildList*>(modified())->scope())); } void MapWildListUI::on_buttonApply_clicked() { - *m_wildList = *m_wildList_mod; + *static_cast<MapWildList*>(original()) = *static_cast<MapWildList*>(modified()); emit(changed(false)); } void MapWildListUI::on_buttonDiscard_clicked() { - *m_wildList_mod = *m_wildList; + *static_cast<MapWildList*>(modified()) = *static_cast<MapWildList*>(original()); setGui(); emit(changed(false)); } @@ -112,7 +109,7 @@ void MapWildListUI::on_varControl_currentIndexChanged(const int control) { try { - m_wildList_mod->setControl(control); + static_cast<MapWildList*>(modified())->setControl(control); emit(changed(true)); } catch (BoundsException& exception) @@ -126,7 +123,7 @@ void MapWildListUI::on_varValue_currentIndexChanged(const int value) { try { - m_wildList_mod->setValue(varValue->itemData(value).toInt()); + static_cast<MapWildList*>(modified())->setValue(varValue->itemData(value).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -143,7 +140,7 @@ void MapWildListUI::on_varTimes_itemSelectionChanged() for (int i = 0; i < varTimes->count(); ++i) { const QListWidgetItem* widgetItem = varTimes->item(i); - m_wildList_mod->setTime(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); + static_cast<MapWildList*>(modified())->setTime(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); } emit(changed(true)); } @@ -157,7 +154,7 @@ void MapWildListUI::on_varTimes_itemSelectionChanged() void MapWildListUI::on_boxScope_toggled(const bool scopeUsed) { if (!scopeUsed) - m_wildList_mod->setScope(INT_MAX); + static_cast<MapWildList*>(modified())->setScope(INT_MAX); emit(changed(true)); setGui(); } @@ -166,7 +163,7 @@ void MapWildListUI::on_varScope_currentIndexChanged(const int scope) { try { - m_wildList_mod->setScope(varScope->itemData(scope).toInt()); + static_cast<MapWildList*>(modified())->setScope(varScope->itemData(scope).toInt()); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/MapWildListUI.h b/pokemodr/MapWildListUI.h index 24dc9c6d..75b92cbc 100644 --- a/pokemodr/MapWildListUI.h +++ b/pokemodr/MapWildListUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/MapWildList.h" - // Form include #include "ui_mapwildlist.h" +// Forward declarations +class MapWildList; + class MapWildListUI : public ObjectUI, private Ui::formMapWildList { Q_OBJECT public: MapWildListUI(MapWildList* wildList, QWidget* parent); - ~MapWildListUI() - { - delete m_wildList_mod; - } + ~MapWildListUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -49,9 +46,6 @@ class MapWildListUI : public ObjectUI, private Ui::formMapWildList void initGui(); void refreshGui(); void setGui(); - - MapWildList* m_wildList; - MapWildList* m_wildList_mod; }; #endif diff --git a/pokemodr/MoveUI.cpp b/pokemodr/MoveUI.cpp index 13603648..38a526c5 100644 --- a/pokemodr/MoveUI.cpp +++ b/pokemodr/MoveUI.cpp @@ -19,25 +19,27 @@ #include "MoveUI.h" // Pokemod includes -#include "../pokemod/Pokemod.h" +#include "../pokemod/Move.h" #include "../pokemod/Type.h" +#include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" MoveUI::MoveUI(Move* move, QWidget* parent) : - ObjectUI(parent), - m_move(move), - m_move_mod(new Move(*move)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_move, m_move_mod); + setObjects(move, new Move(*move)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +MoveUI::~MoveUI() +{ +} + void MoveUI::initGui() { varTarget->addItems(Move::TargetStr); @@ -47,48 +49,48 @@ void MoveUI::initGui() void MoveUI::refreshGui() { varType->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_move->pokemod())->typeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Move*>(original())->pokemod())->typeCount(); ++i) { - const Type* type = static_cast<const Pokemod*>(m_move->pokemod())->type(i); + const Type* type = static_cast<const Pokemod*>(static_cast<Move*>(original())->pokemod())->type(i); varType->addItem(type->name()); varType->setItemData(i, type->id()); } - varNumTargets->setMaximum(static_cast<const Pokemod*>(m_move->pokemod())->rules()->maxFight()); + varNumTargets->setMaximum(static_cast<const Pokemod*>(static_cast<Move*>(original())->pokemod())->rules()->maxFight()); } void MoveUI::setGui() { - varName->setText(m_move_mod->name()); - varAccuracy->setValue(m_move_mod->accuracy()); - varType->setCurrentIndex(varType->findData(m_move_mod->type())); - varTarget->setCurrentIndex(m_move_mod->target()); - varNumTargets->setValue(m_move_mod->numTargets()); - varTargetChoice->setCurrentIndex(m_move_mod->targetChoice()); - varSpecial->setChecked(m_move_mod->special() ? Qt::Checked : Qt::Unchecked); - varIgnoreAccuracy->setChecked(m_move_mod->ignoreAccuracy() ? Qt::Checked : Qt::Unchecked); - varCanFlinch->setChecked(m_move_mod->canFlinch() ? Qt::Checked : Qt::Unchecked); - varCanRandom->setChecked(m_move_mod->canRandom() ? Qt::Checked : Qt::Unchecked); - varCanSnatch->setChecked(m_move_mod->canSnatch() ? Qt::Checked : Qt::Unchecked); - varMakesSound->setChecked(m_move_mod->sound() ? Qt::Checked : Qt::Unchecked); - varDescription->setText(m_move_mod->description()); + varName->setText(static_cast<Move*>(modified())->name()); + varAccuracy->setValue(static_cast<Move*>(modified())->accuracy()); + varType->setCurrentIndex(varType->findData(static_cast<Move*>(modified())->type())); + varTarget->setCurrentIndex(static_cast<Move*>(modified())->target()); + varNumTargets->setValue(static_cast<Move*>(modified())->numTargets()); + varTargetChoice->setCurrentIndex(static_cast<Move*>(modified())->targetChoice()); + varSpecial->setChecked(static_cast<Move*>(modified())->special() ? Qt::Checked : Qt::Unchecked); + varIgnoreAccuracy->setChecked(static_cast<Move*>(modified())->ignoreAccuracy() ? Qt::Checked : Qt::Unchecked); + varCanFlinch->setChecked(static_cast<Move*>(modified())->canFlinch() ? Qt::Checked : Qt::Unchecked); + varCanRandom->setChecked(static_cast<Move*>(modified())->canRandom() ? Qt::Checked : Qt::Unchecked); + varCanSnatch->setChecked(static_cast<Move*>(modified())->canSnatch() ? Qt::Checked : Qt::Unchecked); + varMakesSound->setChecked(static_cast<Move*>(modified())->sound() ? Qt::Checked : Qt::Unchecked); + varDescription->setText(static_cast<Move*>(modified())->description()); } void MoveUI::on_buttonApply_clicked() { - *m_move = *m_move_mod; + *static_cast<Move*>(original()) = *static_cast<Move*>(modified()); emit(changed(false)); } void MoveUI::on_buttonDiscard_clicked() { - *m_move_mod = *m_move; + *static_cast<Move*>(modified()) = *static_cast<Move*>(original()); setGui(); emit(changed(false)); } void MoveUI::on_varName_textChanged(const QString& name) { - m_move_mod->setName(name); + static_cast<Move*>(modified())->setName(name); emit(changed(true)); } @@ -96,7 +98,7 @@ void MoveUI::on_varAccuracy_valueChanged(const Fraction& accuracy) { try { - m_move_mod->setAccuracy(accuracy); + static_cast<Move*>(modified())->setAccuracy(accuracy); emit(changed(true)); } catch (Exception& exception) @@ -110,7 +112,7 @@ void MoveUI::on_varType_currentIndexChanged(const int type) { try { - m_move_mod->setType(varType->itemData(type).toInt()); + static_cast<Move*>(modified())->setType(varType->itemData(type).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -124,7 +126,7 @@ void MoveUI::on_varPowerPoints_valueChanged(const int powerPoints) { try { - m_move_mod->setPowerPoints(powerPoints); + static_cast<Move*>(modified())->setPowerPoints(powerPoints); emit(changed(true)); } catch (BoundsException& exception) @@ -138,7 +140,7 @@ void MoveUI::on_varTarget_currentIndexChanged(const int target) { try { - m_move_mod->setTarget(target); + static_cast<Move*>(modified())->setTarget(target); emit(changed(true)); } catch (BoundsException& exception) @@ -152,7 +154,7 @@ void MoveUI::on_varNumTargets_valueChanged(const int numTargets) { try { - m_move_mod->setNumTargets(numTargets); + static_cast<Move*>(modified())->setNumTargets(numTargets); emit(changed(true)); } catch (BoundsException& exception) @@ -166,7 +168,7 @@ void MoveUI::on_varTargetChoice_currentIndexChanged(const int targetChoice) { try { - m_move_mod->setTargetChoice(targetChoice); + static_cast<Move*>(modified())->setTargetChoice(targetChoice); emit(changed(true)); } catch (BoundsException& exception) @@ -178,42 +180,42 @@ void MoveUI::on_varTargetChoice_currentIndexChanged(const int targetChoice) void MoveUI::on_varSpecial_toggled(const bool special) { - m_move_mod->setSpecial(special); + static_cast<Move*>(modified())->setSpecial(special); emit(changed(true)); } void MoveUI::on_varIgnoreAccuracy_toggled(const bool ignoreAccuracy) { - m_move_mod->setIgnoreAccuracy(ignoreAccuracy); + static_cast<Move*>(modified())->setIgnoreAccuracy(ignoreAccuracy); emit(changed(true)); } void MoveUI::on_varCanFlinch_toggled(const bool canFlinch) { - m_move_mod->setCanFlinch(canFlinch); + static_cast<Move*>(modified())->setCanFlinch(canFlinch); emit(changed(true)); } void MoveUI::on_varCanRandom_toggled(const bool canRandom) { - m_move_mod->setCanRandom(canRandom); + static_cast<Move*>(modified())->setCanRandom(canRandom); emit(changed(true)); } void MoveUI::on_varCanSnatch_toggled(const bool canSnatch) { - m_move_mod->setCanSnatch(canSnatch); + static_cast<Move*>(modified())->setCanSnatch(canSnatch); emit(changed(true)); } void MoveUI::on_varSound_toggled(const bool sound) { - m_move_mod->setSound(sound); + static_cast<Move*>(modified())->setSound(sound); emit(changed(true)); } void MoveUI::on_varDescription_textChanged() { - m_move_mod->setDescription(varDescription->toPlainText()); + static_cast<Move*>(modified())->setDescription(varDescription->toPlainText()); emit(changed(true)); } diff --git a/pokemodr/MoveUI.h b/pokemodr/MoveUI.h index f19fee87..25ffa623 100644 --- a/pokemodr/MoveUI.h +++ b/pokemodr/MoveUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Move.h" - // Form include #include "ui_move.h" +// Forward declarations +class Move; + class MoveUI : public ObjectUI, private Ui::formMove { Q_OBJECT public: MoveUI(Move* move, QWidget* parent); - ~MoveUI() - { - delete m_move_mod; - } + ~MoveUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -58,9 +55,6 @@ class MoveUI : public ObjectUI, private Ui::formMove void initGui(); void refreshGui(); void setGui(); - - Move* m_move; - Move* m_move_mod; }; #endif diff --git a/pokemodr/NatureUI.cpp b/pokemodr/NatureUI.cpp index c74575c6..945d535a 100644 --- a/pokemodr/NatureUI.cpp +++ b/pokemodr/NatureUI.cpp @@ -19,57 +19,56 @@ #include "NatureUI.h" // Pokemod includes +#include "../pokemod/Nature.h" #include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QStringList> NatureUI::NatureUI(Nature* nature, QWidget* parent) : - ObjectUI(parent), - m_nature(nature), - m_nature_mod(new Nature(*nature)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_nature, m_nature_mod); + setObjects(nature, new Nature(*nature)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +NatureUI::~NatureUI() +{ +} + void NatureUI::refreshGui() { varStat->clear(); - const bool isSplit = static_cast<const Pokemod*>(m_nature->pokemod())->rules()->specialSplit(); + const bool isSplit = static_cast<const Pokemod*>(static_cast<Nature*>(original())->pokemod())->rules()->specialSplit(); varStat->addItems((isSplit ? Pokemod::StatRBYStr : Pokemod::StatGSCStr).mid(0, isSplit ? Pokemod::ST_End_RBY : Pokemod::ST_End_GSC)); } void NatureUI::setGui() { - varName->setText(m_nature_mod->name()); - varStatMultiplier->setValue(m_nature_mod->stat(varStat->currentIndex())); - varWeight->setValue(m_nature_mod->weight()); + varName->setText(static_cast<Nature*>(modified())->name()); + varStatMultiplier->setValue(static_cast<Nature*>(modified())->stat(varStat->currentIndex())); + varWeight->setValue(static_cast<Nature*>(modified())->weight()); } void NatureUI::on_buttonApply_clicked() { - *m_nature = *m_nature_mod; + *static_cast<Nature*>(original()) = *static_cast<Nature*>(modified()); emit(changed(false)); } void NatureUI::on_buttonDiscard_clicked() { - *m_nature_mod = *m_nature; + *static_cast<Nature*>(modified()) = *static_cast<Nature*>(original()); setGui(); emit(changed(false)); } void NatureUI::on_varName_textChanged(const QString& name) { - m_nature_mod->setName(name); + static_cast<Nature*>(modified())->setName(name); emit(changed(true)); } @@ -83,7 +82,7 @@ void NatureUI::on_varStatMultiplier_valueChanged(const Fraction& statMultiplier) { try { - m_nature_mod->setStat(varStat->currentIndex(), statMultiplier); + static_cast<Nature*>(modified())->setStat(varStat->currentIndex(), statMultiplier); emit(changed(true)); } catch (Exception& exception) @@ -97,7 +96,7 @@ void NatureUI::on_varWeight_valueChanged(const int weight) { try { - m_nature_mod->setWeight(weight); + static_cast<Nature*>(modified())->setWeight(weight); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/NatureUI.h b/pokemodr/NatureUI.h index 2d8dbee4..d2d1f7b3 100644 --- a/pokemodr/NatureUI.h +++ b/pokemodr/NatureUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Nature.h" - // Form include #include "ui_nature.h" +// Forward declarations +class Nature; + class NatureUI : public ObjectUI, private Ui::formNature { Q_OBJECT public: NatureUI(Nature* nature, QWidget* parent); - ~NatureUI() - { - delete m_nature_mod; - } + ~NatureUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -47,9 +44,6 @@ class NatureUI : public ObjectUI, private Ui::formNature private: void refreshGui(); void setGui(); - - Nature* m_nature; - Nature* m_nature_mod; }; #endif diff --git a/pokemodr/ObjectUI.h b/pokemodr/ObjectUI.h index 0bf9cf3e..923fd5a6 100644 --- a/pokemodr/ObjectUI.h +++ b/pokemodr/ObjectUI.h @@ -23,13 +23,10 @@ // Pokemod includes #include "../pokemod/Object.h" -#include "../pokemod/Pokemod.h" // Qt includes #include <QCloseEvent> -#include <QLabel> #include <QMetaObject> -#include <QObject> #include <QWidget> // KDE includes @@ -48,11 +45,11 @@ class ObjectUI : public QWidget m_object(NULL), m_object_mod(NULL) { - connect(this, SIGNAL(changed(bool)), static_cast<PokeModrUI*>(parent->parent()->parent()->parent()), SLOT(setChangedTitle(bool))); connect(this, SIGNAL(changed(bool)), SLOT(setChanged(bool))); } virtual ~ObjectUI() { + delete m_object_mod; } void closeEvent(QCloseEvent* event) diff --git a/pokemodr/PointWidget.h b/pokemodr/PointWidget.h index 255bd990..c316f1e1 100644 --- a/pokemodr/PointWidget.h +++ b/pokemodr/PointWidget.h @@ -19,10 +19,9 @@ #define __POINTWIDGET__ // General includes -#include "Point.h" +#include "../general/Point.h" // Qt includes -#include <QObject> #include <QWidget> // Form include diff --git a/pokemodr/PokeModr.cpp b/pokemodr/PokeModr.cpp index 5b9e31fc..27a4fdb4 100644 --- a/pokemodr/PokeModr.cpp +++ b/pokemodr/PokeModr.cpp @@ -15,20 +15,26 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include <kaboutdata.h> -#include <kapplication.h> -#include <kcmdlineargs.h> -#include <kconfig.h> -#include <kconfiggroup.h> +// Header include +#include "PokeModr.h" -#include <QTextCodec> +// PokeModr includes +#include "FileDialog.h" +#include "PokeModrUI.h" +// General includes #include "../general/BugCatcher.h" #include "../general/Exception.h" -#include "FileDialog.h" -#include "PokeModrUI.h" -#include "PokeModr.h" +// Qt includes +#include <QTextCodec> + +// KDE includes +#include <kaboutdata.h> +#include <kapplication.h> +#include <kcmdlineargs.h> +#include <kconfig.h> +#include <kconfiggroup.h> int main(int argc, char* argv[]) { diff --git a/pokemodr/PokeModrUI.cpp b/pokemodr/PokeModrUI.cpp index 04b4b4b4..1b650693 100644 --- a/pokemodr/PokeModrUI.cpp +++ b/pokemodr/PokeModrUI.cpp @@ -26,7 +26,6 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" // Qt includes #include <QCloseEvent> @@ -46,9 +45,6 @@ #include <ktoolbar.h> #include <kurl.h> -// STL includes -#include <iostream> - PokeModrUI::PokeModrUI(KConfigGroup config, KConfigGroup history, QWidget* parent) : KMainWindow(parent), m_config(config), diff --git a/pokemodr/PokeModrUI.h b/pokemodr/PokeModrUI.h index 1aeb35ba..21881f9a 100644 --- a/pokemodr/PokeModrUI.h +++ b/pokemodr/PokeModrUI.h @@ -18,14 +18,6 @@ #ifndef __POKEMODR_POKEMODRUI__ #define __POKEMODR_POKEMODRUI__ -// Pokemod includes -#include "../pokemod/Pokemod.h" - -// Qt includes -#include <QList> -#include <QObject> -#include <QWidget> - // KDE includes #include <kconfiggroup.h> #include <kmainwindow.h> @@ -35,6 +27,10 @@ // Form include #include "ui_pokemodr.h" +// Forward declarations +class Object; +class Pokemod; + class PokeModrUI : public KMainWindow, private Ui::formPokeModr { Q_OBJECT diff --git a/pokemodr/PokemodUI.cpp b/pokemodr/PokemodUI.cpp index 0d9dd96a..a4ab4495 100644 --- a/pokemodr/PokemodUI.cpp +++ b/pokemodr/PokemodUI.cpp @@ -26,44 +26,44 @@ #include "../pokemod/Item.h" #include "../pokemod/Map.h" #include "../pokemod/MapWarp.h" +#include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QSize> PokemodUI::PokemodUI(Pokemod* pokemod, QWidget* parent) : ObjectUI(parent), - m_lastMap(-1), - m_pokemod(pokemod), - m_pokemod_mod(new Pokemod(*pokemod)) + m_lastMap(-1) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_pokemod, m_pokemod_mod); + setObjects(pokemod, new Pokemod(*pokemod)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +PokemodUI::~PokemodUI() +{ +} + void PokemodUI::refreshGui() { varMap->clear(); - for (int i = 0; i < m_pokemod->mapCount(); ++i) + for (int i = 0; i < static_cast<Pokemod*>(original())->mapCount(); ++i) { - const Map* map = m_pokemod->map(i); + const Map* map = static_cast<Pokemod*>(original())->map(i); varMap->addItem(map->name()); varMap->setItemData(i, map->id()); } - varTypechart->setRowCount(m_pokemod->typeCount()); - varTypechart->setColumnCount(m_pokemod->typeCount()); + varTypechart->setRowCount(static_cast<Pokemod*>(original())->typeCount()); + varTypechart->setColumnCount(static_cast<Pokemod*>(original())->typeCount()); QStringList types; - Matrix<Fraction>* typeChart = m_pokemod->typeChart(); - for (int i = 0; i < m_pokemod->typeCount(); ++i) + Matrix<Fraction>* typeChart = static_cast<Pokemod*>(original())->typeChart(); + for (int i = 0; i < static_cast<Pokemod*>(original())->typeCount(); ++i) { - types << m_pokemod->item(i)->name(); -// for (int j = 0; j < m_pokemod->typeCount(); ++j) + types << static_cast<Pokemod*>(original())->item(i)->name(); + // TODO: set the typechart corrently +// for (int j = 0; j < static_cast<Pokemod*>(original())->typeCount(); ++j) // static_cast<TypechartWidgetItem*>(varTypechart->item(i, j))->setData(Qt::EditRole, QVariant::fromValue((*typeChart)(i, j))); } varTypechart->setVerticalHeaderLabels(types); @@ -72,21 +72,21 @@ void PokemodUI::refreshGui() void PokemodUI::setGui() { - const bool resetWarps = (m_pokemod_mod->startMap() == m_lastMap); - varTitle->setText(m_pokemod_mod->title()); - varVersion->setText(m_pokemod_mod->version()); - varDescription->setText(m_pokemod_mod->description()); - varMap->setCurrentIndex(varMap->findData(m_pokemod_mod->startMap())); - m_lastMap = m_pokemod_mod->startMap(); + const bool resetWarps = (static_cast<Pokemod*>(modified())->startMap() == m_lastMap); + varTitle->setText(static_cast<Pokemod*>(modified())->title()); + varVersion->setText(static_cast<Pokemod*>(modified())->version()); + varDescription->setText(static_cast<Pokemod*>(modified())->description()); + varMap->setCurrentIndex(varMap->findData(static_cast<Pokemod*>(modified())->startMap())); + m_lastMap = static_cast<Pokemod*>(modified())->startMap(); if (resetWarps) { varWarp->clear(); - int index = m_pokemod->mapIndex(m_pokemod_mod->startMap()); + int index = static_cast<Pokemod*>(original())->mapIndex(static_cast<Pokemod*>(modified())->startMap()); if (index != INT_MAX) { try { - const Map* map = m_pokemod->map(index); + const Map* map = static_cast<Pokemod*>(original())->map(index); for (int i = 0; i < map->warpCount(); ++i) { const MapWarp* warp = map->warp(i); @@ -100,45 +100,45 @@ void PokemodUI::setGui() } } } - varWarp->setCurrentIndex(varWarp->findData(m_pokemod_mod->startWarp())); - varSuperPCUsername->setText(m_pokemod_mod->superPCUname()); - varSuperPCPassword->setText(m_pokemod_mod->superPCPasswd()); - varWalkSkin->setIcon(m_pokemod->walkSkin()); - varBikeSkin->setIcon(m_pokemod->bikeSkin()); - varFlySkin->setIcon(m_pokemod->flySkin()); - varSurfSkin->setIcon(m_pokemod->surfSkin()); - varFishSkin->setIcon(m_pokemod->fishSkin()); - varSurfFishSkin->setIcon(m_pokemod->surfFishSkin()); + varWarp->setCurrentIndex(varWarp->findData(static_cast<Pokemod*>(modified())->startWarp())); + varSuperPCUsername->setText(static_cast<Pokemod*>(modified())->superPCUname()); + varSuperPCPassword->setText(static_cast<Pokemod*>(modified())->superPCPasswd()); + varWalkSkin->setIcon(static_cast<Pokemod*>(original())->walkSkin()); + varBikeSkin->setIcon(static_cast<Pokemod*>(original())->bikeSkin()); + varFlySkin->setIcon(static_cast<Pokemod*>(original())->flySkin()); + varSurfSkin->setIcon(static_cast<Pokemod*>(original())->surfSkin()); + varFishSkin->setIcon(static_cast<Pokemod*>(original())->fishSkin()); + varSurfFishSkin->setIcon(static_cast<Pokemod*>(original())->surfFishSkin()); } void PokemodUI::on_buttonApply_clicked() { - *m_pokemod = *m_pokemod_mod; + *static_cast<Pokemod*>(original()) = *static_cast<Pokemod*>(modified()); emit(changed(false)); } void PokemodUI::on_buttonDiscard_clicked() { - *m_pokemod_mod = *m_pokemod; + *static_cast<Pokemod*>(modified()) = *static_cast<Pokemod*>(original()); setGui(); emit(changed(false)); } void PokemodUI::on_varTitle_textChanged(const QString& title) { - m_pokemod_mod->setTitle(title); + static_cast<Pokemod*>(modified())->setTitle(title); emit(changed(true)); } void PokemodUI::on_varVersion_textChanged(const QString& version) { - m_pokemod_mod->setVersion(version); + static_cast<Pokemod*>(modified())->setVersion(version); emit(changed(true)); } void PokemodUI::on_varDescription_textChanged() { - m_pokemod_mod->setDescription(varDescription->toPlainText()); + static_cast<Pokemod*>(modified())->setDescription(varDescription->toPlainText()); emit(changed(true)); } @@ -146,7 +146,7 @@ void PokemodUI::on_varMap_currentIndexChanged(const int map) { try { - m_pokemod_mod->setStartMap(map); + static_cast<Pokemod*>(modified())->setStartMap(map); emit(changed(true)); } catch (BoundsException& exception) @@ -160,7 +160,7 @@ void PokemodUI::on_varWarp_currentIndexChanged(const int warp) { try { - m_pokemod_mod->setStartWarp(warp); + static_cast<Pokemod*>(modified())->setStartWarp(warp); emit(changed(true)); } catch (BoundsException& exception) @@ -172,13 +172,13 @@ void PokemodUI::on_varWarp_currentIndexChanged(const int warp) void PokemodUI::on_varSuperPCUsername_textChanged(const QString& username) { - m_pokemod_mod->setSuperPCUname(username); + static_cast<Pokemod*>(modified())->setSuperPCUname(username); emit(changed(true)); } void PokemodUI::on_varSuperPCPassword_textChanged(const QString& password) { - m_pokemod_mod->setSuperPCPasswd(password); + static_cast<Pokemod*>(modified())->setSuperPCPasswd(password); emit(changed(true)); } @@ -189,7 +189,7 @@ void PokemodUI::on_varWalkSkin_pressed() { try { - m_pokemod->setWalkSkin(QPixmap(dialog.selectedFile())); + static_cast<Pokemod*>(original())->setWalkSkin(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -206,7 +206,7 @@ void PokemodUI::on_varBikeSkin_pressed() { try { - m_pokemod->setBikeSkin(QPixmap(dialog.selectedFile())); + static_cast<Pokemod*>(original())->setBikeSkin(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -223,7 +223,7 @@ void PokemodUI::on_varFlySkin_pressed() { try { - m_pokemod->setFlySkin(QPixmap(dialog.selectedFile())); + static_cast<Pokemod*>(original())->setFlySkin(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -240,7 +240,7 @@ void PokemodUI::on_varSurfSkin_pressed() { try { - m_pokemod->setSurfSkin(QPixmap(dialog.selectedFile())); + static_cast<Pokemod*>(original())->setSurfSkin(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -257,7 +257,7 @@ void PokemodUI::on_varFishSkin_pressed() { try { - m_pokemod->setFishSkin(QPixmap(dialog.selectedFile())); + static_cast<Pokemod*>(original())->setFishSkin(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -274,7 +274,7 @@ void PokemodUI::on_varSurfFishSkin_pressed() { try { - m_pokemod->setSurfFishSkin(QPixmap(dialog.selectedFile())); + static_cast<Pokemod*>(original())->setSurfFishSkin(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { diff --git a/pokemodr/PokemodUI.h b/pokemodr/PokemodUI.h index e702d4c7..1a72e30e 100644 --- a/pokemodr/PokemodUI.h +++ b/pokemodr/PokemodUI.h @@ -21,9 +21,6 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Pokemod.h" - // Form include #include "ui_pokemod.h" @@ -33,10 +30,7 @@ class PokemodUI : public ObjectUI, private Ui::formPokemod public: PokemodUI(Pokemod* pokemod, QWidget* parent); - ~PokemodUI() - { - delete m_pokemod_mod; - } + ~PokemodUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -60,9 +54,6 @@ class PokemodUI : public ObjectUI, private Ui::formPokemod void setGui(); int m_lastMap; - - Pokemod* m_pokemod; - Pokemod* m_pokemod_mod; }; #endif diff --git a/pokemodr/RulesUI.cpp b/pokemodr/RulesUI.cpp index be5f7342..b63a935e 100644 --- a/pokemodr/RulesUI.cpp +++ b/pokemodr/RulesUI.cpp @@ -18,22 +18,26 @@ // Header include #include "RulesUI.h" +// Pokemod includes +#include "../pokemod/Rules.h" + // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" RulesUI::RulesUI(Rules* rules, QWidget* parent) : - ObjectUI(parent), - m_rules(rules), - m_rules_mod(new Rules(*rules)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_rules, m_rules_mod); + setObjects(rules, new Rules(*rules)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +RulesUI::~RulesUI() +{ +} + void RulesUI::initGui() { varMaxDV->addItems(Rules::DVStr); @@ -41,104 +45,104 @@ void RulesUI::initGui() void RulesUI::setGui() { - boxGenders->setChecked(m_rules_mod->genderAllowed() ? Qt::Checked : Qt::Unchecked); - varBreeding->setCheckState(m_rules_mod->breedingAllowed() ? Qt::Checked : Qt::Unchecked); - varHeldItems->setValue(m_rules_mod->holdItems()); - boxCriticalDomains->setChecked(m_rules_mod->criticalDomains() ? Qt::Checked : Qt::Unchecked); - boxAllowAbilities->setChecked(m_rules_mod->abilityAllowed() ? Qt::Checked : Qt::Unchecked); - boxAllowNatures->setChecked(m_rules_mod->natureAllowed() ? Qt::Checked : Qt::Unchecked); - varBoxes->setValue(m_rules_mod->numBoxes()); - if (m_rules_mod->numBoxes()) + boxGenders->setChecked(static_cast<Rules*>(modified())->genderAllowed() ? Qt::Checked : Qt::Unchecked); + varBreeding->setCheckState(static_cast<Rules*>(modified())->breedingAllowed() ? Qt::Checked : Qt::Unchecked); + varHeldItems->setValue(static_cast<Rules*>(modified())->holdItems()); + boxCriticalDomains->setChecked(static_cast<Rules*>(modified())->criticalDomains() ? Qt::Checked : Qt::Unchecked); + boxAllowAbilities->setChecked(static_cast<Rules*>(modified())->abilityAllowed() ? Qt::Checked : Qt::Unchecked); + boxAllowNatures->setChecked(static_cast<Rules*>(modified())->natureAllowed() ? Qt::Checked : Qt::Unchecked); + varBoxes->setValue(static_cast<Rules*>(modified())->numBoxes()); + if (static_cast<Rules*>(modified())->numBoxes()) varBoxSize->setEnabled(true); else varBoxSize->setEnabled(false); - varBoxSize->setValue(m_rules_mod->boxSize()); - varMaxParty->setValue(m_rules_mod->maxParty()); - varMaxFight->setMaximum(m_rules_mod->maxParty()); - varMaxFight->setValue(m_rules_mod->maxFight()); - varMaxMoves->setValue(m_rules_mod->maxMoves()); - varMaxLevel->setValue(m_rules_mod->maxLevel()); - varMaxMoney->setValue(m_rules_mod->maxMoney()); - boxHardCash->setChecked(m_rules_mod->hardCash() ? Qt::Checked : Qt::Unchecked); - boxSplitSpecial->setChecked(m_rules_mod->specialSplit() ? Qt::Checked : Qt::Unchecked); - varSplitSpecialDV->setCheckState(m_rules_mod->specialDVSplit() ? Qt::Checked : Qt::Unchecked); - varMaxDV->setCurrentIndex(m_rules_mod->maxDVValue()); - boxHappiness->setChecked(m_rules_mod->happiness() ? Qt::Checked : Qt::Unchecked); - varFaintLoss->setValue(m_rules_mod->happyFaintLoss()); - varLevelGain->setValue(m_rules_mod->happyLevelGain()); - varNumSteps->setValue(m_rules_mod->happySteps()); - boxEffortValues->setChecked(m_rules_mod->effortValuesAllowed() ? Qt::Checked : Qt::Unchecked); - varMaxEV->setValue(m_rules_mod->maxTotalEV()); - varMaxEVPerStat->setMaximum(m_rules_mod->maxTotalEV()); - varMaxEVPerStat->setValue(m_rules_mod->maxEVPerStat()); - varPokerus->setValue(m_rules_mod->pokerusChance()); + varBoxSize->setValue(static_cast<Rules*>(modified())->boxSize()); + varMaxParty->setValue(static_cast<Rules*>(modified())->maxParty()); + varMaxFight->setMaximum(static_cast<Rules*>(modified())->maxParty()); + varMaxFight->setValue(static_cast<Rules*>(modified())->maxFight()); + varMaxMoves->setValue(static_cast<Rules*>(modified())->maxMoves()); + varMaxLevel->setValue(static_cast<Rules*>(modified())->maxLevel()); + varMaxMoney->setValue(static_cast<Rules*>(modified())->maxMoney()); + boxHardCash->setChecked(static_cast<Rules*>(modified())->hardCash() ? Qt::Checked : Qt::Unchecked); + boxSplitSpecial->setChecked(static_cast<Rules*>(modified())->specialSplit() ? Qt::Checked : Qt::Unchecked); + varSplitSpecialDV->setCheckState(static_cast<Rules*>(modified())->specialDVSplit() ? Qt::Checked : Qt::Unchecked); + varMaxDV->setCurrentIndex(static_cast<Rules*>(modified())->maxDVValue()); + boxHappiness->setChecked(static_cast<Rules*>(modified())->happiness() ? Qt::Checked : Qt::Unchecked); + varFaintLoss->setValue(static_cast<Rules*>(modified())->happyFaintLoss()); + varLevelGain->setValue(static_cast<Rules*>(modified())->happyLevelGain()); + varNumSteps->setValue(static_cast<Rules*>(modified())->happySteps()); + boxEffortValues->setChecked(static_cast<Rules*>(modified())->effortValuesAllowed() ? Qt::Checked : Qt::Unchecked); + varMaxEV->setValue(static_cast<Rules*>(modified())->maxTotalEV()); + varMaxEVPerStat->setMaximum(static_cast<Rules*>(modified())->maxTotalEV()); + varMaxEVPerStat->setValue(static_cast<Rules*>(modified())->maxEVPerStat()); + varPokerus->setValue(static_cast<Rules*>(modified())->pokerusChance()); } void RulesUI::on_buttonApply_clicked() { - *m_rules = *m_rules_mod; + *static_cast<Rules*>(original()) = *static_cast<Rules*>(modified()); emit(changed(false)); } void RulesUI::on_buttonDiscard_clicked() { - *m_rules_mod = *m_rules; + *static_cast<Rules*>(modified()) = *static_cast<Rules*>(original()); setGui(); emit(changed(false)); } void RulesUI::on_boxGenders_toggled(const bool genders) { - m_rules_mod->setGenderAllowed(genders); + static_cast<Rules*>(modified())->setGenderAllowed(genders); emit(changed(true)); } void RulesUI::on_varBreeding_toggled(const bool breeding) { - m_rules_mod->setBreedingAllowed(breeding); + static_cast<Rules*>(modified())->setBreedingAllowed(breeding); emit(changed(true)); } void RulesUI::on_varHeldItems_valueChanged(const int heldItems) { - m_rules_mod->setHoldItems(heldItems); + static_cast<Rules*>(modified())->setHoldItems(heldItems); emit(changed(true)); } void RulesUI::on_boxCriticalDomains_toggled(const bool criticalDomains) { - m_rules_mod->setCriticalDomains(criticalDomains); + static_cast<Rules*>(modified())->setCriticalDomains(criticalDomains); emit(changed(true)); } void RulesUI::on_boxAllowAbilities_toggled(const bool allowAbilities) { - m_rules_mod->setAbilityAllowed(allowAbilities); + static_cast<Rules*>(modified())->setAbilityAllowed(allowAbilities); emit(changed(true)); } void RulesUI::on_boxAllowNatures_toggled(const bool allowNatures) { - m_rules_mod->setNatureAllowed(allowNatures); + static_cast<Rules*>(modified())->setNatureAllowed(allowNatures); emit(changed(true)); } void RulesUI::on_varBoxes_valueChanged(const int boxes) { - m_rules_mod->setNumBoxes(boxes); + static_cast<Rules*>(modified())->setNumBoxes(boxes); emit(changed(true)); setGui(); } void RulesUI::on_varBoxSize_valueChanged(const int boxSize) { - m_rules_mod->setBoxSize(boxSize); + static_cast<Rules*>(modified())->setBoxSize(boxSize); emit(changed(true)); } void RulesUI::on_varMaxParty_valueChanged(const int maxParty) { - m_rules_mod->setMaxParty(maxParty); + static_cast<Rules*>(modified())->setMaxParty(maxParty); emit(changed(true)); setGui(); } @@ -147,7 +151,7 @@ void RulesUI::on_varMaxFight_valueChanged(const int maxFight) { try { - m_rules_mod->setMaxFight(maxFight); + static_cast<Rules*>(modified())->setMaxFight(maxFight); emit(changed(true)); } catch (BoundsException& exception) @@ -161,7 +165,7 @@ void RulesUI::on_varMaxMoves_valueChanged(const int maxMoves) { try { - m_rules_mod->setMaxMoves(maxMoves); + static_cast<Rules*>(modified())->setMaxMoves(maxMoves); emit(changed(true)); } catch (BoundsException& exception) @@ -175,7 +179,7 @@ void RulesUI::on_varMaxLevel_valueChanged(const int maxLevel) { try { - m_rules_mod->setMaxLevel(maxLevel); + static_cast<Rules*>(modified())->setMaxLevel(maxLevel); emit(changed(true)); } catch (BoundsException& exception) @@ -187,25 +191,25 @@ void RulesUI::on_varMaxLevel_valueChanged(const int maxLevel) void RulesUI::on_varMaxMoney_valueChanged(const int maxMoney) { - m_rules_mod->setMaxMoney(maxMoney); + static_cast<Rules*>(modified())->setMaxMoney(maxMoney); emit(changed(true)); } void RulesUI::on_boxHardCash_toggled(const bool hardCash) { - m_rules_mod->setHardCash(hardCash); + static_cast<Rules*>(modified())->setHardCash(hardCash); emit(changed(true)); } void RulesUI::on_boxSplitSpecial_toggled(const bool splitSpecial) { - m_rules_mod->setSpecialSplit(splitSpecial); + static_cast<Rules*>(modified())->setSpecialSplit(splitSpecial); emit(changed(true)); } void RulesUI::on_varSplitSpecialDV_toggled(const bool splitSpecialDV) { - m_rules_mod->setSpecialDVSplit(splitSpecialDV); + static_cast<Rules*>(modified())->setSpecialDVSplit(splitSpecialDV); emit(changed(true)); } @@ -213,7 +217,7 @@ void RulesUI::on_varMaxDV_currentIndexChanged(const int maxDV) { try { - m_rules_mod->setMaxDVValue(maxDV); + static_cast<Rules*>(modified())->setMaxDVValue(maxDV); emit(changed(true)); } catch (BoundsException& exception) @@ -225,31 +229,31 @@ void RulesUI::on_varMaxDV_currentIndexChanged(const int maxDV) void RulesUI::on_boxHappiness_toggled(const bool happiness) { - m_rules_mod->setHappiness(happiness); + static_cast<Rules*>(modified())->setHappiness(happiness); emit(changed(true)); } void RulesUI::on_varFaintLoss_valueChanged(const int faintLoss) { - m_rules_mod->setHappyFaintLoss(faintLoss); + static_cast<Rules*>(modified())->setHappyFaintLoss(faintLoss); emit(changed(true)); } void RulesUI::on_varLevelGain_valueChanged(const int levelGain) { - m_rules_mod->setHappyLevelGain(levelGain); + static_cast<Rules*>(modified())->setHappyLevelGain(levelGain); emit(changed(true)); } void RulesUI::on_varNumSteps_valueChanged(const int numSteps) { - m_rules_mod->setHappySteps(numSteps); + static_cast<Rules*>(modified())->setHappySteps(numSteps); emit(changed(true)); } void RulesUI::on_boxEffortValues_toggled(const bool effortValues) { - m_rules_mod->setEffortValuesAllowed(effortValues); + static_cast<Rules*>(modified())->setEffortValuesAllowed(effortValues); emit(changed(true)); } @@ -257,7 +261,7 @@ void RulesUI::on_varMaxEV_valueChanged(const int maxEV) { try { - m_rules_mod->setMaxTotalEV(maxEV); + static_cast<Rules*>(modified())->setMaxTotalEV(maxEV); emit(changed(true)); } catch (BoundsException& exception) @@ -271,7 +275,7 @@ void RulesUI::on_varMaxEVPerStat_valueChanged(const int maxEVPerStat) { try { - m_rules_mod->setMaxEVPerStat(maxEVPerStat); + static_cast<Rules*>(modified())->setMaxEVPerStat(maxEVPerStat); emit(changed(true)); } catch (BoundsException& exception) @@ -285,7 +289,7 @@ void RulesUI::on_varPokerus_valueChanged(const Fraction& pokerusChance) { try { - m_rules_mod->setPokerusChance(pokerusChance); + static_cast<Rules*>(modified())->setPokerusChance(pokerusChance); emit(changed(true)); } catch (Exception& exception) diff --git a/pokemodr/RulesUI.h b/pokemodr/RulesUI.h index acf03a2d..b3758e08 100644 --- a/pokemodr/RulesUI.h +++ b/pokemodr/RulesUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Rules.h" - // Form include #include "ui_rules.h" +// Forward declarations +class Rules; + class RulesUI : public ObjectUI, private Ui::formRules { Q_OBJECT public: RulesUI(Rules* rules, QWidget* parent); - ~RulesUI() - { - delete m_rules_mod; - } + ~RulesUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -68,9 +65,6 @@ class RulesUI : public ObjectUI, private Ui::formRules private: void initGui(); void setGui(); - - Rules* m_rules; - Rules* m_rules_mod; }; #endif diff --git a/pokemodr/SpeciesAbilityUI.cpp b/pokemodr/SpeciesAbilityUI.cpp index ad517fc8..a46a699d 100644 --- a/pokemodr/SpeciesAbilityUI.cpp +++ b/pokemodr/SpeciesAbilityUI.cpp @@ -25,29 +25,27 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QVariant> SpeciesAbilityUI::SpeciesAbilityUI(SpeciesAbility* ability, QWidget* parent) : - ObjectUI(parent), - m_ability(ability), - m_ability_mod(new SpeciesAbility(*ability)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_ability, m_ability_mod); + setObjects(ability, new SpeciesAbility(*ability)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +SpeciesAbilityUI::~SpeciesAbilityUI() +{ +} + void SpeciesAbilityUI::refreshGui() { varAbility->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_ability->pokemod())->abilityCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesAbility*>(original())->pokemod())->abilityCount(); ++i) { - const Ability* a = static_cast<const Pokemod*>(m_ability->pokemod())->ability(i); + const Ability* a = static_cast<const Pokemod*>(static_cast<SpeciesAbility*>(original())->pokemod())->ability(i); varAbility->addItem(a->name()); varAbility->setItemData(i, a->id()); } @@ -55,19 +53,19 @@ void SpeciesAbilityUI::refreshGui() void SpeciesAbilityUI::setGui() { - varAbility->setCurrentIndex(varAbility->findData(m_ability_mod->ability())); - varWeight->setValue(m_ability_mod->weight()); + varAbility->setCurrentIndex(varAbility->findData(static_cast<SpeciesAbility*>(modified())->ability())); + varWeight->setValue(static_cast<SpeciesAbility*>(modified())->weight()); } void SpeciesAbilityUI::on_buttonApply_clicked() { - *m_ability = *m_ability_mod; + *static_cast<SpeciesAbility*>(original()) = *static_cast<SpeciesAbility*>(modified()); emit(changed(false)); } void SpeciesAbilityUI::on_buttonDiscard_clicked() { - *m_ability_mod = *m_ability; + *static_cast<SpeciesAbility*>(modified()) = *static_cast<SpeciesAbility*>(original()); setGui(); emit(changed(false)); } @@ -76,7 +74,7 @@ void SpeciesAbilityUI::on_varAbility_currentIndexChanged(const int ability) { try { - m_ability_mod->setAbility(varAbility->itemData(ability).toInt()); + static_cast<SpeciesAbility*>(modified())->setAbility(varAbility->itemData(ability).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -90,7 +88,7 @@ void SpeciesAbilityUI::on_varWeight_valueChanged(const int weight) { try { - m_ability_mod->setWeight(weight); + static_cast<SpeciesAbility*>(modified())->setWeight(weight); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/SpeciesAbilityUI.h b/pokemodr/SpeciesAbilityUI.h index b2b27a90..a4abada8 100644 --- a/pokemodr/SpeciesAbilityUI.h +++ b/pokemodr/SpeciesAbilityUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/SpeciesAbility.h" - // Form include #include "ui_speciesability.h" +// Forward declarations +class SpeciesAbility; + class SpeciesAbilityUI : public ObjectUI, private Ui::formSpeciesAbility { Q_OBJECT public: SpeciesAbilityUI(SpeciesAbility* ability, QWidget* parent); - ~SpeciesAbilityUI() - { - delete m_ability_mod; - } + ~SpeciesAbilityUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -46,9 +43,6 @@ class SpeciesAbilityUI : public ObjectUI, private Ui::formSpeciesAbility void initGui(); void refreshGui(); void setGui(); - - SpeciesAbility* m_ability; - SpeciesAbility* m_ability_mod; }; #endif diff --git a/pokemodr/SpeciesEvolutionUI.cpp b/pokemodr/SpeciesEvolutionUI.cpp index 3a33b1a2..02fae057 100644 --- a/pokemodr/SpeciesEvolutionUI.cpp +++ b/pokemodr/SpeciesEvolutionUI.cpp @@ -27,24 +27,22 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QVariant> SpeciesEvolutionUI::SpeciesEvolutionUI(SpeciesEvolution* evolution, QWidget* parent) : ObjectUI(parent), - m_lastStyle(-1), - m_evolution(evolution), - m_evolution_mod(new SpeciesEvolution(*evolution)) + m_lastStyle(-1) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_evolution, m_evolution_mod); + setObjects(evolution, new SpeciesEvolution(*evolution)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +SpeciesEvolutionUI::~SpeciesEvolutionUI() +{ +} + void SpeciesEvolutionUI::initGui() { varStyle->addItems(SpeciesEvolution::StyleStr); @@ -53,9 +51,9 @@ void SpeciesEvolutionUI::initGui() void SpeciesEvolutionUI::refreshGui() { varSpecies->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_evolution->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(m_evolution->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->species(i); varSpecies->addItem(species->name()); varSpecies->setItemData(i, species->id()); } @@ -63,10 +61,10 @@ void SpeciesEvolutionUI::refreshGui() void SpeciesEvolutionUI::setGui() { - const bool styleChanged = (m_evolution_mod->style() != m_lastStyle); - varSpecies->setCurrentIndex(varSpecies->findData(m_evolution_mod->species())); - varStyle->setCurrentIndex(m_evolution_mod->style()); - m_lastStyle = m_evolution_mod->style(); + const bool styleChanged = (static_cast<SpeciesEvolution*>(modified())->style() != m_lastStyle); + varSpecies->setCurrentIndex(varSpecies->findData(static_cast<SpeciesEvolution*>(modified())->species())); + varStyle->setCurrentIndex(static_cast<SpeciesEvolution*>(modified())->style()); + m_lastStyle = static_cast<SpeciesEvolution*>(modified())->style(); if (styleChanged) { varValue1->clear(); @@ -74,7 +72,7 @@ void SpeciesEvolutionUI::setGui() varValue2->clear(); varValue2->setEnabled(false); varValue3->setEnabled(false); - switch (m_evolution_mod->style()) + switch (static_cast<SpeciesEvolution*>(modified())->style()) { case SpeciesEvolution::S_Level: case SpeciesEvolution::S_Happiness: @@ -86,9 +84,9 @@ void SpeciesEvolutionUI::setGui() case SpeciesEvolution::S_Item: case SpeciesEvolution::S_TradeItem: varValue1->setEnabled(true); - for (int i = 0; i < static_cast<const Pokemod*>(m_evolution->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(m_evolution->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->item(i); for (int j = 0; j < item->effectCount(); ++j) { if (item->effect(i)->effect() == ItemEffect::E_Evolution) @@ -100,8 +98,8 @@ void SpeciesEvolutionUI::setGui() } break; } - const bool isSplit = static_cast<const Pokemod*>(m_evolution->pokemod())->rules()->specialSplit(); - switch (m_evolution_mod->style()) + const bool isSplit = static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->rules()->specialSplit(); + switch (static_cast<SpeciesEvolution*>(modified())->style()) { case SpeciesEvolution::S_Stat: varValue2->setEnabled(true); @@ -112,7 +110,7 @@ void SpeciesEvolutionUI::setGui() varValue2->addItems(SpeciesEvolution::GiveHoldStr); break; } - switch (m_evolution_mod->style()) + switch (static_cast<SpeciesEvolution*>(modified())->style()) { case SpeciesEvolution::S_Happiness: case SpeciesEvolution::S_Stat: @@ -122,24 +120,24 @@ void SpeciesEvolutionUI::setGui() break; } } - if ((m_evolution_mod->style() == SpeciesEvolution::S_Item) ||(m_evolution_mod->style() == SpeciesEvolution::S_TradeItem)) - varValue1->setCurrentIndex(varValue1->findData(m_evolution_mod->value1())); + if ((static_cast<SpeciesEvolution*>(modified())->style() == SpeciesEvolution::S_Item) ||(static_cast<SpeciesEvolution*>(modified())->style() == SpeciesEvolution::S_TradeItem)) + varValue1->setCurrentIndex(varValue1->findData(static_cast<SpeciesEvolution*>(modified())->value1())); else - varValue1->setCurrentIndex(m_evolution_mod->value1()); - varValue2->setCurrentIndex(m_evolution_mod->value2()); - varValue3->setValue(m_evolution_mod->value3()); - varLevel->setValue(m_evolution_mod->level()); + varValue1->setCurrentIndex(static_cast<SpeciesEvolution*>(modified())->value1()); + varValue2->setCurrentIndex(static_cast<SpeciesEvolution*>(modified())->value2()); + varValue3->setValue(static_cast<SpeciesEvolution*>(modified())->value3()); + varLevel->setValue(static_cast<SpeciesEvolution*>(modified())->level()); } void SpeciesEvolutionUI::on_buttonApply_clicked() { - *m_evolution = *m_evolution_mod; + *static_cast<SpeciesEvolution*>(original()) = *static_cast<SpeciesEvolution*>(modified()); emit(changed(false)); } void SpeciesEvolutionUI::on_buttonDiscard_clicked() { - *m_evolution_mod = *m_evolution; + *static_cast<SpeciesEvolution*>(modified()) = *static_cast<SpeciesEvolution*>(original()); setGui(); emit(changed(false)); } @@ -148,7 +146,7 @@ void SpeciesEvolutionUI::on_varSpecies_currentIndexChanged(const int species) { try { - m_evolution_mod->setSpecies(varSpecies->itemData(species).toInt()); + static_cast<SpeciesEvolution*>(modified())->setSpecies(varSpecies->itemData(species).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -162,7 +160,7 @@ void SpeciesEvolutionUI::on_varStyle_currentIndexChanged(const int style) { try { - m_evolution_mod->setStyle(style); + static_cast<SpeciesEvolution*>(modified())->setStyle(style); emit(changed(true)); } catch (BoundsException& exception) @@ -176,10 +174,10 @@ void SpeciesEvolutionUI::on_varValue1_currentIndexChanged(const int value1) { try { - if ((m_evolution_mod->style() == SpeciesEvolution::S_Item) ||(m_evolution_mod->style() == SpeciesEvolution::S_TradeItem)) - m_evolution_mod->setValue1(varValue1->itemData(value1).toInt()); + if ((static_cast<SpeciesEvolution*>(modified())->style() == SpeciesEvolution::S_Item) ||(static_cast<SpeciesEvolution*>(modified())->style() == SpeciesEvolution::S_TradeItem)) + static_cast<SpeciesEvolution*>(modified())->setValue1(varValue1->itemData(value1).toInt()); else - m_evolution_mod->setValue1(value1); + static_cast<SpeciesEvolution*>(modified())->setValue1(value1); emit(changed(true)); } catch (Exception& exception) @@ -193,7 +191,7 @@ void SpeciesEvolutionUI::on_varValue2_currentIndexChanged(const int value2) { try { - m_evolution_mod->setValue2(value2); + static_cast<SpeciesEvolution*>(modified())->setValue2(value2); emit(changed(true)); } catch (Exception& exception) @@ -207,7 +205,7 @@ void SpeciesEvolutionUI::on_varValue3_valueChanged(const int value3) { try { - m_evolution_mod->setValue3(value3); + static_cast<SpeciesEvolution*>(modified())->setValue3(value3); emit(changed(true)); } catch (UnusedException& exception) @@ -221,7 +219,7 @@ void SpeciesEvolutionUI::on_varLevel_valueChanged(const int level) { try { - m_evolution_mod->setLevel(level); + static_cast<SpeciesEvolution*>(modified())->setLevel(level); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/SpeciesEvolutionUI.h b/pokemodr/SpeciesEvolutionUI.h index 82cd18dd..87332914 100644 --- a/pokemodr/SpeciesEvolutionUI.h +++ b/pokemodr/SpeciesEvolutionUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/SpeciesEvolution.h" - // Form include #include "ui_speciesevolution.h" +// Forward declarations +class SpeciesEvolution; + class SpeciesEvolutionUI : public ObjectUI, private Ui::formSpeciesEvolution { Q_OBJECT public: SpeciesEvolutionUI(SpeciesEvolution* evolution, QWidget* parent); - ~SpeciesEvolutionUI() - { - delete m_evolution_mod; - } + ~SpeciesEvolutionUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -52,9 +49,6 @@ class SpeciesEvolutionUI : public ObjectUI, private Ui::formSpeciesEvolution void setGui(); int m_lastStyle; - - SpeciesEvolution* m_evolution; - SpeciesEvolution* m_evolution_mod; }; #endif diff --git a/pokemodr/SpeciesItemUI.cpp b/pokemodr/SpeciesItemUI.cpp index 94b1c833..111e4f5e 100644 --- a/pokemodr/SpeciesItemUI.cpp +++ b/pokemodr/SpeciesItemUI.cpp @@ -25,29 +25,27 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QVariant> SpeciesItemUI::SpeciesItemUI(SpeciesItem* item, QWidget* parent) : - ObjectUI(parent), - m_item(item), - m_item_mod(new SpeciesItem(*item)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_item, m_item_mod); + setObjects(item, new SpeciesItem(*item)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +SpeciesItemUI::~SpeciesItemUI() +{ +} + void SpeciesItemUI::refreshGui() { varItem->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_item->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesItem*>(original())->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(m_item->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(static_cast<SpeciesItem*>(original())->pokemod())->item(i); varItem->addItem(item->name()); varItem->setItemData(i, item->id()); } @@ -55,19 +53,19 @@ void SpeciesItemUI::refreshGui() void SpeciesItemUI::setGui() { - varItem->setCurrentIndex(varItem->findData(m_item_mod->item())); - varWeight->setValue(m_item_mod->weight()); + varItem->setCurrentIndex(varItem->findData(static_cast<SpeciesItem*>(modified())->item())); + varWeight->setValue(static_cast<SpeciesItem*>(modified())->weight()); } void SpeciesItemUI::on_buttonApply_clicked() { - *m_item = *m_item_mod; + *static_cast<SpeciesItem*>(original()) = *static_cast<SpeciesItem*>(modified()); emit(changed(false)); } void SpeciesItemUI::on_buttonDiscard_clicked() { - *m_item_mod = *m_item; + *static_cast<SpeciesItem*>(modified()) = *static_cast<SpeciesItem*>(original()); setGui(); emit(changed(false)); } @@ -76,7 +74,7 @@ void SpeciesItemUI::on_varItem_currentIndexChanged(const int item) { try { - m_item_mod->setItem(varItem->itemData(item).toInt()); + static_cast<SpeciesItem*>(modified())->setItem(varItem->itemData(item).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -90,7 +88,7 @@ void SpeciesItemUI::on_varWeight_valueChanged(const int weight) { try { - m_item_mod->setWeight(weight); + static_cast<SpeciesItem*>(modified())->setWeight(weight); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/SpeciesItemUI.h b/pokemodr/SpeciesItemUI.h index 8253dada..c84a2067 100644 --- a/pokemodr/SpeciesItemUI.h +++ b/pokemodr/SpeciesItemUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/SpeciesItem.h" - // Form include #include "ui_speciesitem.h" +// Forward declarations +class SpeciesItem; + class SpeciesItemUI : public ObjectUI, private Ui::formSpeciesItem { Q_OBJECT public: SpeciesItemUI(SpeciesItem* item, QWidget* parent); - ~SpeciesItemUI() - { - delete m_item_mod; - } + ~SpeciesItemUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -45,9 +42,6 @@ class SpeciesItemUI : public ObjectUI, private Ui::formSpeciesItem private: void refreshGui(); void setGui(); - - SpeciesItem* m_item; - SpeciesItem* m_item_mod; }; #endif diff --git a/pokemodr/SpeciesMoveUI.cpp b/pokemodr/SpeciesMoveUI.cpp index 3150255e..3a63c7d1 100644 --- a/pokemodr/SpeciesMoveUI.cpp +++ b/pokemodr/SpeciesMoveUI.cpp @@ -25,52 +25,50 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QVariant> SpeciesMoveUI::SpeciesMoveUI(SpeciesMove* move, QWidget* parent) : - ObjectUI(parent), - m_move(move), - m_move_mod(new SpeciesMove(*move)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_move, m_move_mod); + setObjects(move, new SpeciesMove(*move)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +SpeciesMoveUI::~SpeciesMoveUI() +{ +} + void SpeciesMoveUI::refreshGui() { varMove->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_move->pokemod())->moveCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->moveCount(); ++i) { - const Move* move = static_cast<const Pokemod*>(m_move->pokemod())->move(i); + const Move* move = static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->move(i); varMove->addItem(move->name()); varMove->setItemData(i, move->id()); } - varLevel->setMaximum(static_cast<const Pokemod*>(m_move->pokemod())->rules()->maxLevel()); - varWildLevel->setMaximum(static_cast<const Pokemod*>(m_move->pokemod())->rules()->maxLevel()); + varLevel->setMaximum(static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->rules()->maxLevel()); + varWildLevel->setMaximum(static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->rules()->maxLevel()); } void SpeciesMoveUI::setGui() { - varMove->setCurrentIndex(varMove->findData(m_move_mod->move())); - varLevel->setValue(m_move_mod->level()); - varWildLevel->setValue(m_move_mod->wild()); + varMove->setCurrentIndex(varMove->findData(static_cast<SpeciesMove*>(modified())->move())); + varLevel->setValue(static_cast<SpeciesMove*>(modified())->level()); + varWildLevel->setValue(static_cast<SpeciesMove*>(modified())->wild()); } void SpeciesMoveUI::on_buttonApply_clicked() { - *m_move = *m_move_mod; + *static_cast<SpeciesMove*>(original()) = *static_cast<SpeciesMove*>(modified()); emit(changed(false)); } void SpeciesMoveUI::on_buttonDiscard_clicked() { - *m_move_mod = *m_move; + *static_cast<SpeciesMove*>(modified()) = *static_cast<SpeciesMove*>(original()); setGui(); emit(changed(false)); } @@ -79,7 +77,7 @@ void SpeciesMoveUI::on_varMove_currentIndexChanged(const int move) { try { - m_move_mod->setMove(varMove->itemData(move).toInt()); + static_cast<SpeciesMove*>(modified())->setMove(varMove->itemData(move).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -93,7 +91,7 @@ void SpeciesMoveUI::on_varLevel_valueChanged(const int level) { try { - m_move_mod->setLevel(level); + static_cast<SpeciesMove*>(modified())->setLevel(level); emit(changed(true)); } catch (BoundsException& exception) @@ -107,7 +105,7 @@ void SpeciesMoveUI::on_varWildLevel_valueChanged(const int wildLevel) { try { - m_move_mod->setWild(wildLevel); + static_cast<SpeciesMove*>(modified())->setWild(wildLevel); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/SpeciesMoveUI.h b/pokemodr/SpeciesMoveUI.h index 57b5935d..d09b5715 100644 --- a/pokemodr/SpeciesMoveUI.h +++ b/pokemodr/SpeciesMoveUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/SpeciesMove.h" - // Form include #include "ui_speciesmove.h" +// Forward declarations +class SpeciesMove; + class SpeciesMoveUI : public ObjectUI, private Ui::formSpeciesMove { Q_OBJECT public: SpeciesMoveUI(SpeciesMove* move, QWidget* parent); - ~SpeciesMoveUI() - { - delete m_move_mod; - } + ~SpeciesMoveUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -46,9 +43,6 @@ class SpeciesMoveUI : public ObjectUI, private Ui::formSpeciesMove private: void refreshGui(); void setGui(); - - SpeciesMove* m_move; - SpeciesMove* m_move_mod; }; #endif diff --git a/pokemodr/SpeciesUI.cpp b/pokemodr/SpeciesUI.cpp index 7ca1220a..ff2b35f6 100644 --- a/pokemodr/SpeciesUI.cpp +++ b/pokemodr/SpeciesUI.cpp @@ -29,24 +29,21 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QSize> -#include <QVariant> SpeciesUI::SpeciesUI(Species* species, QWidget* parent) : - ObjectUI(parent), - m_species(species), - m_species_mod(new Species(*species)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_species, m_species_mod); + setObjects(species, new Species(*species)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +SpeciesUI::~SpeciesUI() +{ +} + void SpeciesUI::initGui() { varGrowth->addItems(Species::StyleStr); @@ -56,29 +53,29 @@ void SpeciesUI::refreshGui() { varBaseStat->clear(); varEVStat->clear(); - const bool isSplit = static_cast<const Pokemod*>(m_species->pokemod())->rules()->specialSplit(); + const bool isSplit = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->specialSplit(); varBaseStat->addItems((isSplit ? Pokemod::StatGSCStr : Pokemod::StatRBYStr).mid(0, isSplit ? Pokemod::ST_End_GSC : Pokemod::ST_End_RBY)); - if (static_cast<const Pokemod*>(m_species->pokemod())->rules()->effortValuesAllowed()) + if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->effortValuesAllowed()) varEVStat->addItems((isSplit ? Pokemod::StatGSCStr : Pokemod::StatRBYStr).mid(0, isSplit ? Pokemod::ST_End_GSC : Pokemod::ST_End_RBY)); else boxEffortValues->setEnabled(false); - if (!static_cast<const Pokemod*>(m_species->pokemod())->rules()->holdItems()) + if (!static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->holdItems()) boxItemChance->setEnabled(false); - if (static_cast<const Pokemod*>(m_species->pokemod())->rules()->genderAllowed()) + if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->genderAllowed()) { varEggSpecies->clear(); varEggGroups->clear(); - if (static_cast<const Pokemod*>(m_species->pokemod())->rules()->breedingAllowed()) + if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->breedingAllowed()) { - for (int i = 0; i < static_cast<const Pokemod*>(m_species->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(m_species->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->species(i); varEggSpecies->addItem(species->name()); varEggSpecies->setItemData(i, species->id()); } - for (int i = 0; i < static_cast<const Pokemod*>(m_species->pokemod())->eggGroupCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->eggGroupCount(); ++i) { - const EggGroup* eggGroup = static_cast<const Pokemod*>(m_species->pokemod())->eggGroup(i); + const EggGroup* eggGroup = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->eggGroup(i); QListWidgetItem* widgetItem = new QListWidgetItem(eggGroup->name(), varEggGroups); widgetItem->setData(Qt::UserRole, eggGroup->id()); } @@ -97,9 +94,9 @@ void SpeciesUI::refreshGui() boxFemaleSprites->setEnabled(false); } varTypes->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_species->pokemod())->typeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->typeCount(); ++i) { - const Type* type = static_cast<const Pokemod*>(m_species->pokemod())->type(i); + const Type* type = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->type(i); QListWidgetItem* widgetItem = new QListWidgetItem(type->name(), varTypes); widgetItem->setData(Qt::UserRole, type->id()); } @@ -107,60 +104,60 @@ void SpeciesUI::refreshGui() void SpeciesUI::setGui() { - varName->setText(m_species_mod->name()); - varBaseStatValue->setValue(m_species_mod->baseStat(varBaseStat->currentIndex())); - varEffortValue->setValue(m_species_mod->effortValue(varBaseStat->currentIndex())); - varGrowth->setCurrentIndex(m_species_mod->growth()); - varExperienceValue->setValue(m_species_mod->experienceValue()); - varCatchValue->setValue(m_species_mod->catchValue()); - varRunChance->setValue(m_species_mod->runChance()); - varItemChance->setValue(m_species_mod->itemChance()); - varPokedexNumber->setValue(m_species_mod->pokedexNumber()); - varWeight->setValue(m_species_mod->weight()); - varHeightFeet->setValue(m_species_mod->heightFeet()); - varHeightInches->setValue(m_species_mod->heightInches()); - varPokedexEntry->setText(m_species_mod->pokedexEntry()); - varMaleFront->setIcon(m_species_mod->frontMaleSprite()); - varMaleBack->setIcon(m_species_mod->backMaleSprite()); - if (static_cast<const Pokemod*>(m_species->pokemod())->rules()->genderAllowed()) + varName->setText(static_cast<Species*>(modified())->name()); + varBaseStatValue->setValue(static_cast<Species*>(modified())->baseStat(varBaseStat->currentIndex())); + varEffortValue->setValue(static_cast<Species*>(modified())->effortValue(varBaseStat->currentIndex())); + varGrowth->setCurrentIndex(static_cast<Species*>(modified())->growth()); + varExperienceValue->setValue(static_cast<Species*>(modified())->experienceValue()); + varCatchValue->setValue(static_cast<Species*>(modified())->catchValue()); + varRunChance->setValue(static_cast<Species*>(modified())->runChance()); + varItemChance->setValue(static_cast<Species*>(modified())->itemChance()); + varPokedexNumber->setValue(static_cast<Species*>(modified())->pokedexNumber()); + varWeight->setValue(static_cast<Species*>(modified())->weight()); + varHeightFeet->setValue(static_cast<Species*>(modified())->heightFeet()); + varHeightInches->setValue(static_cast<Species*>(modified())->heightInches()); + varPokedexEntry->setText(static_cast<Species*>(modified())->pokedexEntry()); + varMaleFront->setIcon(static_cast<Species*>(modified())->frontMaleSprite()); + varMaleBack->setIcon(static_cast<Species*>(modified())->backMaleSprite()); + if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->genderAllowed()) { - varFemaleFront->setIcon(m_species_mod->frontFemaleSprite()); - varFemaleBack->setIcon(m_species_mod->backFemaleSprite()); + varFemaleFront->setIcon(static_cast<Species*>(modified())->frontFemaleSprite()); + varFemaleBack->setIcon(static_cast<Species*>(modified())->backFemaleSprite()); } - varList->setIcon(m_species_mod->listSprite()); - boxGenderChance->setChecked(m_species_mod->genderFactor() == -1); - varGenderChance->setValue(m_species_mod->genderFactor()); - varEggSpecies->setCurrentIndex(varEggSpecies->findData(m_species_mod->eggSpecies())); - varEggSteps->setValue(m_species_mod->eggSteps()); - varNidoranGroup->setValue(m_species_mod->nidoranGroup()); + varList->setIcon(static_cast<Species*>(modified())->listSprite()); + boxGenderChance->setChecked(static_cast<Species*>(modified())->genderFactor() == -1); + varGenderChance->setValue(static_cast<Species*>(modified())->genderFactor()); + varEggSpecies->setCurrentIndex(varEggSpecies->findData(static_cast<Species*>(modified())->eggSpecies())); + varEggSteps->setValue(static_cast<Species*>(modified())->eggSteps()); + varNidoranGroup->setValue(static_cast<Species*>(modified())->nidoranGroup()); for (int i = 0; i < varTypes->count(); ++i) { QListWidgetItem* widgetItem = varTypes->item(i); - widgetItem->setSelected(m_species_mod->item(widgetItem->data(Qt::UserRole).toInt())); + widgetItem->setSelected(static_cast<Species*>(modified())->item(widgetItem->data(Qt::UserRole).toInt())); } for (int i = 0; i < varEggGroups->count(); ++i) { QListWidgetItem* widgetItem = varEggGroups->item(i); - widgetItem->setSelected(m_species_mod->item(widgetItem->data(Qt::UserRole).toInt())); + widgetItem->setSelected(static_cast<Species*>(modified())->item(widgetItem->data(Qt::UserRole).toInt())); } } void SpeciesUI::on_buttonApply_clicked() { - *m_species = *m_species_mod; + *static_cast<Species*>(original()) = *static_cast<Species*>(modified()); emit(changed(false)); } void SpeciesUI::on_buttonDiscard_clicked() { - *m_species_mod = *m_species; + *static_cast<Species*>(modified()) = *static_cast<Species*>(original()); setGui(); emit(changed(false)); } void SpeciesUI::on_varName_textChanged(const QString& name) { - m_species_mod->setName(name); + static_cast<Species*>(modified())->setName(name); emit(changed(true)); } @@ -174,7 +171,7 @@ void SpeciesUI::on_varBaseStatValue_valueChanged(const int baseStat) { try { - m_species_mod->setBaseStat(varBaseStat->currentIndex(), baseStat); + static_cast<Species*>(modified())->setBaseStat(varBaseStat->currentIndex(), baseStat); emit(changed(true)); } catch (BoundsException& exception) @@ -194,7 +191,7 @@ void SpeciesUI::on_varEffortValue_valueChanged(const int effortValue) { try { - m_species_mod->setEffortValue(varEVStat->currentIndex(), effortValue); + static_cast<Species*>(modified())->setEffortValue(varEVStat->currentIndex(), effortValue); emit(changed(true)); } catch (BoundsException& exception) @@ -208,7 +205,7 @@ void SpeciesUI::on_varGrowth_currentIndexChanged(const int growth) { try { - m_species_mod->setGrowth(growth); + static_cast<Species*>(modified())->setGrowth(growth); emit(changed(true)); } catch (BoundsException& exception) @@ -220,13 +217,13 @@ void SpeciesUI::on_varGrowth_currentIndexChanged(const int growth) void SpeciesUI::on_varExperienceValue_valueChanged(const int experienceValue) { - m_species_mod->setExperienceValue(experienceValue); + static_cast<Species*>(modified())->setExperienceValue(experienceValue); emit(changed(true)); } void SpeciesUI::on_varCatchValue_valueChanged(const int catchValue) { - m_species_mod->setCatchValue(catchValue); + static_cast<Species*>(modified())->setCatchValue(catchValue); emit(changed(true)); } @@ -234,7 +231,7 @@ void SpeciesUI::on_varRunChance_valueChanged(const Fraction& runChance) { try { - m_species_mod->setRunChance(runChance); + static_cast<Species*>(modified())->setRunChance(runChance); emit(changed(true)); } catch (Exception& exception) @@ -248,7 +245,7 @@ void SpeciesUI::on_varItemChance_valueChanged(const Fraction& itemChance) { try { - m_species_mod->setItemChance(itemChance); + static_cast<Species*>(modified())->setItemChance(itemChance); emit(changed(true)); } catch (Exception& exception) @@ -261,19 +258,19 @@ void SpeciesUI::on_varItemChance_valueChanged(const Fraction& itemChance) void SpeciesUI::on_varPokedexNumber_valueChanged(const int pokedexNumber) { - m_species_mod->setPokedexNumber(pokedexNumber); + static_cast<Species*>(modified())->setPokedexNumber(pokedexNumber); emit(changed(true)); } void SpeciesUI::on_varWeight_valueChanged(const int weight) { - m_species_mod->setWeight(weight); + static_cast<Species*>(modified())->setWeight(weight); emit(changed(true)); } void SpeciesUI::on_varHeightFeet_valueChanged(const int feet) { - m_species_mod->setHeightFeet(feet); + static_cast<Species*>(modified())->setHeightFeet(feet); emit(changed(true)); } @@ -281,7 +278,7 @@ void SpeciesUI::on_varHeightInches_valueChanged(const int inches) { try { - m_species_mod->setHeightInches(inches); + static_cast<Species*>(modified())->setHeightInches(inches); emit(changed(true)); } catch (BoundsException& exception) @@ -293,7 +290,7 @@ void SpeciesUI::on_varHeightInches_valueChanged(const int inches) void SpeciesUI::on_varPokedexEntry_textChanged() { - m_species_mod->setPokedexEntry(varPokedexEntry->toPlainText()); + static_cast<Species*>(modified())->setPokedexEntry(varPokedexEntry->toPlainText()); emit(changed(true)); } @@ -304,7 +301,7 @@ void SpeciesUI::on_varFrontMaleSprite_pressed() { try { - m_species_mod->setFrontMaleSprite(QPixmap(dialog.selectedFile())); + static_cast<Species*>(modified())->setFrontMaleSprite(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -321,7 +318,7 @@ void SpeciesUI::on_varBackMaleSprite_pressed() { try { - m_species_mod->setBackMaleSprite(QPixmap(dialog.selectedFile())); + static_cast<Species*>(modified())->setBackMaleSprite(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -338,7 +335,7 @@ void SpeciesUI::on_varFrontFemaleSprite_pressed() { try { - m_species_mod->setFrontFemaleSprite(QPixmap(dialog.selectedFile())); + static_cast<Species*>(modified())->setFrontFemaleSprite(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -355,7 +352,7 @@ void SpeciesUI::on_varBackFemaleSprite_pressed() { try { - m_species_mod->setBackFemaleSprite(QPixmap(dialog.selectedFile())); + static_cast<Species*>(modified())->setBackFemaleSprite(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -372,7 +369,7 @@ void SpeciesUI::on_varListSprite_pressed() { try { - m_species_mod->setListSprite(QPixmap(dialog.selectedFile())); + static_cast<Species*>(modified())->setListSprite(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -384,7 +381,7 @@ void SpeciesUI::on_varListSprite_pressed() void SpeciesUI::on_boxGenderChance_toggled(const bool genderChance) { - m_species_mod->setGenderFactor(Fraction(genderChance ? 1 : -1, 1)); + static_cast<Species*>(modified())->setGenderFactor(Fraction(genderChance ? 1 : -1, 1)); emit(changed(true)); setGui(); } @@ -393,7 +390,7 @@ void SpeciesUI::on_varGenderChance_valueChanged(const Fraction& genderChance) { try { - m_species_mod->setGenderFactor(genderChance); + static_cast<Species*>(modified())->setGenderFactor(genderChance); emit(changed(true)); } catch (Exception& exception) @@ -407,7 +404,7 @@ void SpeciesUI::on_varEggSpecies_currentIndexChanged(const int eggSpecies) { try { - m_species_mod->setEggSpecies(varEggSpecies->itemData(eggSpecies).toInt()); + static_cast<Species*>(modified())->setEggSpecies(varEggSpecies->itemData(eggSpecies).toInt()); emit(changed(true)); } catch (BoundsException& exception) @@ -419,13 +416,13 @@ void SpeciesUI::on_varEggSpecies_currentIndexChanged(const int eggSpecies) void SpeciesUI::on_varEggSteps_valueChanged(const int eggSteps) { - m_species_mod->setEggSteps(eggSteps); + static_cast<Species*>(modified())->setEggSteps(eggSteps); emit(changed(true)); } void SpeciesUI::on_varNidoranGroup_valueChanged(const int nidoranGroup) { - m_species_mod->setNidoranGroup(nidoranGroup); + static_cast<Species*>(modified())->setNidoranGroup(nidoranGroup); emit(changed(true)); } @@ -436,7 +433,7 @@ void SpeciesUI::on_varTypes_itemSelectionChanged() for (int i = 0; i < varTypes->count(); ++i) { const QListWidgetItem* widgetItem = varTypes->item(i); - m_species_mod->setType(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); + static_cast<Species*>(modified())->setType(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); } emit(changed(true)); } @@ -454,7 +451,7 @@ void SpeciesUI::on_varEggGroups_itemSelectionChanged() for (int i = 0; i < varEggGroups->count(); ++i) { const QListWidgetItem* widgetItem = varEggGroups->item(i); - m_species_mod->setEggGroup(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); + static_cast<Species*>(modified())->setEggGroup(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); } emit(changed(true)); } diff --git a/pokemodr/SpeciesUI.h b/pokemodr/SpeciesUI.h index fb05350e..e8eb7537 100644 --- a/pokemodr/SpeciesUI.h +++ b/pokemodr/SpeciesUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Species.h" - // Form include #include "ui_species.h" +// Forward declarations +class Species; + class SpeciesUI : public ObjectUI, private Ui::formSpecies { Q_OBJECT public: SpeciesUI(Species* species, QWidget* parent); - ~SpeciesUI() - { - delete m_species_mod; - } + ~SpeciesUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -71,9 +68,6 @@ class SpeciesUI : public ObjectUI, private Ui::formSpecies void initGui(); void refreshGui(); void setGui(); - - Species* m_species; - Species* m_species_mod; }; #endif diff --git a/pokemodr/StoreUI.cpp b/pokemodr/StoreUI.cpp index c7043f77..31db81a9 100644 --- a/pokemodr/StoreUI.cpp +++ b/pokemodr/StoreUI.cpp @@ -25,30 +25,27 @@ // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QListWidgetItem> -#include <QVariant> StoreUI::StoreUI(Store* store, QWidget* parent) : - ObjectUI(parent), - m_store(store), - m_store_mod(new Store(*store)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_store, m_store_mod); + setObjects(store, new Store(*store)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +StoreUI::~StoreUI() +{ +} + void StoreUI::refreshGui() { varItems->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_store->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Store*>(original())->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(m_store->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(static_cast<Store*>(original())->pokemod())->item(i); QListWidgetItem* widgetItem = new QListWidgetItem(item->name(), varItems); widgetItem->setData(Qt::UserRole, item->id()); } @@ -56,30 +53,30 @@ void StoreUI::refreshGui() void StoreUI::setGui() { - varName->setText(m_store_mod->name()); + varName->setText(static_cast<Store*>(modified())->name()); for (int i = 0; i < varItems->count(); ++i) { QListWidgetItem* widgetItem = varItems->item(i); - widgetItem->setSelected(m_store_mod->item(widgetItem->data(Qt::UserRole).toInt())); + widgetItem->setSelected(static_cast<Store*>(modified())->item(widgetItem->data(Qt::UserRole).toInt())); } } void StoreUI::on_buttonApply_clicked() { - *m_store = *m_store_mod; + *static_cast<Store*>(original()) = *static_cast<Store*>(modified()); emit(changed(false)); } void StoreUI::on_buttonDiscard_clicked() { - *m_store_mod = *m_store; + *static_cast<Store*>(modified()) = *static_cast<Store*>(original()); setGui(); emit(changed(false)); } void StoreUI::on_varName_textChanged(const QString& name) { - m_store_mod->setName(name); + static_cast<Store*>(modified())->setName(name); emit(changed(true)); } @@ -90,7 +87,7 @@ void StoreUI::on_varItems_itemSelectionChanged() for (int i = 0; i < varItems->count(); ++i) { const QListWidgetItem* widgetItem = varItems->item(i); - m_store_mod->setItem(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); + static_cast<Store*>(modified())->setItem(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); } emit(changed(true)); } diff --git a/pokemodr/StoreUI.h b/pokemodr/StoreUI.h index 733042ee..dfc9683b 100644 --- a/pokemodr/StoreUI.h +++ b/pokemodr/StoreUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Store.h" - // Form include #include "ui_store.h" +// Forward declarations +class Store; + class StoreUI : public ObjectUI, private Ui::formStore { Q_OBJECT public: StoreUI(Store* store, QWidget* parent); - ~StoreUI() - { - delete m_store_mod; - } + ~StoreUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -45,9 +42,6 @@ class StoreUI : public ObjectUI, private Ui::formStore private: void refreshGui(); void setGui(); - - Store* m_store; - Store* m_store_mod; }; #endif diff --git a/pokemodr/TileUI.cpp b/pokemodr/TileUI.cpp index f53a9b10..1934b793 100644 --- a/pokemodr/TileUI.cpp +++ b/pokemodr/TileUI.cpp @@ -22,29 +22,26 @@ #include "FileDialog.h" // Pokemod includes +#include "../pokemod/Tile.h" #include "../pokemod/Pokemod.h" // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QList> -#include <QListWidgetItem> -#include <QSize> TileUI::TileUI(Tile* tile, QWidget* parent) : - ObjectUI(parent), - m_tile(tile), - m_tile_mod(new Tile(*tile)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_tile, m_tile_mod); + setObjects(tile, new Tile(*tile)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +TileUI::~TileUI() +{ +} + void TileUI::initGui() { varAccessibility->addItems(Pokemod::DirectionStr.mid(0, Pokemod::D_End)); @@ -56,10 +53,10 @@ void TileUI::initGui() void TileUI::refreshGui() { varHMUnder->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(m_tile->pokemod())->tileCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Tile*>(original())->pokemod())->tileCount(); ++i) { - const Tile* tile = static_cast<const Pokemod*>(m_tile->pokemod())->tile(i); - if (tile->id() != m_tile->id()) + const Tile* tile = static_cast<const Pokemod*>(static_cast<Tile*>(original())->pokemod())->tile(i); + if (tile->id() != static_cast<Tile*>(original())->id()) { varHMUnder->addItem(tile->sprite(), tile->name()); varHMUnder->setItemData(varHMUnder->count() - 1, tile->id()); @@ -69,37 +66,37 @@ void TileUI::refreshGui() void TileUI::setGui() { - varName->setText(m_tile_mod->name()); - varImage->setIcon(m_tile_mod->sprite()); + varName->setText(static_cast<Tile*>(modified())->name()); + varImage->setIcon(static_cast<Tile*>(modified())->sprite()); for (int i = 0; i < varAccessibility->count(); ++i) - varAccessibility->item(i)->setSelected(m_tile_mod->from(i)); - varWildChance->setValue(m_tile_mod->wildChance()); - boxHMs->setChecked((m_tile_mod->hmType() == INT_MAX) ? Qt::Unchecked : Qt::Checked); - varHMType->setCurrentIndex(m_tile_mod->hmType()); - varHMUnder->setCurrentIndex(varHMUnder->findData(m_tile_mod->under())); - varHMUnder->setEnabled((m_tile_mod->hmType() == Pokemod::HM_Whirlpool) || (m_tile_mod->hmType() == Pokemod::HM_Cut) || (m_tile_mod->hmType() == Pokemod::HM_RockSmash)); - boxForces->setChecked((m_tile_mod->forceType() == INT_MAX) ? Qt::Unchecked : Qt::Checked); - varForce->setCurrentIndex(m_tile_mod->forceType()); - varDirection->setCurrentIndex(m_tile_mod->forceDirection()); - varDirection->setEnabled((m_tile_mod->forceType() != Tile::Stop) && (m_tile_mod->forceType() != Tile::Slip)); + varAccessibility->item(i)->setSelected(static_cast<Tile*>(modified())->from(i)); + varWildChance->setValue(static_cast<Tile*>(modified())->wildChance()); + boxHMs->setChecked((static_cast<Tile*>(modified())->hmType() == INT_MAX) ? Qt::Unchecked : Qt::Checked); + varHMType->setCurrentIndex(static_cast<Tile*>(modified())->hmType()); + varHMUnder->setCurrentIndex(varHMUnder->findData(static_cast<Tile*>(modified())->under())); + varHMUnder->setEnabled((static_cast<Tile*>(modified())->hmType() == Pokemod::HM_Whirlpool) || (static_cast<Tile*>(modified())->hmType() == Pokemod::HM_Cut) || (static_cast<Tile*>(modified())->hmType() == Pokemod::HM_RockSmash)); + boxForces->setChecked((static_cast<Tile*>(modified())->forceType() == INT_MAX) ? Qt::Unchecked : Qt::Checked); + varForce->setCurrentIndex(static_cast<Tile*>(modified())->forceType()); + varDirection->setCurrentIndex(static_cast<Tile*>(modified())->forceDirection()); + varDirection->setEnabled((static_cast<Tile*>(modified())->forceType() != Tile::Stop) && (static_cast<Tile*>(modified())->forceType() != Tile::Slip)); } void TileUI::on_buttonApply_clicked() { - *m_tile = *m_tile_mod; + *static_cast<Tile*>(original()) = *static_cast<Tile*>(modified()); emit(changed(false)); } void TileUI::on_buttonDiscard_clicked() { - *m_tile_mod = *m_tile; + *static_cast<Tile*>(modified()) = *static_cast<Tile*>(original()); setGui(); emit(changed(false)); } void TileUI::on_varName_textChanged(const QString& name) { - m_tile_mod->setName(name); + static_cast<Tile*>(modified())->setName(name); emit(changed(true)); } @@ -110,7 +107,7 @@ void TileUI::on_varImage_pressed() { try { - m_tile_mod->setSprite(QPixmap(dialog.selectedFile())); + static_cast<Tile*>(modified())->setSprite(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { @@ -124,7 +121,7 @@ void TileUI::on_varWild_valueChanged(const Fraction& wildChance) { try { - m_tile_mod->setWildChance(wildChance); + static_cast<Tile*>(modified())->setWildChance(wildChance); emit(changed(true)); } catch (BoundsException& exception) @@ -141,7 +138,7 @@ void TileUI::on_varAccessibility_itemSelectionChanged() for (int i = 0; i < varAccessibility->count(); ++i) { const QListWidgetItem* widgetItem = varAccessibility->item(i); - m_tile_mod->setFrom(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); + static_cast<Tile*>(modified())->setFrom(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected()); } emit(changed(true)); } @@ -167,7 +164,7 @@ void TileUI::on_varHMType_currentIndexChanged(const int hmType) { try { - m_tile_mod->setHMType(hmType); + static_cast<Tile*>(modified())->setHMType(hmType); } catch (BoundsException& exception) { @@ -180,7 +177,7 @@ void TileUI::on_varHMUnder_currentIndexChanged(const int hmUnder) { try { - m_tile_mod->setUnder(varHMUnder->itemData(hmUnder, Qt::UserRole).toInt()); + static_cast<Tile*>(modified())->setUnder(varHMUnder->itemData(hmUnder, Qt::UserRole).toInt()); } catch (BoundsException& exception) { @@ -204,7 +201,7 @@ void TileUI::on_varForce_currentIndexChanged(const int force) { try { - m_tile_mod->setForceType(force); + static_cast<Tile*>(modified())->setForceType(force); } catch (BoundsException& exception) { @@ -217,7 +214,7 @@ void TileUI::on_varDirection_currentIndexChanged(const int direction) { try { - m_tile_mod->setForceDirection(direction); + static_cast<Tile*>(modified())->setForceDirection(direction); } catch (BoundsException& exception) { diff --git a/pokemodr/TileUI.h b/pokemodr/TileUI.h index 07c9f90a..2a0abe14 100644 --- a/pokemodr/TileUI.h +++ b/pokemodr/TileUI.h @@ -21,25 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Tile.h" - -// Qt includes -#include <QString> - // Form include #include "ui_tile.h" +// Forward declarations +class Tile; + class TileUI : public ObjectUI, private Ui::formTile { Q_OBJECT public: TileUI(Tile* tile, QWidget* parent); - ~TileUI() - { - delete m_tile_mod; - } + ~TileUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -57,9 +51,6 @@ class TileUI : public ObjectUI, private Ui::formTile void initGui(); void refreshGui(); void setGui(); - - Tile* m_tile; - Tile* m_tile_mod; }; #endif diff --git a/pokemodr/TimeUI.cpp b/pokemodr/TimeUI.cpp index cef3522e..402f2066 100644 --- a/pokemodr/TimeUI.cpp +++ b/pokemodr/TimeUI.cpp @@ -15,47 +15,51 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ +// Header include +#include "TimeUI.h" + +// Pokemod includes +#include "../pokemod/Time.h" + // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Gheaer include -#include "TimeUI.h" TimeUI::TimeUI(Time* time, QWidget* parent) : - ObjectUI(parent), - m_time(time), - m_time_mod(new Time(*time)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_time, m_time_mod); + setObjects(time, new Time(*time)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +TimeUI::~TimeUI() +{ +} + void TimeUI::setGui() { - varName->setText(m_time_mod->name()); - varTime->setTime(QTime(m_time_mod->hour(), m_time_mod->minute())); + varName->setText(static_cast<Time*>(modified())->name()); + varTime->setTime(QTime(static_cast<Time*>(modified())->hour(), static_cast<Time*>(modified())->minute())); } void TimeUI::on_buttonApply_clicked() { - *m_time = *m_time_mod; + *static_cast<Time*>(original()) = *static_cast<Time*>(modified()); emit(changed(false)); } void TimeUI::on_buttonDiscard_clicked() { - *m_time_mod = *m_time; + *static_cast<Time*>(modified()) = *static_cast<Time*>(original()); setGui(); emit(changed(false)); } void TimeUI::on_varName_textChanged(const QString& name) { - m_time_mod->setName(name); + static_cast<Time*>(modified())->setName(name); emit(changed(true)); } @@ -63,8 +67,8 @@ void TimeUI::on_varTime_timeChanged(const QTime& time) { try { - m_time_mod->setHour(time.hour()); - m_time_mod->setMinute(time.minute()); + static_cast<Time*>(modified())->setHour(time.hour()); + static_cast<Time*>(modified())->setMinute(time.minute()); emit(changed(true)); } catch (BoundsException& exception) diff --git a/pokemodr/TimeUI.h b/pokemodr/TimeUI.h index 884f34db..ff320b72 100644 --- a/pokemodr/TimeUI.h +++ b/pokemodr/TimeUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Time.h" - // Form include #include "ui_time.h" +// Forward declarations +class Time; + class TimeUI : public ObjectUI, private Ui::formTime { Q_OBJECT public: TimeUI(Time* time, QWidget* parent); - ~TimeUI() - { - delete m_time_mod; - } + ~TimeUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -44,9 +41,6 @@ class TimeUI : public ObjectUI, private Ui::formTime void on_varTime_timeChanged(const QTime& t); private: void setGui(); - - Time* m_time; - Time* m_time_mod; }; #endif diff --git a/pokemodr/TrainerUI.cpp b/pokemodr/TrainerUI.cpp index f51c38c0..5551df55 100644 --- a/pokemodr/TrainerUI.cpp +++ b/pokemodr/TrainerUI.cpp @@ -21,48 +21,49 @@ // PokeModr includes #include "FileDialog.h" +// Pokemod includes +#include "../pokemod/Trainer.h" + // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QSize> TrainerUI::TrainerUI(Trainer * trainer, QWidget * parent) : - ObjectUI(parent), - m_trainer(trainer), - m_trainer_mod(new Trainer(*trainer)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_trainer, m_trainer_mod); + setObjects(trainer, new Trainer(*trainer)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +TrainerUI::~TrainerUI() +{ +} + void TrainerUI::setGui() { - varName->setText(m_trainer_mod->name()); - varMoneyFactor->setValue(m_trainer_mod->moneyFactor()); - varSkin->setIcon(m_trainer_mod->skin()); -// varAI->setText(QFile::exists(trainer_mod->ai()) ? "Valid" : "Invalid"); + varName->setText(static_cast<Trainer*>(modified())->name()); + varMoneyFactor->setValue(static_cast<Trainer*>(modified())->moneyFactor()); + varSkin->setIcon(static_cast<Trainer*>(modified())->skin()); +// varAI->setText(QFile::exists(static_cast<Trainer*>(modified())->ai()) ? "Valid" : "Invalid"); } void TrainerUI::on_buttonApply_clicked() { - *m_trainer = *m_trainer_mod; + *static_cast<Trainer*>(original()) = *static_cast<Trainer*>(modified()); emit(changed(false)); } void TrainerUI::on_buttonDiscard_clicked() { - *m_trainer_mod = *m_trainer; + *static_cast<Trainer*>(modified()) = *static_cast<Trainer*>(original()); emit(changed(false)); } void TrainerUI::on_varName_textChanged(const QString & name) { - m_trainer_mod->setName(name); + static_cast<Trainer*>(modified())->setName(name); emit(changed(true)); } @@ -70,7 +71,7 @@ void TrainerUI::on_varMoneyFactor_valueChaged(const int moneyFactor) { try { - m_trainer_mod->setMoneyFactor(moneyFactor); + static_cast<Trainer*>(modified())->setMoneyFactor(moneyFactor); emit(changed(true)); } catch (BoundsException& exception) @@ -87,7 +88,7 @@ void TrainerUI::on_varSkin_pressed() { try { - m_trainer_mod->setSkin(QPixmap(dialog.selectedFile())); + static_cast<Trainer*>(modified())->setSkin(QPixmap(dialog.selectedFile())); } catch (SaveException& exception) { diff --git a/pokemodr/TrainerUI.h b/pokemodr/TrainerUI.h index efe5ea8f..5c46f15a 100644 --- a/pokemodr/TrainerUI.h +++ b/pokemodr/TrainerUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Trainer.h" - // Form include #include "ui_trainer.h" +// Forward declarations +class Trainer; + class TrainerUI : public ObjectUI, private Ui::formTrainer { Q_OBJECT public: TrainerUI(Trainer* trainer, QWidget* parent); - ~TrainerUI() - { - delete m_trainer_mod; - } + ~TrainerUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -46,9 +43,6 @@ class TrainerUI : public ObjectUI, private Ui::formTrainer // void on_varAI_pressed(); private: void setGui(); - - Trainer* m_trainer; - Trainer* m_trainer_mod; }; #endif diff --git a/pokemodr/TypeUI.cpp b/pokemodr/TypeUI.cpp index b81928d4..9b8cda52 100644 --- a/pokemodr/TypeUI.cpp +++ b/pokemodr/TypeUI.cpp @@ -18,54 +18,55 @@ // Header include #include "TypeUI.h" +// Pokemod includes +#include "../pokemod/Type.h" + // General includes #include "../general/BugCatcher.h" -#include "../general/Exception.h" - -// Qt includes -#include <QStringList> TypeUI::TypeUI(Type* type, QWidget* parent) : - ObjectUI(parent), - m_type(type), - m_type_mod(new Type(*type)) + ObjectUI(parent) { setupUi(this); QMetaObject::connectSlotsByName(this); - setObjects(m_type, m_type_mod); + setObjects(type, new Type(*type)); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); init(); } +TypeUI::~TypeUI() +{ +} + void TypeUI::setGui() { - varName->setText(m_type_mod->name()); - varSTAB->setValue(m_type_mod->stab()); + varName->setText(static_cast<Type*>(modified())->name()); + varSTAB->setValue(static_cast<Type*>(modified())->stab()); } void TypeUI::on_buttonApply_clicked() { - *m_type = *m_type_mod; + *static_cast<Type*>(original()) = *static_cast<Type*>(modified()); emit(changed(false)); } void TypeUI::on_buttonDiscard_clicked() { - *m_type_mod = *m_type; + *static_cast<Type*>(modified()) = *static_cast<Type*>(original()); setGui(); emit(changed(false)); } void TypeUI::on_varName_textChanged(const QString& name) { - m_type_mod->setName(name); + static_cast<Type*>(modified())->setName(name); } void TypeUI::on_varSTAB_valueChanged(const Fraction& stab) { try { - m_type_mod->setStab(stab); + static_cast<Type*>(modified())->setStab(stab); emit(changed(true)); } catch (Exception& exception) diff --git a/pokemodr/TypeUI.h b/pokemodr/TypeUI.h index 78b317dd..0984403c 100644 --- a/pokemodr/TypeUI.h +++ b/pokemodr/TypeUI.h @@ -21,22 +21,19 @@ // PokeModr includes #include "ObjectUI.h" -// Pokemod includes -#include "../pokemod/Type.h" - // Form include #include "ui_type.h" +// Forward declarations +class Type; + class TypeUI : public ObjectUI, private Ui::formType { Q_OBJECT public: TypeUI(Type* type, QWidget* parent); - ~TypeUI() - { - delete m_type_mod; - } + ~TypeUI(); public slots: void on_buttonApply_clicked(); void on_buttonDiscard_clicked(); @@ -46,9 +43,6 @@ class TypeUI : public ObjectUI, private Ui::formType void initGui(); void refreshGui(); void setGui(); - - Type* m_type; - Type* m_type_mod; }; #endif diff --git a/pokemodr/pokemodr.pro b/pokemodr/pokemodr.pro index 01820cc8..ab13ba3d 100644 --- a/pokemodr/pokemodr.pro +++ b/pokemodr/pokemodr.pro @@ -4,18 +4,10 @@ UI_DIR = .ui MOC_DIR = .moc DESTDIR = ../../bin -LIBS += -L../../bin \ - -lpokemod \ - -lgeneral \ - -lkdecore \ - -lkdeui \ - -lkio - CONFIG += qt gui warn_on exceptions debug CONFIG -= release QT += xml -INCLUDEPATH += ../pokemod ../general RESOURCES += images/overlays.qrc @@ -216,3 +208,13 @@ DISTFILES += ../INSTALL INSTALLS += target target.path = /usr/bin +LIBS += -L../../bin \ + -lgeneral \ + -lpokemod \ + -lkdecore \ + -lkdeui \ + -lkio + +TARGETDEPS += ../../bin/libpokemod.so \ + ../../bin/libgeneral.so + |
