summaryrefslogtreecommitdiffstats
path: root/sigmodr/widgets/MapEffectUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-24 22:46:09 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-24 22:46:09 -0500
commitf8d9605077a6ed100a915c064adab76da5d240a6 (patch)
treec9703c97f4093059068fb2eb6ad1afbfa285dd6f /sigmodr/widgets/MapEffectUI.cpp
parent4acab35a099e9f6834432e7e89dee716c41549ba (diff)
downloadsigen-f8d9605077a6ed100a915c064adab76da5d240a6.tar.gz
sigen-f8d9605077a6ed100a915c064adab76da5d240a6.tar.xz
sigen-f8d9605077a6ed100a915c064adab76da5d240a6.zip
Fixed up more widgets to load at runtime
Diffstat (limited to 'sigmodr/widgets/MapEffectUI.cpp')
-rw-r--r--sigmodr/widgets/MapEffectUI.cpp54
1 files changed, 37 insertions, 17 deletions
diff --git a/sigmodr/widgets/MapEffectUI.cpp b/sigmodr/widgets/MapEffectUI.cpp
index e73110b4..86ebb563 100644
--- a/sigmodr/widgets/MapEffectUI.cpp
+++ b/sigmodr/widgets/MapEffectUI.cpp
@@ -18,12 +18,24 @@
// Header include
#include "MapEffectUI.h"
+// Sigmodr widget includes
+#include "ScriptWidget.h"
+
// Sigmod includes
#include <sigmod/Game.h>
#include <sigmod/Item.h>
#include <sigmod/MapEffect.h>
#include <sigmod/Skin.h>
+// KDE includes
+#include <KComboBox>
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtGui/QCheckBox>
+#include <QtUiTools/QUiLoader>
+
using namespace Sigcore;
using namespace Sigmod;
using namespace Sigmodr::Widgets;
@@ -31,29 +43,37 @@ using namespace Sigmodr::Widgets;
MapEffectUI::MapEffectUI(MapEffect* effect, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(effect, new MapEffect(*effect));
}
-MapEffectUI::~MapEffectUI()
+void Sigmodr::Widgets::MapEffectUI::initGui()
{
+ QFile file(":/gui/mapeffect.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_skin = formWidget->findChild<KComboBox*>("varSkin");
+ ui_script = formWidget->findChild<ScriptWidget*>("varScript");
+ ui_isGhost = formWidget->findChild<QCheckBox*>("varIsGhost");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_skin, SIGNAL(currentIndexChanged(int)), this, SLOT(skinChanged(int)));
+ connect(ui_script, SIGNAL(valueChanged(Sigcore::Script)), this, SLOT(scriptChanged(Sigcore::Script)));
+ connect(ui_isGhost, SIGNAL(toggled(bool)), this, SLOT(isGhostChanged(bool)));
}
void MapEffectUI::refreshGui()
{
for (int i = 0; i < game()->skinCount(); ++i)
- {
- const Skin* skin = game()->skin(i);
- varSkin->addItem(skin->name(), skin->id());
- }
+ ui_skin->addItem(game()->skin(i)->name());
}
void MapEffectUI::setGui()
{
- varName->setText(qobject_cast<MapEffect*>(modified())->name());
- varSkin->setCurrentIndex(varSkin->findData(qobject_cast<MapEffect*>(modified())->skin()));
- varScript->setValue(qobject_cast<MapEffect*>(modified())->script());
- varIsGhost->setCheckState(qobject_cast<MapEffect*>(modified())->isGhost() ? Qt::Checked : Qt::Unchecked);
+ ui_name->setText(qobject_cast<MapEffect*>(modified())->name());
+ ui_skin->setCurrentIndex(game()->skinIndex(qobject_cast<MapEffect*>(modified())->skin()));
+ ui_script->setValue(qobject_cast<MapEffect*>(modified())->script());
+ ui_isGhost->setCheckState(qobject_cast<MapEffect*>(modified())->isGhost() ? Qt::Checked : Qt::Unchecked);
}
void MapEffectUI::apply()
@@ -69,24 +89,24 @@ void MapEffectUI::discard()
emit(changed(false));
}
-void MapEffectUI::on_varName_textChanged(const QString& name)
+void MapEffectUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<MapEffect*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void MapEffectUI::on_varSkin_currentIndexChanged(const int skin)
+void MapEffectUI::skinChanged(const int skin)
{
- qobject_cast<MapEffect*>(modified())->setSkin(varSkin->itemData(skin).toInt());
+ qobject_cast<MapEffect*>(modified())->setSkin(game()->skin(skin)->id());
}
-void MapEffectUI::on_varScript_valueChanged(const Script& script)
+void MapEffectUI::scriptChanged(const Script& script)
{
qobject_cast<MapEffect*>(modified())->setScript(script);
}
-void MapEffectUI::on_varIsGhost_toggled(const bool isGhost)
+void MapEffectUI::isGhostChanged(const bool isGhost)
{
qobject_cast<MapEffect*>(modified())->setIsGhost(isGhost);
}