summaryrefslogtreecommitdiffstats
path: root/pokemodr/TileUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemodr/TileUI.cpp')
-rw-r--r--pokemodr/TileUI.cpp67
1 files changed, 32 insertions, 35 deletions
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)
{