summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-05-16 20:48:52 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-05-16 20:48:52 +0000
commit5fbf25a91c75c59d56cb6b58c899323772f9176a (patch)
tree7d97e0d0b745cbc0b2073f0906de42da28487f39
parent9c1388c7964bd3b4ae147e39c146c96dc20947e9 (diff)
downloadsigen-5fbf25a91c75c59d56cb6b58c899323772f9176a.tar.gz
sigen-5fbf25a91c75c59d56cb6b58c899323772f9176a.tar.xz
sigen-5fbf25a91c75c59d56cb6b58c899323772f9176a.zip
[FIX] SoundUI uses correct icon names now
[FIX] Setting up combo boxes in UI widgets cleaner [ADD] AbilityEffect widget done [FIX] Fixed up MapEffect setting code git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@142 6ecfd1a5-f3ed-3746-8530-beee90d26b22
-rw-r--r--Changelog11
-rw-r--r--pokemod/AbilityEffect.cpp6
-rw-r--r--pokemod/AbilityEffect.h2
-rw-r--r--pokemod/Pokemod.h1
-rw-r--r--pokemodr/AbilityEffectUI.cpp264
-rw-r--r--pokemodr/AbilityEffectUI.h58
-rw-r--r--pokemodr/CoinListObjectUI.cpp6
-rw-r--r--pokemodr/CoinListUI.cpp5
-rw-r--r--pokemodr/ItemUI.cpp3
-rw-r--r--pokemodr/MapEffectUI.cpp70
-rw-r--r--pokemodr/MapEffectUI.h2
-rw-r--r--pokemodr/MapTrainerTeamMemberUI.cpp6
-rw-r--r--pokemodr/MapTrainerUI.cpp11
-rw-r--r--pokemodr/MapUI.cpp3
-rw-r--r--pokemodr/MapWarpUI.cpp9
-rw-r--r--pokemodr/MapWildListEncounterUI.cpp3
-rw-r--r--pokemodr/MapWildListUI.cpp10
-rw-r--r--pokemodr/MoveUI.cpp3
-rw-r--r--pokemodr/PokemodTreeModel.cpp4
-rw-r--r--pokemodr/PokemodUI.cpp6
-rw-r--r--pokemodr/SoundUI.cpp8
-rw-r--r--pokemodr/SpeciesAbilityUI.cpp5
-rw-r--r--pokemodr/SpeciesEvolutionUI.cpp8
-rw-r--r--pokemodr/SpeciesItemUI.cpp3
-rw-r--r--pokemodr/SpeciesMoveUI.cpp3
-rw-r--r--pokemodr/SpeciesUI.cpp3
-rw-r--r--pokemodr/TODO1
-rw-r--r--pokemodr/TileDelegate.cpp3
-rw-r--r--pokemodr/TileUI.cpp5
-rw-r--r--pokemodr/gui/abilityeffect.ui8
-rw-r--r--pokemodr/models/AbilityEffectModel.cpp7
-rw-r--r--pokemodr/models/BaseModel.h2
-rw-r--r--pokemodr/pokemodr.pro2
33 files changed, 418 insertions, 123 deletions
diff --git a/Changelog b/Changelog
index 95c90795..cef54df3 100644
--- a/Changelog
+++ b/Changelog
@@ -1,10 +1,21 @@
-----------------
+Rev: 142
+Date: 16 May 2008
+User: MathStuf
+-----------------
+[FIX] SoundUI uses correct icon names now
+[FIX] Setting up combo boxes in UI widgets cleaner
+[ADD] AbilityEffect widget done
+[FIX] Fixed up MapEffect setting code
+
+-----------------
Rev: 141
Date: 16 May 2008
User: MathStuf
-----------------
[FIX] TypeModel done for data() in models
[FIX] Another Qt bug found :(
+[FIX] Better connections for the editor widget
-----------------
Rev: 140
diff --git a/pokemod/AbilityEffect.cpp b/pokemod/AbilityEffect.cpp
index ecac1af6..b7532e2d 100644
--- a/pokemod/AbilityEffect.cpp
+++ b/pokemod/AbilityEffect.cpp
@@ -26,7 +26,7 @@
const QStringList AbilityEffect::EffectStr = QStringList() << "Damage to HP" << "Prevent Damage" << "Auto Heal" << "Deal Damage" << "Wilds" << "Stat" << "Status" << "Ability" << "Accuracy/Power Trade" << "Bullseye" << "Item Effect" << "Type" << "Fast Hatch" << "Weather";
const QStringList AbilityEffect::TriggerStr = QStringList() << "Anything" << "Contact" << "Weather" << "Damage" << "Type" << "HP Boundary" << "Stat Change" << "Status";
const QStringList AbilityEffect::InteractStr = QStringList() << "Trade" << "Shadow" << "Block";
-const QStringList AbilityEffect::PowerAccStr = QStringList() << "Boost Power" << "Boost Accuracy";
+const QStringList AbilityEffect::PowerAccuracyStr = QStringList() << "Boost Power" << "Boost Accuracy";
const QStringList AbilityEffect::ItemStr = QStringList() << "Stat Modifier" << "Type Booster" << "Flinch" << "Go First";
const QStringList AbilityEffect::CauseStr = QStringList() << "Prevent" << "Inflict";
const QStringList AbilityEffect::BoostStr = QStringList() << "Boost" << "Hinder";
@@ -133,7 +133,7 @@ void AbilityEffect::setValue1(const int value1)
switch (m_effect)
{
case E_Stats:
- if ((Pokemod::ST_HP == value1) || (Pokemod::ST_End_Battle <= value1) || ((Pokemod::ST_SpecialDefense == value1) && !static_cast<const Pokemod*>(pokemod())->rules()->specialSplit()))
+ if ((value1 < Pokemod::ST_No_HP_Start) || (Pokemod::ST_End_Battle <= value1) || ((Pokemod::ST_SpecialDefense == value1) && !static_cast<const Pokemod*>(pokemod())->rules()->specialSplit()))
{
emit(error(bounds("value1")));
return;
@@ -302,7 +302,7 @@ void AbilityEffect::setTriggerValue1(const int triggerValue1)
}
break;
case T_StatChange:
- if ((Pokemod::ST_HP == triggerValue1) || (Pokemod::ST_End_Battle <= triggerValue1) || ((Pokemod::ST_SpecialDefense == triggerValue1) && !static_cast<const Pokemod*>(pokemod())->rules()->specialSplit()))
+ if ((triggerValue1 < Pokemod::ST_No_HP_Start) || (Pokemod::ST_End_Battle <= triggerValue1) || ((Pokemod::ST_SpecialDefense == triggerValue1) && !static_cast<const Pokemod*>(pokemod())->rules()->specialSplit()))
{
emit(error(bounds("triggerValue1")));
return;
diff --git a/pokemod/AbilityEffect.h b/pokemod/AbilityEffect.h
index 340fcf97..17b6d027 100644
--- a/pokemod/AbilityEffect.h
+++ b/pokemod/AbilityEffect.h
@@ -84,7 +84,7 @@ class AbilityEffect : public Object
PA_Accuracy = 1,
PA_End = 2
};
- static const QStringList PowerAccStr;
+ static const QStringList PowerAccuracyStr;
enum Item
{
diff --git a/pokemod/Pokemod.h b/pokemod/Pokemod.h
index 878101be..702314ea 100644
--- a/pokemod/Pokemod.h
+++ b/pokemod/Pokemod.h
@@ -59,6 +59,7 @@ class Pokemod : public Object
enum Stat
{
ST_HP = 0,
+ ST_No_HP_Start = 1,
ST_Attack = 1,
ST_Defense = 2,
ST_Speed = 3,
diff --git a/pokemodr/AbilityEffectUI.cpp b/pokemodr/AbilityEffectUI.cpp
new file mode 100644
index 00000000..a529b058
--- /dev/null
+++ b/pokemodr/AbilityEffectUI.cpp
@@ -0,0 +1,264 @@
+/*
+ * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Header include
+#include "AbilityEffectUI.h"
+
+// Pokemod includes
+#include "../pokemod/Ability.h"
+#include "../pokemod/AbilityEffect.h"
+#include "../pokemod/Pokemod.h"
+#include "../pokemod/Type.h"
+
+AbilityEffectUI::AbilityEffectUI(AbilityEffect* effect, QWidget* parent) :
+ ObjectUI(parent),
+ m_lastEffect(-1),
+ m_lastTrigger(-1)
+{
+ setupUi(this);
+ QMetaObject::connectSlotsByName(this);
+ setObjects(effect, new AbilityEffect(*effect));
+ init();
+}
+
+AbilityEffectUI::~AbilityEffectUI()
+{
+}
+
+void AbilityEffectUI::initGui()
+{
+ varEffect->addItems(AbilityEffect::EffectStr);
+ varTrigger->addItems(AbilityEffect::TriggerStr);
+}
+
+void AbilityEffectUI::refreshGui()
+{
+}
+
+void AbilityEffectUI::setGui()
+{
+ const bool resetEffects = (static_cast<AbilityEffect*>(modified())->effect() == m_lastEffect);
+ const bool resetTrigger = (static_cast<AbilityEffect*>(modified())->trigger() == m_lastTrigger);
+ varChance->setValue(static_cast<AbilityEffect*>(modified())->chance());
+ varEffect->setCurrentIndex(static_cast<AbilityEffect*>(modified())->effect());
+ m_lastEffect = static_cast<AbilityEffect*>(modified())->effect();
+ if (resetEffects)
+ {
+ varValue1->clear();
+ varValue1->setEnabled(true);
+ varValue2->clear();
+ varValue2->setEnabled(true);
+ varValue3->setEnabled(true);
+ switch (m_lastEffect)
+ {
+ case AbilityEffect::E_Stats:
+ for (int i = Pokemod::ST_No_HP_Start; i < Pokemod::ST_End_Battle; ++i)
+ {
+ if ((Pokemod::ST_SpecialDefense == i) && !static_cast<const Pokemod*>(original()->pokemod())->rules()->specialSplit())
+ continue;
+ varValue1->addItem(Pokemod::StatGSCStr[i], varValue1->count());
+ }
+ break;
+ case AbilityEffect::E_Status:
+ varValue1->addItems(Pokemod::StatusStr);
+ for (int i = 0; i < Pokemod::STS_End; ++i)
+ varValue1->setItemData(i, i);
+ break;
+ case AbilityEffect::E_Ability:
+ for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->abilityCount(); ++i)
+ {
+ const Ability* ability = static_cast<const Pokemod*>(original()->pokemod())->ability(i);
+ varValue1->addItem(ability->name(), ability->id());
+ }
+ break;
+ case AbilityEffect::E_AccuracyPowerTrade:
+ varValue1->addItems(AbilityEffect::PowerAccuracyStr);
+ for (int i = 0; i < AbilityEffect::PA_End; ++i)
+ varValue1->setItemData(i, i);
+ break;
+ case AbilityEffect::E_ItemEffect:
+ varValue1->addItems(AbilityEffect::ItemStr);
+ for (int i = 0; i < AbilityEffect::IT_End; ++i)
+ varValue1->setItemData(i, i);
+ break;
+ case AbilityEffect::E_Type:
+ for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->typeCount(); ++i)
+ {
+ const Type* type = static_cast<const Pokemod*>(original()->pokemod())->type(i);
+ varValue1->addItem(type->name(), type->id());
+ }
+ break;
+ case AbilityEffect::E_Weather:
+ varValue1->addItems(Pokemod::WeatherStr);
+ for (int i = 0; i < Pokemod::W_End_All; ++i)
+ varValue1->setItemData(i, i);
+ break;
+ default:
+ varValue1->setEnabled(false);
+ break;
+ }
+ switch (m_lastEffect)
+ {
+ case AbilityEffect::E_Stats:
+ varValue2->addItems(Pokemod::BattleMemberStr);
+ for (int i = 0; i < Pokemod::BM_End; ++i)
+ varValue2->setItemData(i, i);
+ break;
+ case AbilityEffect::E_Status:
+ case AbilityEffect::E_Weather:
+ varValue2->addItems(AbilityEffect::CauseStr);
+ for (int i = 0; i < AbilityEffect::C_End; ++i)
+ varValue2->setItemData(i, i);
+ break;
+ case AbilityEffect::E_Ability:
+ varValue2->addItems(AbilityEffect::TriggerStr);
+ for (int i = 0; i < AbilityEffect::T_End; ++i)
+ varValue2->setItemData(i, i);
+ break;
+ case AbilityEffect::E_Type:
+ varValue2->addItems(AbilityEffect::BoostStr);
+ for (int i = 0; i < AbilityEffect::B_End; ++i)
+ varValue2->setItemData(i, i);
+ break;
+ default:
+ varValue2->setEnabled(false);
+ break;
+ }
+ switch (m_lastEffect)
+ {
+ case AbilityEffect::E_DamageToHP:
+ case AbilityEffect::E_PreventDamage:
+ case AbilityEffect::E_AutoHeal:
+ case AbilityEffect::E_DealDamage:
+ case AbilityEffect::E_Wilds:
+ case AbilityEffect::E_AccuracyPowerTrade:
+ case AbilityEffect::E_Type:
+ case AbilityEffect::E_FastHatch:
+ varValue3->setRange(0, 100);
+ break;
+ case AbilityEffect::E_Stats:
+ varValue3->setRange(-12, 12);
+ break;
+ default:
+ varValue3->setEnabled(false);
+ break;
+ }
+ }
+ varValue1->setCurrentIndex(varValue1->findData(static_cast<AbilityEffect*>(modified())->value1()));
+ varValue2->setCurrentIndex(varValue2->findData(static_cast<AbilityEffect*>(modified())->value2()));
+ varValue3->setValue(static_cast<AbilityEffect*>(modified())->value3());
+ varTrigger->setCurrentIndex(static_cast<AbilityEffect*>(modified())->trigger());
+ m_lastTrigger = static_cast<AbilityEffect*>(modified())->trigger();
+ if (resetTrigger)
+ {
+ varTriggerValue1->clear();
+ varTriggerValue1->setEnabled(true);
+ varTriggerValue2->setEnabled(true);
+ switch (m_lastTrigger)
+ {
+ case AbilityEffect::T_Weather:
+ varTriggerValue1->addItems(Pokemod::WeatherStr);
+ for (int i = 0; i < Pokemod::W_End_All; ++i)
+ varTriggerValue1->setItemData(i, i);
+ break;
+ case AbilityEffect::T_Type:
+ for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->typeCount(); ++i)
+ {
+ const Type* type = static_cast<const Pokemod*>(original()->pokemod())->type(i);
+ varTriggerValue1->addItem(type->name(), type->id());
+ }
+ break;
+ case AbilityEffect::T_HPBoundary:
+ varTriggerValue1->addItems(AbilityEffect::SideStr);
+ for (int i = 0; i < AbilityEffect::S_End; ++i)
+ varTriggerValue1->setItemData(i, i);
+ break;
+ case AbilityEffect::T_StatChange:
+ for (int i = Pokemod::ST_No_HP_Start; i < Pokemod::ST_End_Battle; ++i)
+ {
+ if ((Pokemod::ST_SpecialDefense == i) && !static_cast<const Pokemod*>(original()->pokemod())->rules()->specialSplit())
+ continue;
+ varTriggerValue1->addItem(Pokemod::StatGSCStr[i], varValue1->count());
+ }
+ break;
+ case AbilityEffect::T_Status:
+ varTriggerValue1->addItems(Pokemod::StatusStr);
+ for (int i = 0; i < Pokemod::STS_End; ++i)
+ varTriggerValue1->setItemData(i, i);
+ break;
+ default:
+ varTriggerValue1->setEnabled(false);
+ break;
+ }
+ varTriggerValue2->setEnabled(m_lastEffect == AbilityEffect::T_HPBoundary);
+ }
+ varTriggerValue1->setCurrentIndex(varTriggerValue1->findData(static_cast<AbilityEffect*>(modified())->triggerValue1()));
+ varTriggerValue2->setValue(static_cast<AbilityEffect*>(modified())->triggerValue2());
+}
+
+void AbilityEffectUI::apply()
+{
+ *static_cast<AbilityEffect*>(original()) = *static_cast<AbilityEffect*>(modified());
+ emit(changed(false));
+}
+
+void AbilityEffectUI::discard()
+{
+ *static_cast<AbilityEffect*>(modified()) = *static_cast<AbilityEffect*>(original());
+ setGui();
+ emit(changed(false));
+}
+
+void AbilityEffectUI::on_varChance_valueChanged(const Fraction& chance)
+{
+ static_cast<AbilityEffect*>(modified())->setChance(chance);
+}
+
+void AbilityEffectUI::on_varEffect_currentIndexChanged(const int effect)
+{
+ static_cast<AbilityEffect*>(modified())->setEffect(effect);
+}
+
+void AbilityEffectUI::on_varValue1_currentIndexChanged(const int value1)
+{
+ static_cast<AbilityEffect*>(modified())->setValue1(varValue1->itemData(value1).toInt());
+}
+
+void AbilityEffectUI::on_varValue2_currentIndexChanged(const int value2)
+{
+ static_cast<AbilityEffect*>(modified())->setValue2(varValue2->itemData(value2).toInt());
+}
+
+void AbilityEffectUI::on_varValue3_valueChanged(const int value3)
+{
+ static_cast<AbilityEffect*>(modified())->setValue3(value3);
+}
+
+void AbilityEffectUI::on_varTrigger_currentIndexChanged(const int trigger)
+{
+ static_cast<AbilityEffect*>(modified())->setTrigger(trigger);
+}
+
+void AbilityEffectUI::on_varTriggerValue1_currentIndexChanged(const int triggerValue1)
+{
+ static_cast<AbilityEffect*>(modified())->setTriggerValue1(varTriggerValue1->itemData(triggerValue1).toInt());
+}
+
+void AbilityEffectUI::on_varTriggerValue2_valueChanged(const Fraction& triggerValue2)
+{
+ static_cast<AbilityEffect*>(modified())->setTriggerValue2(triggerValue2);
+}
diff --git a/pokemodr/AbilityEffectUI.h b/pokemodr/AbilityEffectUI.h
new file mode 100644
index 00000000..30174975
--- /dev/null
+++ b/pokemodr/AbilityEffectUI.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __POKEMODR_ABILITYEFFECTUI__
+#define __POKEMODR_ABILITYEFFECTUI__
+
+// PokeModr includes
+#include "ObjectUI.h"
+
+// Form include
+#include "ui_abilityeffect.h"
+
+// Forward declarations
+class AbilityEffect;
+
+class AbilityEffectUI : public ObjectUI, private Ui::formAbilityEffect
+{
+ Q_OBJECT
+
+ public:
+ AbilityEffectUI(AbilityEffect* effect, QWidget* parent);
+ ~AbilityEffectUI();
+ public slots:
+ void apply();
+ void discard();
+ protected slots:
+ void on_varChance_valueChanged(const Fraction& chance);
+ void on_varEffect_currentIndexChanged(const int effect);
+ void on_varValue1_currentIndexChanged(const int value1);
+ void on_varValue2_currentIndexChanged(const int value2);
+ void on_varValue3_valueChanged(const int value3);
+ void on_varTrigger_currentIndexChanged(const int trigger);
+ void on_varTriggerValue1_currentIndexChanged(const int triggerValue1);
+ void on_varTriggerValue2_valueChanged(const Fraction& triggerValue2);
+ private slots:
+ void initGui();
+ void refreshGui();
+ void setGui();
+ private:
+ int m_lastEffect;
+ int m_lastTrigger;
+};
+
+#endif
diff --git a/pokemodr/CoinListObjectUI.cpp b/pokemodr/CoinListObjectUI.cpp
index 7fe2d9d6..7941489c 100644
--- a/pokemodr/CoinListObjectUI.cpp
+++ b/pokemodr/CoinListObjectUI.cpp
@@ -58,8 +58,7 @@ void CoinListObjectUI::setGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i)
{
const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i);
- varObject->addItem(item->name());
- varObject->setItemData(i, item->id());
+ varObject->addItem(item->name(), item->id());
}
}
else
@@ -67,8 +66,7 @@ void CoinListObjectUI::setGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i)
{
const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i);
- varObject->addItem(species->name());
- varObject->setItemData(i, species->id());
+ varObject->addItem(species->name(), species->id());
}
}
}
diff --git a/pokemodr/CoinListUI.cpp b/pokemodr/CoinListUI.cpp
index 5c0800cc..70c9a7f7 100644
--- a/pokemodr/CoinListUI.cpp
+++ b/pokemodr/CoinListUI.cpp
@@ -47,10 +47,7 @@ void CoinListUI::refreshGui()
{
const ItemEffect* effect = item->effect(j);
if (effect->effect() == ItemEffect::E_CoinCase)
- {
- varValue->addItem(item->name());
- varValue->setItemData(varValue->count() - 1, effect->value1());
- }
+ varValue->addItem(item->name(), effect->value1());
}
}
}
diff --git a/pokemodr/ItemUI.cpp b/pokemodr/ItemUI.cpp
index a764f5cf..6e7945a7 100644
--- a/pokemodr/ItemUI.cpp
+++ b/pokemodr/ItemUI.cpp
@@ -42,8 +42,7 @@ void ItemUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemTypeCount(); ++i)
{
const ItemType* itemType = static_cast<const Pokemod*>(original()->pokemod())->itemType(i);
- varType->addItem(itemType->name());
- varType->setItemData(i, itemType->id());
+ varType->addItem(itemType->name()), itemType->id();
}
varPrice->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxMoney());
}
diff --git a/pokemodr/MapEffectUI.cpp b/pokemodr/MapEffectUI.cpp
index 0a712e80..a61325a7 100644
--- a/pokemodr/MapEffectUI.cpp
+++ b/pokemodr/MapEffectUI.cpp
@@ -29,7 +29,8 @@
#include "../pokemod/Pokemod.h"
MapEffectUI::MapEffectUI(MapEffect* effect, QWidget* parent) :
- ObjectUI(parent)
+ ObjectUI(parent),
+ m_lastEffect(-1)
{
setupUi(this);
QMetaObject::connectSlotsByName(this);
@@ -58,52 +59,51 @@ void MapEffectUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->dialogCount(); ++i)
{
const Dialog* dialog = static_cast<const Pokemod*>(original()->pokemod())->dialog(i);
- varDialog->addItem(dialog->dialog().mid(0, 25));
- varDialog->setItemData(i, dialog->id());
+ varDialog->addItem(dialog->dialog().mid(0, 25), dialog->id());
}
}
void MapEffectUI::setGui()
{
+ const bool resetEffect = (static_cast<MapEffect*>(modified())->effect() == m_lastEffect);
varName->setText(static_cast<MapEffect*>(modified())->name());
varCoordinate->setValue(static_cast<MapEffect*>(modified())->coordinate());
varExistFlag->setValue(static_cast<MapEffect*>(modified())->existFlag());
varSkin->setIcon(static_cast<MapEffect*>(modified())->skin());
varEffect->setCurrentIndex(static_cast<MapEffect*>(modified())->effect());
- const int effect = static_cast<MapEffect*>(modified())->effect();
- if ((effect == MapEffect::E_Button) || (effect == MapEffect::E_StrengthBlock))
+ m_lastEffect = static_cast<MapEffect*>(modified())->effect();
+ if (resetEffect)
{
- varValue1->setEnabled(true);
- varValue1->setValue(static_cast<MapEffect*>(modified())->value1());
- }
- else
- varValue1->setEnabled(false);
- varValue2->clear();
- switch (effect)
- {
- case MapEffect::E_Item:
- for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i)
- {
- const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i);
- varValue2->addItem(item->name());
- varValue2->setItemData(i, item->id());
- }
- varValue2->setCurrentIndex(varValue2->findData(static_cast<MapEffect*>(modified())->value2()));
- break;
- case MapEffect::E_PC:
- varValue2->addItems(MapEffect::PCTypeStr);
- for (int i = 0; i < MapEffect::PC_End; ++i)
- varValue2->setItemData(i, i);
- varValue2->setCurrentIndex(static_cast<MapEffect*>(modified())->value2());
- break;
- case MapEffect::E_StrengthBlock:
- case MapEffect::E_Button:
- varValue2->addItems(Flag::ValueStr);
- for (int i = 0; i < Flag::End; ++i)
- varValue2->setItemData(i, i);
- varValue2->setCurrentIndex(static_cast<MapEffect*>(modified())->value2());
- break;
+ varValue1->setEnabled((m_lastEffect == MapEffect::E_Button) || (m_lastEffect == MapEffect::E_StrengthBlock));
+ varValue2->clear();
+ varValue2->setEnabled(true);
+ switch (m_lastEffect)
+ {
+ case MapEffect::E_Item:
+ for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i)
+ {
+ const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i);
+ varValue2->addItem(item->name(), item->id());
+ }
+ break;
+ case MapEffect::E_PC:
+ varValue2->addItems(MapEffect::PCTypeStr);
+ for (int i = 0; i < MapEffect::PC_End; ++i)
+ varValue2->setItemData(i, i);
+ break;
+ case MapEffect::E_StrengthBlock:
+ case MapEffect::E_Button:
+ varValue2->addItems(Flag::ValueStr);
+ for (int i = 0; i < Flag::End; ++i)
+ varValue2->setItemData(i, i);
+ break;
+ default:
+ varValue2->setEnabled(false);
+ break;
+ }
}
+ varValue1->setValue(static_cast<MapEffect*>(modified())->value1());
+ varValue2->setCurrentIndex(varValue2->findData(static_cast<MapEffect*>(modified())->value2()));
varDirection->setCurrentIndex(static_cast<MapEffect*>(modified())->direction());
varIsGhost->setChecked(static_cast<MapEffect*>(modified())->isGhost() ? Qt::Checked : Qt::Unchecked);
varCanMove->setChecked(static_cast<MapEffect*>(modified())->canMove() ? Qt::Checked : Qt::Unchecked);
diff --git a/pokemodr/MapEffectUI.h b/pokemodr/MapEffectUI.h
index 57df0aea..376cbe82 100644
--- a/pokemodr/MapEffectUI.h
+++ b/pokemodr/MapEffectUI.h
@@ -53,6 +53,8 @@ class MapEffectUI : public ObjectUI, private Ui::formMapEffect
void initGui();
void refreshGui();
void setGui();
+ private:
+ int m_lastEffect;
};
#endif
diff --git a/pokemodr/MapTrainerTeamMemberUI.cpp b/pokemodr/MapTrainerTeamMemberUI.cpp
index 65b9e802..d2489dc9 100644
--- a/pokemodr/MapTrainerTeamMemberUI.cpp
+++ b/pokemodr/MapTrainerTeamMemberUI.cpp
@@ -44,8 +44,7 @@ void MapTrainerTeamMemberUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i)
{
const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i);
- varSpecies->addItem(species->name());
- varSpecies->setItemData(i, species->id());
+ varSpecies->addItem(species->name(), species->id());
}
varLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel());
}
@@ -66,8 +65,7 @@ void MapTrainerTeamMemberUI::setGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->natureCount(); ++i)
{
const Nature* nature = static_cast<const Pokemod*>(original()->pokemod())->nature(i);
- varNature->addItem(nature->name());
- varNature->setItemData(i, nature->id());
+ varNature->addItem(nature->name(), nature->id());
}
}
else
diff --git a/pokemodr/MapTrainerUI.cpp b/pokemodr/MapTrainerUI.cpp
index 30632013..69ac68fe 100644
--- a/pokemodr/MapTrainerUI.cpp
+++ b/pokemodr/MapTrainerUI.cpp
@@ -51,8 +51,7 @@ void MapTrainerUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->trainerCount(); ++i)
{
const Trainer* trainer = static_cast<const Pokemod*>(original()->pokemod())->trainer(i);
- varTrainerClass->addItem(trainer->name());
- varTrainerClass->setItemData(i, trainer->id());
+ varTrainerClass->addItem(trainer->name(), trainer->id());
}
varCoordinate->setMaximum(static_cast<const Map*>(original()->parent())->size());
varNumberFight->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxFight());
@@ -60,8 +59,7 @@ void MapTrainerUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->dialogCount(); ++i)
{
const Dialog* dialog = static_cast<const Pokemod*>(original()->pokemod())->dialog(i);
- varDialog->addItem(dialog->dialog().mid(0, 25));
- varDialog->setItemData(i, dialog->id());
+ varDialog->addItem(dialog->dialog().mid(0, 25), dialog->id());
}
varLeadTeamMember->clear();
for (int i = 0; i < static_cast<MapTrainer*>(original())->teamMemberCount(); ++i)
@@ -69,10 +67,9 @@ void MapTrainerUI::refreshGui()
const MapTrainerTeamMember* teamMember = static_cast<MapTrainer*>(original())->teamMember(i);
const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(teamMember->species());
if (species)
- varLeadTeamMember->addItem(species->name());
+ varLeadTeamMember->addItem(species->name(), teamMember->id());
else
- varLeadTeamMember->addItem("Invalid Species");
- varLeadTeamMember->setItemData(i, teamMember->id());
+ varLeadTeamMember->addItem("Invalid Species", teamMember->id());
}
}
diff --git a/pokemodr/MapUI.cpp b/pokemodr/MapUI.cpp
index 0c32c759..95ce654c 100644
--- a/pokemodr/MapUI.cpp
+++ b/pokemodr/MapUI.cpp
@@ -67,8 +67,7 @@ void MapUI::refreshGui()
for (int i = 0; i < static_cast<Map*>(original())->warpCount(); ++i)
{
const MapWarp* warp = static_cast<Map*>(original())->warp(i);
- varFlyWarp->addItem(warp->name());
- varFlyWarp->setItemData(i, warp->id());
+ varFlyWarp->addItem(warp->name(), warp->id());
}
}
diff --git a/pokemodr/MapWarpUI.cpp b/pokemodr/MapWarpUI.cpp
index d3403672..5e902c8e 100644
--- a/pokemodr/MapWarpUI.cpp
+++ b/pokemodr/MapWarpUI.cpp
@@ -51,15 +51,13 @@ void MapWarpUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->mapCount(); ++i)
{
const Map* map = static_cast<const Pokemod*>(original()->pokemod())->map(i);
- varToMap->addItem(map->name());
- varToMap->setItemData(i, map->id());
+ varToMap->addItem(map->name(), map->id());
}
varDialog->clear();
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->dialogCount(); ++i)
{
const Dialog* dialog = static_cast<const Pokemod*>(original()->pokemod())->dialog(i);
- varDialog->addItem(dialog->dialog().mid(0, 25));
- varDialog->setItemData(i, dialog->id());
+ varDialog->addItem(dialog->dialog().mid(0, 25), dialog->id());
}
}
@@ -87,8 +85,7 @@ void MapWarpUI::setGui()
for (int i = 0; i < map->warpCount(); ++i)
{
const MapWarp* warp = map->warp(i);
- varToWarp->addItem(warp->name());
- varToWarp->setItemData(i, warp->id());
+ varToWarp->addItem(warp->name(), warp->id());
}
}
}
diff --git a/pokemodr/MapWildListEncounterUI.cpp b/pokemodr/MapWildListEncounterUI.cpp
index 7468023e..d8421a26 100644
--- a/pokemodr/MapWildListEncounterUI.cpp
+++ b/pokemodr/MapWildListEncounterUI.cpp
@@ -42,8 +42,7 @@ void MapWildListEncounterUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i)
{
const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i);
- varSpecies->addItem(species->name());
- varSpecies->setItemData(i, species->id());
+ varSpecies->addItem(species->name(), species->id());
}
varLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel());
}
diff --git a/pokemodr/MapWildListUI.cpp b/pokemodr/MapWildListUI.cpp
index fc506eb1..c2fad681 100644
--- a/pokemodr/MapWildListUI.cpp
+++ b/pokemodr/MapWildListUI.cpp
@@ -54,15 +54,9 @@ void MapWildListUI::refreshGui()
{
const ItemEffect* effect = item->effect(j);
if (effect->effect() == ItemEffect::E_Fish)
- {
- varValue->addItem(item->name());
- varValue->setItemData(varValue->count() - 1, effect->value2());
- }
+ varValue->addItem(item->name(), effect->value2());
else if (effect->effect() == ItemEffect::E_Scope)
- {
- varScope->addItem(item->name());
- varScope->setItemData(varScope->count() - 1, effect->value2());
- }
+ varScope->addItem(item->name(), effect->value2());
}
}
varTimes->clear();
diff --git a/pokemodr/MoveUI.cpp b/pokemodr/MoveUI.cpp
index 8407792c..0582e095 100644
--- a/pokemodr/MoveUI.cpp
+++ b/pokemodr/MoveUI.cpp
@@ -48,8 +48,7 @@ void MoveUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->typeCount(); ++i)
{
const Type* type = static_cast<const Pokemod*>(original()->pokemod())->type(i);
- varType->addItem(type->name());
- varType->setItemData(i, type->id());
+ varType->addItem(type->name(), type->id());
}
varNumTargets->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxFight());
}
diff --git a/pokemodr/PokemodTreeModel.cpp b/pokemodr/PokemodTreeModel.cpp
index 7acac2cf..2844f73f 100644
--- a/pokemodr/PokemodTreeModel.cpp
+++ b/pokemodr/PokemodTreeModel.cpp
@@ -56,8 +56,6 @@ QModelIndex PokemodTreeModel::index(int row, int /*column*/, const QModelIndex&
if (row < 0)
return createIndex(row, 0, m_root);
BaseModel* object = getItem(parent)->childItem(row);
- if (!object)
- qDebug("Creating NULL index!");
return createIndex(row, 0, object);
}
@@ -66,8 +64,6 @@ QModelIndex PokemodTreeModel::parent(const QModelIndex& index) const
if (!index.isValid())
return QModelIndex();
BaseModel* object = static_cast<BaseModel*>(index.internalPointer());
- if (!object)
- return QModelIndex();
BaseModel* parent = object->parent();
if (!parent || (parent == m_root))
return QModelIndex();
diff --git a/pokemodr/PokemodUI.cpp b/pokemodr/PokemodUI.cpp
index a3060af3..538b46e1 100644
--- a/pokemodr/PokemodUI.cpp
+++ b/pokemodr/PokemodUI.cpp
@@ -48,8 +48,7 @@ void PokemodUI::refreshGui()
for (int i = 0; i < static_cast<Pokemod*>(original())->mapCount(); ++i)
{
const Map* map = static_cast<Pokemod*>(original())->map(i);
- varMap->addItem(map->name());
- varMap->setItemData(i, map->id());
+ varMap->addItem(map->name(), map->id());
}
varTypechart->setRowCount(static_cast<Pokemod*>(original())->typeCount());
varTypechart->setColumnCount(static_cast<Pokemod*>(original())->typeCount());
@@ -87,8 +86,7 @@ void PokemodUI::setGui()
for (int i = 0; i < map->warpCount(); ++i)
{
const MapWarp* warp = map->warp(i);
- varWarp->addItem(warp->name());
- varWarp->setItemData(i, warp->id());
+ varWarp->addItem(warp->name(), warp->id());
}
}
}
diff --git a/pokemodr/SoundUI.cpp b/pokemodr/SoundUI.cpp
index 717c4b95..67849076 100644
--- a/pokemodr/SoundUI.cpp
+++ b/pokemodr/SoundUI.cpp
@@ -50,7 +50,7 @@ void SoundUI::initGui()
{
seeker->setMediaObject(m_media);
connect(m_media, SIGNAL(finished()), buttonStop, SIGNAL(clicked()));
- buttonPlayPause->setIcon(KIcon("media-playback-play"));
+ buttonPlayPause->setIcon(KIcon("media-playback-start"));
buttonStop->setIcon(KIcon("media-playback-stop"));
buttonBrowse->setIcon(KIcon("document-open"));
}
@@ -91,7 +91,7 @@ void SoundUI::on_buttonPlayPause_clicked()
{
if (m_media->state() == Phonon::PlayingState)
{
- buttonPlayPause->setIcon(KIcon("media-playback-play"));
+ buttonPlayPause->setIcon(KIcon("media-playback-start"));
buttonPlayPause->setEnabled(true);
m_media->pause();
}
@@ -103,7 +103,7 @@ void SoundUI::on_buttonPlayPause_clicked()
}
else if (m_media->state() == Phonon::ErrorState)
{
- buttonPlayPause->setIcon(KIcon("media-playback-play"));
+ buttonPlayPause->setIcon(KIcon("media-playback-start"));
buttonPlayPause->setEnabled(false);
m_media->stop();
}
@@ -111,7 +111,7 @@ void SoundUI::on_buttonPlayPause_clicked()
void SoundUI::on_buttonStop_clicked()
{
- buttonPlayPause->setIcon(KIcon("media-playback-play"));
+ buttonPlayPause->setIcon(KIcon("media-playback-start"));
m_media->stop();
}
diff --git a/pokemodr/SpeciesAbilityUI.cpp b/pokemodr/SpeciesAbilityUI.cpp
index e7158469..7075911b 100644
--- a/pokemodr/SpeciesAbilityUI.cpp
+++ b/pokemodr/SpeciesAbilityUI.cpp
@@ -41,9 +41,8 @@ void SpeciesAbilityUI::refreshGui()
varAbility->clear();
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->abilityCount(); ++i)
{
- const Ability* a = static_cast<const Pokemod*>(original()->pokemod())->ability(i);
- varAbility->addItem(a->name());
- varAbility->setItemData(i, a->id());
+ const Ability* ability = static_cast<const Pokemod*>(original()->pokemod())->ability(i);
+ varAbility->addItem(ability->name(), ability->id());
}
}
diff --git a/pokemodr/SpeciesEvolutionUI.cpp b/pokemodr/SpeciesEvolutionUI.cpp
index f920da41..bb4a8e38 100644
--- a/pokemodr/SpeciesEvolutionUI.cpp
+++ b/pokemodr/SpeciesEvolutionUI.cpp
@@ -50,8 +50,7 @@ void SpeciesEvolutionUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i)
{
const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i);
- varSpecies->addItem(species->name());
- varSpecies->setItemData(i, species->id());
+ varSpecies->addItem(species->name(), species->id());
}
}
@@ -86,10 +85,7 @@ void SpeciesEvolutionUI::setGui()
for (int j = 0; j < item->effectCount(); ++j)
{
if (item->effect(i)->effect() == ItemEffect::E_Evolution)
- {
- varValue1->addItem(item->name());
- varValue1->setItemData(i, item->id());
- }
+ varValue1->addItem(item->name(), item->id());
}
}
break;
diff --git a/pokemodr/SpeciesItemUI.cpp b/pokemodr/SpeciesItemUI.cpp
index 713eb0e9..1caf9ac3 100644
--- a/pokemodr/SpeciesItemUI.cpp
+++ b/pokemodr/SpeciesItemUI.cpp
@@ -42,8 +42,7 @@ void SpeciesItemUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i)
{
const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i);
- varItem->addItem(item->name());
- varItem->setItemData(i, item->id());
+ varItem->addItem(item->name(), item->id());
}
}
diff --git a/pokemodr/SpeciesMoveUI.cpp b/pokemodr/SpeciesMoveUI.cpp
index f694478e..d8021c74 100644
--- a/pokemodr/SpeciesMoveUI.cpp
+++ b/pokemodr/SpeciesMoveUI.cpp
@@ -42,8 +42,7 @@ void SpeciesMoveUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->moveCount(); ++i)
{
const Move* move = static_cast<const Pokemod*>(original()->pokemod())->move(i);
- varMove->addItem(move->name());
- varMove->setItemData(i, move->id());
+ varMove->addItem(move->name(), move->id());
}
varLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel());
varWildLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel());
diff --git a/pokemodr/SpeciesUI.cpp b/pokemodr/SpeciesUI.cpp
index 2e37a877..7c754afe 100644
--- a/pokemodr/SpeciesUI.cpp
+++ b/pokemodr/SpeciesUI.cpp
@@ -68,8 +68,7 @@ void SpeciesUI::refreshGui()
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i)
{
const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i);
- varEggSpecies->addItem(species->name());
- varEggSpecies->setItemData(i, species->id());
+ varEggSpecies->addItem(species->name(), species->id());
}
for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->eggGroupCount(); ++i)
{
diff --git a/pokemodr/TODO b/pokemodr/TODO
index 20fa4a68..2c699649 100644
--- a/pokemodr/TODO
+++ b/pokemodr/TODO
@@ -1,4 +1,3 @@
-AbilityEffect
Dialog (with command dialogs)
ItemEffect
MoveEffect
diff --git a/pokemodr/TileDelegate.cpp b/pokemodr/TileDelegate.cpp
index 59a11f80..f744fb74 100644
--- a/pokemodr/TileDelegate.cpp
+++ b/pokemodr/TileDelegate.cpp
@@ -41,8 +41,7 @@ void TileDelegate::setEditorData(QWidget* editor, const QModelIndex& index) cons
for (int i = 0; i < static_cast<const Pokemod*>(static_cast<const ObjectUI*>(editor->parent())->original()->pokemod())->tileCount(); ++i)
{
const Tile* tile = static_cast<const Pokemod*>(static_cast<const ObjectUI*>(editor->parent())->original()->pokemod())->tile(i);
- static_cast<KComboBox*>(editor)->addItem(tile->sprite(), tile->name());
- static_cast<KComboBox*>(editor)->setItemData(i, tile->id());
+ static_cast<KComboBox*>(editor)->addItem(tile->sprite(), tile->name(), tile->id());
}
static_cast<KComboBox*>(editor)->setCurrentIndex(index.data(Qt::EditRole).toInt());
}
diff --git a/pokemodr/TileUI.cpp b/pokemodr/TileUI.cpp
index e9e1d96f..c8c5b22b 100644
--- a/pokemodr/TileUI.cpp
+++ b/pokemodr/TileUI.cpp
@@ -53,10 +53,7 @@ void TileUI::refreshGui()
{
const Tile* tile = static_cast<const Pokemod*>(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());
- }
+ varHMUnder->addItem(tile->sprite(), tile->name(), tile->id());
}
}
diff --git a/pokemodr/gui/abilityeffect.ui b/pokemodr/gui/abilityeffect.ui
index 2305a554..9079ded0 100644
--- a/pokemodr/gui/abilityeffect.ui
+++ b/pokemodr/gui/abilityeffect.ui
@@ -38,7 +38,7 @@
</property>
<layout class="QHBoxLayout" >
<item>
- <widget class="KComboBox" name="varVal1" >
+ <widget class="KComboBox" name="varValue1" >
<property name="toolTip" >
<string>Value 1</string>
</property>
@@ -54,7 +54,7 @@
</property>
<layout class="QHBoxLayout" >
<item>
- <widget class="KComboBox" name="varVal2" >
+ <widget class="KComboBox" name="varValue2" >
<property name="toolTip" >
<string>Value 2</string>
</property>
@@ -70,7 +70,7 @@
</property>
<layout class="QHBoxLayout" >
<item>
- <widget class="KIntNumInput" name="varVal3" >
+ <widget class="KIntNumInput" name="varValue3" >
<property name="toolTip" >
<string>Value 3</string>
</property>
@@ -105,7 +105,7 @@
</property>
<layout class="QHBoxLayout" >
<item>
- <widget class="KComboBox" name="varTval1" >
+ <widget class="KComboBox" name="varTriggerValue1" >
<property name="toolTip" >
<string>Trigger value 1</string>
</property>
diff --git a/pokemodr/models/AbilityEffectModel.cpp b/pokemodr/models/AbilityEffectModel.cpp
index 01ac02f9..0c7bb8c6 100644
--- a/pokemodr/models/AbilityEffectModel.cpp
+++ b/pokemodr/models/AbilityEffectModel.cpp
@@ -19,7 +19,7 @@
#include "AbilityEffectModel.h"
// PokeModr includes
-// #include "../AbilityEffectUI.h"
+#include "../AbilityEffectUI.h"
// Pokemod includes
#include "../../pokemod/Ability.h"
@@ -53,9 +53,8 @@ QVariant AbilityEffectModel::data(int role) const
}
else if (role == BaseModel::WidgetRole)
{
- // TODO: AbilityEffectUI
-// QWidget* widget = new AbilityEffectUI(static_cast<AbilityEffect*>(m_object), NULL);
-// return QVariant::fromValue(widget);
+ QWidget* widget = new AbilityEffectUI(static_cast<AbilityEffect*>(m_object), NULL);
+ return QVariant::fromValue(widget);
}
return ObjectModel::data(role);
}
diff --git a/pokemodr/models/BaseModel.h b/pokemodr/models/BaseModel.h
index 153aa785..5c65c733 100644
--- a/pokemodr/models/BaseModel.h
+++ b/pokemodr/models/BaseModel.h
@@ -147,7 +147,7 @@ class GroupModel : public BaseModel
int rowCount() const;
Qt::ItemFlags flags() const;
- bool setData(const QVariant& /*value*/, int /*role = Qt::EditRole*/);
+ virtual bool setData(const QVariant& /*value*/, int /*role = Qt::EditRole*/);
BaseModel* childItem(const int row);
virtual int indexNumber() const = 0;
diff --git a/pokemodr/pokemodr.pro b/pokemodr/pokemodr.pro
index 8fded482..1b9be0fc 100644
--- a/pokemodr/pokemodr.pro
+++ b/pokemodr/pokemodr.pro
@@ -68,6 +68,7 @@ win32 {
}
SOURCES += AbilityUI.cpp \
+ AbilityEffectUI.cpp \
AuthorUI.cpp \
BadgeUI.cpp \
CoinListUI.cpp \
@@ -146,6 +147,7 @@ SOURCES += AbilityUI.cpp \
models/TypeModel.cpp
HEADERS += AbilityUI.h \
+ AbilityEffectUI.h \
AuthorUI.h \
BadgeUI.h \
CoinListUI.h \