summaryrefslogtreecommitdiffstats
path: root/sigmodr/SigmodUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-01-20 23:51:22 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-01-20 23:51:22 -0500
commit7e91e7b2e7285adf3198a1be68d63bc6411e2544 (patch)
tree28381d256a59c31f355bc6da29a395f647cb0a87 /sigmodr/SigmodUI.cpp
parentb0a67f0bb797daa8303b505fb9150da222717d40 (diff)
downloadsigen-7e91e7b2e7285adf3198a1be68d63bc6411e2544.tar.gz
sigen-7e91e7b2e7285adf3198a1be68d63bc6411e2544.tar.xz
sigen-7e91e7b2e7285adf3198a1be68d63bc6411e2544.zip
Cleaned up Sigmod widget and now a startScript instead of warp
Diffstat (limited to 'sigmodr/SigmodUI.cpp')
-rw-r--r--sigmodr/SigmodUI.cpp48
1 files changed, 7 insertions, 41 deletions
diff --git a/sigmodr/SigmodUI.cpp b/sigmodr/SigmodUI.cpp
index 0ff3388f..0321e5a0 100644
--- a/sigmodr/SigmodUI.cpp
+++ b/sigmodr/SigmodUI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
+ * Copyright 2008-2009 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
@@ -29,8 +29,7 @@
Sigmodr::SigmodUI::SigmodUI(Sigmod::Sigmod* sigmod, QWidget* parent) :
ObjectUI(parent),
- m_changingMult(true),
- m_lastMap(-1)
+ m_changingMult(true)
{
setupUi(this);
setObjects(sigmod, new Sigmod::Sigmod(*sigmod));
@@ -50,44 +49,16 @@ void Sigmodr::SigmodUI::initGui()
void Sigmodr::SigmodUI::refreshGui()
{
- const bool blocked = varMap->blockSignals(true);
- varMap->clear();
- for (int i = 0; i < qobject_cast<Sigmod::Sigmod*>(original())->mapCount(); ++i)
- {
- const Sigmod::Map* map = qobject_cast<Sigmod::Sigmod*>(original())->map(i);
- varMap->addItem(map->name(), map->id());
- }
- varMap->blockSignals(blocked);
varEffectiveness->setEnabled(false);
}
void Sigmodr::SigmodUI::setGui()
{
- const bool resetWarps = (qobject_cast<Sigmod::Sigmod*>(modified())->startMap() != m_lastMap);
varTitle->setText(qobject_cast<Sigmod::Sigmod*>(modified())->title());
varVersion->setText(qobject_cast<Sigmod::Sigmod*>(modified())->version());
varDescription->setText(qobject_cast<Sigmod::Sigmod*>(modified())->description());
- varSinglePlayer->setChecked(qobject_cast<Sigmod::Sigmod*>(modified())->singlePlayer() ? Qt::Checked : Qt::Unchecked);
- varMap->setCurrentIndex(varMap->findData(qobject_cast<Sigmod::Sigmod*>(modified())->startMap()));
- varMap->setEnabled(qobject_cast<Sigmod::Sigmod*>(modified())->singlePlayer());
- m_lastMap = qobject_cast<Sigmod::Sigmod*>(modified())->startMap();
- if (resetWarps)
- {
- const bool blocked = varWarp->blockSignals(true);
- varWarp->clear();
- const Sigmod::Map* map = qobject_cast<Sigmod::Sigmod*>(original())->mapById(qobject_cast<Sigmod::Sigmod*>(modified())->startMap());
- if (map)
- {
- for (int i = 0; i < map->warpCount(); ++i)
- {
- const Sigmod::MapWarp* warp = map->warp(i);
- varWarp->addItem(warp->name(), warp->id());
- }
- }
- varWarp->blockSignals(blocked);
- }
- varWarp->setCurrentIndex(varWarp->findData(qobject_cast<Sigmod::Sigmod*>(modified())->startWarp()));
- varWarp->setEnabled(qobject_cast<Sigmod::Sigmod*>(modified())->singlePlayer());
+ varSinglePlayer->setCheckState(qobject_cast<Sigmod::Sigmod*>(modified())->singlePlayer() ? Qt::Checked : Qt::Unchecked);
+ varStartScript->setValue(qobject_cast<Sigmod::Sigmod*>(modified())->startScript());
}
void Sigmodr::SigmodUI::apply()
@@ -130,14 +101,9 @@ void Sigmodr::SigmodUI::on_varSinglePlayer_clicked(const bool singlePlayer)
qobject_cast<Sigmod::Sigmod*>(modified())->setSinglePlayer(singlePlayer);
}
-void Sigmodr::SigmodUI::on_varMap_activated(const int map)
+void Sigmodr::SigmodUI::on_varStartScript_valueChanged(const Sigcore::Script& startScript)
{
- qobject_cast<Sigmod::Sigmod*>(modified())->setStartMap(varMap->itemData(map).toInt());
-}
-
-void Sigmodr::SigmodUI::on_varWarp_activated(const int warp)
-{
- qobject_cast<Sigmod::Sigmod*>(modified())->setStartWarp(varWarp->itemData(warp).toInt());
+ qobject_cast<Sigmod::Sigmod*>(modified())->setStartScript(startScript);
}
void Sigmodr::SigmodUI::on_varTypechart_clicked(const QModelIndex& index)
@@ -145,7 +111,7 @@ void Sigmodr::SigmodUI::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()));
+ labelTypes->setText(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<Sigcore::Fraction>());
}