diff options
Diffstat (limited to 'sigmodr/PokemodUI.cpp')
| -rw-r--r-- | sigmodr/PokemodUI.cpp | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/sigmodr/PokemodUI.cpp b/sigmodr/PokemodUI.cpp deleted file mode 100644 index 1204b43a..00000000 --- a/sigmodr/PokemodUI.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* - * 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 "PokemodUI.h" - -// Pokemodr includes -#include "TypechartModel.h" - -// Pokemod includes -#include "../pokemod/Map.h" -#include "../pokemod/MapWarp.h" -#include "../pokemod/Pokemod.h" -#include "../pokemod/Type.h" - -Pokemodr::PokemodUI::PokemodUI(Pokemod::Pokemod* pokemod, QWidget* parent) : - ObjectUI(parent), - m_changingMult(true), - m_lastMap(-1) -{ - setupUi(this); - setObjects(pokemod, new Pokemod::Pokemod(*pokemod)); -} - -Pokemodr::PokemodUI::~PokemodUI() -{ -} - -void Pokemodr::PokemodUI::initGui() -{ - QStringList types; - for (int i = 0; i < qobject_cast<Pokemod::Pokemod*>(original())->typeCount(); ++i) - types << qobject_cast<Pokemod::Pokemod*>(original())->type(i)->name(); - varTypechart->setModel(new TypechartModel(*qobject_cast<Pokemod::Pokemod*>(modified())->typechart(), types)); -} - -void Pokemodr::PokemodUI::refreshGui() -{ - varMap->clear(); - for (int i = 0; i < qobject_cast<Pokemod::Pokemod*>(original())->mapCount(); ++i) - { - const Pokemod::Map* map = qobject_cast<Pokemod::Pokemod*>(original())->map(i); - varMap->addItem(map->name(), map->id()); - } - varEffectiveness->setEnabled(false); -} - -void Pokemodr::PokemodUI::setGui() -{ - const bool resetWarps = (qobject_cast<Pokemod::Pokemod*>(modified())->startMap() != m_lastMap); - varTitle->setText(qobject_cast<Pokemod::Pokemod*>(modified())->title()); - varVersion->setText(qobject_cast<Pokemod::Pokemod*>(modified())->version()); - varDescription->setText(qobject_cast<Pokemod::Pokemod*>(modified())->description()); - varMap->setCurrentIndex(varMap->findData(qobject_cast<Pokemod::Pokemod*>(modified())->startMap())); - m_lastMap = qobject_cast<Pokemod::Pokemod*>(modified())->startMap(); - if (resetWarps) - { - varWarp->clear(); - const int mapIndex = qobject_cast<Pokemod::Pokemod*>(original())->mapIndex(qobject_cast<Pokemod::Pokemod*>(modified())->startMap()); - if (mapIndex != INT_MAX) - { - const Pokemod::Map* map = qobject_cast<Pokemod::Pokemod*>(original())->map(mapIndex); - for (int i = 0; i < map->warpCount(); ++i) - { - const Pokemod::MapWarp* warp = map->warp(i); - varWarp->addItem(warp->name(), warp->id()); - } - } - } - varWarp->setCurrentIndex(varWarp->findData(qobject_cast<Pokemod::Pokemod*>(modified())->startWarp())); -} - -void Pokemodr::PokemodUI::apply() -{ - *qobject_cast<Pokemod::Pokemod*>(original()) = *qobject_cast<Pokemod::Pokemod*>(modified()); - emit(changed(false)); -} - -void Pokemodr::PokemodUI::discard() -{ - *qobject_cast<Pokemod::Pokemod*>(modified()) = *qobject_cast<Pokemod::Pokemod*>(original()); - setGui(); - qobject_cast<TypechartModel*>(varTypechart->model())->discarded(); - emit(changed(false)); -} - -void Pokemodr::PokemodUI::on_varTitle_textChanged(const QString& title) -{ - const int cursor = varTitle->cursorPosition(); - qobject_cast<Pokemod::Pokemod*>(modified())->setTitle(title); - varTitle->setCursorPosition(cursor); -} - -void Pokemodr::PokemodUI::on_varVersion_textChanged(const QString& version) -{ - const int cursor = varVersion->cursorPosition(); - qobject_cast<Pokemod::Pokemod*>(modified())->setVersion(version); - varVersion->setCursorPosition(cursor); -} - -void Pokemodr::PokemodUI::on_varDescription_textChanged(const QString& description) -{ - qobject_cast<Pokemod::Pokemod*>(modified())->setDescription(description); -} - -void Pokemodr::PokemodUI::on_varMap_activated(const int map) -{ - qobject_cast<Pokemod::Pokemod*>(modified())->setStartMap(varMap->itemData(map).toInt()); -} - -void Pokemodr::PokemodUI::on_varWarp_activated(const int warp) -{ - qobject_cast<Pokemod::Pokemod*>(modified())->setStartWarp(varWarp->itemData(warp).toInt()); -} - -void Pokemodr::PokemodUI::on_varTypechart_clicked(const QModelIndex& index) -{ - m_index = index; - m_changingMult = true; - varEffectiveness->setEnabled(true); - boxEffectiveness->setTitle(QString("%1 vs. %2").arg(varTypechart->model()->headerData(index.row(), Qt::Vertical, Qt::DisplayRole).toString()).arg(varTypechart->model()->headerData(index.column(), Qt::Horizontal, Qt::DisplayRole).toString())); - varEffectiveness->setValue(varTypechart->model()->data(m_index, Qt::EditRole).value<Pokemod::Fraction>()); -} - -void Pokemodr::PokemodUI::on_varEffectiveness_valueChanged(const Pokemod::Fraction& multiplier) -{ - varTypechart->model()->setData(m_index, QVariant::fromValue(multiplier), Qt::EditRole); - if (!m_changingMult) - emit(changed()); - m_changingMult = false; - setGui(); -} |
