diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-24 22:46:09 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-24 22:46:09 -0500 |
| commit | f8d9605077a6ed100a915c064adab76da5d240a6 (patch) | |
| tree | c9703c97f4093059068fb2eb6ad1afbfa285dd6f /sigmodr/widgets/MapEffectUI.cpp | |
| parent | 4acab35a099e9f6834432e7e89dee716c41549ba (diff) | |
| download | sigen-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.cpp | 54 |
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); } |
