summaryrefslogtreecommitdiffstats
path: root/pokemodr/MapTrainerTeamMemberUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-06-02 01:50:47 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-06-02 01:50:47 +0000
commit87bc8b43600937a3d83cbdf8345e23a484755e3a (patch)
tree661131614ed841f68ab8cc23ea372983d49fbe20 /pokemodr/MapTrainerTeamMemberUI.cpp
parentf3e081acd87439efadd5ff4181916e06cc07f051 (diff)
downloadsigen-87bc8b43600937a3d83cbdf8345e23a484755e3a.tar.gz
sigen-87bc8b43600937a3d83cbdf8345e23a484755e3a.tar.xz
sigen-87bc8b43600937a3d83cbdf8345e23a484755e3a.zip
[FIX] Modified Rules a bit
[FIX] Updated Rules widget to match up with Rules [FIX] Reorganized the Rules widget [FIX] Using KStandardDirs rather than hardcoded ones [FIX] Cleaned up some minor things with KListWidgets git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@188 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/MapTrainerTeamMemberUI.cpp')
-rw-r--r--pokemodr/MapTrainerTeamMemberUI.cpp90
1 files changed, 68 insertions, 22 deletions
diff --git a/pokemodr/MapTrainerTeamMemberUI.cpp b/pokemodr/MapTrainerTeamMemberUI.cpp
index 4b717214..7f3689d0 100644
--- a/pokemodr/MapTrainerTeamMemberUI.cpp
+++ b/pokemodr/MapTrainerTeamMemberUI.cpp
@@ -19,8 +19,10 @@
#include "MapTrainerTeamMemberUI.h"
// Pokemod includes
+#include "../pokemod/Ability.h"
#include "../pokemod/Item.h"
#include "../pokemod/MapTrainerTeamMember.h"
+#include "../pokemod/Move.h"
#include "../pokemod/Nature.h"
#include "../pokemod/Pokemod.h"
#include "../pokemod/Rules.h"
@@ -46,41 +48,63 @@ void MapTrainerTeamMemberUI::refreshGui()
varSpecies->addItem(species->name(), species->id());
}
varLevel->setMaximum(pokemod()->rules()->maxLevel());
+ varAbilities->clear();
+ for (int i = 0; i < pokemod()->abilityCount(); ++i)
+ {
+ const Ability* ability = pokemod()->ability(i);
+ QListWidgetItem* widgetItem = new QListWidgetItem(ability->name(), varAbilities);
+ widgetItem->setData(Qt::UserRole, ability->id());
+ }
+ boxAbilities->setEnabled(pokemod()->rules()->maxAbilities());
+ varItems->clear();
+ for (int i = 0; i < pokemod()->itemCount(); ++i)
+ {
+ const Item* item = pokemod()->item(i);
+ QListWidgetItem* widgetItem = new QListWidgetItem(item->name(), varItems);
+ widgetItem->setData(Qt::UserRole, item->id());
+ }
+ boxItems->setEnabled(pokemod()->rules()->maxHeldItems());
+ varMoves->clear();
+ for (int i = 0; i < pokemod()->abilityCount(); ++i)
+ {
+ const Move* move = pokemod()->move(i);
+ QListWidgetItem* widgetItem = new QListWidgetItem(move->name(), varMoves);
+ widgetItem->setData(Qt::UserRole, move->id());
+ }
+ varNatures->clear();
+ for (int i = 0; i < pokemod()->natureCount(); ++i)
+ {
+ const Nature* nature = pokemod()->nature(i);
+ QListWidgetItem* widgetItem = new QListWidgetItem(nature->name(), varNatures);
+ widgetItem->setData(Qt::UserRole, nature->id());
+ }
+ boxNatures->setEnabled(pokemod()->rules()->maxNatures());
}
void MapTrainerTeamMemberUI::setGui()
{
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 < varAbilities->count(); ++i)
+ {
+ QListWidgetItem* widgetItem = varAbilities->item(i);
+ widgetItem->setSelected(static_cast<MapTrainerTeamMember*>(modified())->ability(widgetItem->data(Qt::UserRole).toInt()));
+ }
for (int i = 0; i < varItems->count(); ++i)
{
QListWidgetItem* widgetItem = varItems->item(i);
widgetItem->setSelected(static_cast<MapTrainerTeamMember*>(modified())->item(widgetItem->data(Qt::UserRole).toInt()));
}
- varNature->clear();
- if (pokemod()->rules()->natureAllowed())
+ for (int i = 0; i < varMoves->count(); ++i)
{
- for (int i = 0; i < pokemod()->natureCount(); ++i)
- {
- const Nature* nature = pokemod()->nature(i);
- varNature->addItem(nature->name(), nature->id());
- }
+ QListWidgetItem* widgetItem = varMoves->item(i);
+ widgetItem->setSelected(static_cast<MapTrainerTeamMember*>(modified())->move(widgetItem->data(Qt::UserRole).toInt()));
}
- else
- boxNature->setEnabled(false);
- varItems->clear();
- if (pokemod()->rules()->holdItems())
+ for (int i = 0; i < varNatures->count(); ++i)
{
- for (int i = 0; i < pokemod()->itemCount(); ++i)
- {
- const Item* item = pokemod()->item(i);
- QListWidgetItem* widgetItem = new QListWidgetItem(item->name(), varItems);
- widgetItem->setData(Qt::UserRole, item->id());
- }
+ QListWidgetItem* widgetItem = varNatures->item(i);
+ widgetItem->setSelected(static_cast<MapTrainerTeamMember*>(modified())->nature(widgetItem->data(Qt::UserRole).toInt()));
}
- else
- boxItems->setEnabled(false);
}
void MapTrainerTeamMemberUI::apply()
@@ -106,9 +130,13 @@ void MapTrainerTeamMemberUI::on_varLevel_valueChanged(const int level)
static_cast<MapTrainerTeamMember*>(modified())->setLevel(level);
}
-void MapTrainerTeamMemberUI::on_varNature_activated(const int nature)
+void MapTrainerTeamMemberUI::on_varAbilities_itemSelectionChanged()
{
- static_cast<MapTrainerTeamMember*>(modified())->setNature(varNature->itemData(nature).toInt());
+ for (int i = 0; i < varAbilities->count(); ++i)
+ {
+ const QListWidgetItem* widgetItem = varAbilities->item(i);
+ static_cast<MapTrainerTeamMember*>(modified())->setAbility(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected());
+ }
}
void MapTrainerTeamMemberUI::on_varItems_itemSelectionChanged()
@@ -119,3 +147,21 @@ void MapTrainerTeamMemberUI::on_varItems_itemSelectionChanged()
static_cast<MapTrainerTeamMember*>(modified())->setItem(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected());
}
}
+
+void MapTrainerTeamMemberUI::on_varMoves_itemSelectionChanged()
+{
+ for (int i = 0; i < varMoves->count(); ++i)
+ {
+ const QListWidgetItem* widgetItem = varMoves->item(i);
+ static_cast<MapTrainerTeamMember*>(modified())->setMove(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected());
+ }
+}
+
+void MapTrainerTeamMemberUI::on_varNatures_itemSelectionChanged()
+{
+ for (int i = 0; i < varNatures->count(); ++i)
+ {
+ const QListWidgetItem* widgetItem = varNatures->item(i);
+ static_cast<MapTrainerTeamMember*>(modified())->setNature(widgetItem->data(Qt::UserRole).toInt(), widgetItem->isSelected());
+ }
+}