summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-24 10:21:30 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-24 10:21:30 -0500
commitb48cebf7472f2a30e1ae8747349045661ecf6547 (patch)
treece1cd2ac18550cfd0cc7df2fd5656ebc3ba3a873
parent4453d587364e38c11f218c46db482f0b2ebe93ae (diff)
Cleaned up more classes to load ui files at runtime
-rw-r--r--sigmodr/widgets/AuthorUI.cpp44
-rw-r--r--sigmodr/widgets/AuthorUI.h18
-rw-r--r--sigmodr/widgets/BadgeUI.cpp139
-rw-r--r--sigmodr/widgets/BadgeUI.h35
-rw-r--r--sigmodr/widgets/CoinListItemUI.cpp60
-rw-r--r--sigmodr/widgets/CoinListItemUI.h21
-rw-r--r--sigmodr/widgets/CoinListUI.cpp33
-rw-r--r--sigmodr/widgets/CoinListUI.h21
-rw-r--r--sigmodr/widgets/EggGroupUI.cpp24
-rw-r--r--sigmodr/widgets/EggGroupUI.h12
-rw-r--r--sigmodr/widgets/GlobalScriptUI.cpp33
-rw-r--r--sigmodr/widgets/GlobalScriptUI.h21
-rw-r--r--sigmodr/widgets/TrainerUI.cpp7
13 files changed, 296 insertions, 172 deletions
diff --git a/sigmodr/widgets/AuthorUI.cpp b/sigmodr/widgets/AuthorUI.cpp
index 0cad47bd..b0d39f8d 100644
--- a/sigmodr/widgets/AuthorUI.cpp
+++ b/sigmodr/widgets/AuthorUI.cpp
@@ -21,22 +21,38 @@
// Sigmod includes
#include <sigmod/Author.h>
+// KDE includes
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::AuthorUI::AuthorUI(Sigmod::Author* author, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(author, new Sigmod::Author(*author));
}
-Sigmodr::Widgets::AuthorUI::~AuthorUI()
+void Sigmodr::Widgets::AuthorUI::initGui()
{
+ QFile file(":/gui/author.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_email= formWidget->findChild<KLineEdit*>("varEmail");
+ ui_role = formWidget->findChild<KLineEdit*>("varRole");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_email, SIGNAL(textChanged(QString)), this, SLOT(emailChanged(QString)));
+ connect(ui_role, SIGNAL(textChanged(QString)), this, SLOT(roleChanged(QString)));
}
void Sigmodr::Widgets::AuthorUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Author*>(modified())->name());
- varEmail->setText(qobject_cast<Sigmod::Author*>(modified())->email());
- varRole->setText(qobject_cast<Sigmod::Author*>(modified())->role());
+ ui_name->setText(qobject_cast<Sigmod::Author*>(modified())->name());
+ ui_email->setText(qobject_cast<Sigmod::Author*>(modified())->email());
+ ui_role->setText(qobject_cast<Sigmod::Author*>(modified())->role());
}
void Sigmodr::Widgets::AuthorUI::apply()
@@ -52,23 +68,23 @@ void Sigmodr::Widgets::AuthorUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::AuthorUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::AuthorUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Author*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::AuthorUI::on_varEmail_textChanged(const QString& email)
+void Sigmodr::Widgets::AuthorUI::emailChanged(const QString& email)
{
- const int cursor = varEmail->cursorPosition();
+ const int cursor = ui_email->cursorPosition();
qobject_cast<Sigmod::Author*>(modified())->setEmail(email);
- varEmail->setCursorPosition(cursor);
+ ui_email->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::AuthorUI::on_varRole_textChanged(const QString& role)
+void Sigmodr::Widgets::AuthorUI::roleChanged(const QString& role)
{
- const int cursor = varRole->cursorPosition();
+ const int cursor = ui_role->cursorPosition();
qobject_cast<Sigmod::Author*>(modified())->setRole(role);
- varRole->setCursorPosition(cursor);
+ ui_role->setCursorPosition(cursor);
}
diff --git a/sigmodr/widgets/AuthorUI.h b/sigmodr/widgets/AuthorUI.h
index 3145ca00..cdcf0138 100644
--- a/sigmodr/widgets/AuthorUI.h
+++ b/sigmodr/widgets/AuthorUI.h
@@ -18,13 +18,11 @@
#ifndef SIGMODRWIDGETS_AUTHORUI
#define SIGMODRWIDGETS_AUTHORUI
-// Form include
-#include "ui_author.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KLineEdit;
namespace Sigmod
{
class Author;
@@ -34,21 +32,25 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT AuthorUI : public ObjectUI, private Ui::formAuthor
+class SIGMODRWIDGETS_EXPORT AuthorUI : public ObjectUI
{
Q_OBJECT
public:
AuthorUI(Sigmod::Author* author, QWidget* parent);
- ~AuthorUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
- void on_varEmail_textChanged(const QString& email);
- void on_varRole_textChanged(const QString& role);
+ void nameChanged(const QString& name);
+ void emailChanged(const QString& email);
+ void roleChanged(const QString& role);
+ private:
+ KLineEdit* ui_name;
+ KLineEdit* ui_email;
+ KLineEdit* ui_role;
private slots:
+ void initGui();
void setGui();
};
}
diff --git a/sigmodr/widgets/BadgeUI.cpp b/sigmodr/widgets/BadgeUI.cpp
index 50ad7458..5e92e085 100644
--- a/sigmodr/widgets/BadgeUI.cpp
+++ b/sigmodr/widgets/BadgeUI.cpp
@@ -18,40 +18,63 @@
// Header include
#include "BadgeUI.h"
+// Sigmodr widget includes
+#include "FractionWidget.h"
+
// Sigmod includes
#include <sigmod/Badge.h>
#include <sigmod/Rules.h>
#include <sigmod/Sigmod.h>
#include <sigmod/Sprite.h>
+// KDE includes
+#include <KComboBox>
+#include <KIntNumInput>
+#include <KLineEdit>
+
// Qt includes
+#include <QtCore/QFile>
#include <QtGui/QHeaderView>
+#include <QtGui/QTableWidget>
+#include <QtGui/QTableWidgetItem>
+#include <QtUiTools/QUiLoader>
Sigmodr::Widgets::BadgeUI::BadgeUI(Sigmod::Badge* badge, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(badge, new Sigmod::Badge(*badge));
}
-Sigmodr::Widgets::BadgeUI::~BadgeUI()
-{
-}
-
void Sigmodr::Widgets::BadgeUI::initGui()
{
- varStat->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
+ QFile file(":/gui/badge.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_obey= formWidget->findChild<KIntNumInput*>("varName");
+ ui_face = formWidget->findChild<KComboBox*>("varName");
+ ui_badge = formWidget->findChild<KComboBox*>("varName");
+ ui_stat = formWidget->findChild<QTableWidget*>("varName");
+ ui_statMultiplier = formWidget->findChild<FractionWidget*>("varName");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_obey, SIGNAL(valueChanged(int)), this, SLOT(obeyChanged(int)));
+ connect(ui_face, SIGNAL(currentIndexChanged(int)), this, SLOT(faceChanged(int)));
+ connect(ui_badge, SIGNAL(currentIndexChanged(int)), this, SLOT(badgeChanged(int)));
+ connect(ui_stat, SIGNAL(currentCellChanged(int,int,int,int)), this, SLOT(statChanged(int)));
+ connect(ui_statMultiplier, SIGNAL(valueChanged(Sigcore::Fraction)), this, SLOT(statMultiplierChanged(Sigcore::Fraction)));
+ ui_stat->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
}
void Sigmodr::Widgets::BadgeUI::refreshGui()
{
int maxHeight = 0;
int maxWidth = 0;
- varObey->setMaximum(sigmod()->rules()->maxLevel());
- const bool blockedFace = varFace->blockSignals(true);
- const bool blockedBadge = varBadge->blockSignals(true);
- varFace->clear();
- varBadge->clear();
+ ui_obey->setMaximum(sigmod()->rules()->maxLevel());
+ const bool blockedFace = ui_face->blockSignals(true);
+ const bool blockedBadge = ui_badge->blockSignals(true);
+ ui_face->clear();
+ ui_badge->clear();
for (int i = 0; i < sigmod()->spriteCount(); ++i)
{
const Sigmod::Sprite* sprite = sigmod()->sprite(i);
@@ -59,74 +82,74 @@ void Sigmodr::Widgets::BadgeUI::refreshGui()
icon.loadFromData(sprite->sprite());
maxHeight = qMax(maxHeight, icon.height());
maxWidth = qMax(maxWidth, icon.width());
- varFace->addItem(icon, sprite->name(), sprite->id());
- varBadge->addItem(icon, sprite->name(), sprite->id());
+ ui_face->addItem(icon, sprite->name());
+ ui_badge->addItem(icon, sprite->name());
}
- varFace->blockSignals(blockedFace);
- varBadge->blockSignals(blockedBadge);
+ ui_face->blockSignals(blockedFace);
+ ui_badge->blockSignals(blockedBadge);
const QSize maxSize(maxWidth, maxHeight);
- varFace->setIconSize(maxSize);
- varBadge->setIconSize(maxSize);
+ ui_face->setIconSize(maxSize);
+ ui_badge->setIconSize(maxSize);
const bool isSplit = sigmod()->rules()->specialSplit();
- varStat->clear();
- varStat->setRowCount((isSplit ? Sigmod::ST_SpecialDefense : Sigmod::ST_Special) - Sigmod::ST_Attack + 1);
- varStat->setVerticalHeaderLabels((isSplit ? Sigmod::StatGSCStr : Sigmod::StatRBYStr).mid(Sigmod::ST_Attack, (isSplit ? Sigmod::ST_SpecialDefense : Sigmod::ST_Special) - Sigmod::ST_Attack + 1));
- varStat->setColumnCount(1);
- varStat->setHorizontalHeaderLabels(QStringList() << "Multiplier");
- varStat->verticalHeaderItem(Sigmod::ST_Attack - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Attack));
- varStat->verticalHeaderItem(Sigmod::ST_Defense - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Defense));
- varStat->verticalHeaderItem(Sigmod::ST_Speed - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Speed));
+ ui_stat->clear();
+ ui_stat->setRowCount((isSplit ? Sigmod::ST_SpecialDefense : Sigmod::ST_Special) - Sigmod::ST_Attack + 1);
+ ui_stat->setVerticalHeaderLabels((isSplit ? Sigmod::StatGSCStr : Sigmod::StatRBYStr).mid(Sigmod::ST_Attack, (isSplit ? Sigmod::ST_SpecialDefense : Sigmod::ST_Special) - Sigmod::ST_Attack + 1));
+ ui_stat->setColumnCount(1);
+ ui_stat->setHorizontalHeaderLabels(QStringList() << "Multiplier");
+ ui_stat->verticalHeaderItem(Sigmod::ST_Attack - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Attack));
+ ui_stat->verticalHeaderItem(Sigmod::ST_Defense - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Defense));
+ ui_stat->verticalHeaderItem(Sigmod::ST_Speed - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Speed));
if (isSplit)
{
- varStat->verticalHeaderItem(Sigmod::ST_SpecialAttack - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_SpecialAttack));
- varStat->verticalHeaderItem(Sigmod::ST_SpecialDefense - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_SpecialDefense));
+ ui_stat->verticalHeaderItem(Sigmod::ST_SpecialAttack - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_SpecialAttack));
+ ui_stat->verticalHeaderItem(Sigmod::ST_SpecialDefense - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_SpecialDefense));
}
else
- varStat->verticalHeaderItem(Sigmod::ST_Special - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Special));
+ ui_stat->verticalHeaderItem(Sigmod::ST_Special - Sigmod::ST_Attack)->setData(Qt::UserRole, QVariant::fromValue(Sigmod::ST_Special));
QTableWidgetItem* item = new QTableWidgetItem;
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
- varStat->setItem(Sigmod::ST_Attack - Sigmod::ST_Attack, 0, item);
- varStat->setCurrentItem(item);
+ ui_stat->setItem(Sigmod::ST_Attack - Sigmod::ST_Attack, 0, item);
+ ui_stat->setCurrentItem(item);
item = new QTableWidgetItem;
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
- varStat->setItem(Sigmod::ST_Defense- Sigmod::ST_Attack, 0, item);
+ ui_stat->setItem(Sigmod::ST_Defense- Sigmod::ST_Attack, 0, item);
item = new QTableWidgetItem;
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
- varStat->setItem(Sigmod::ST_Speed - Sigmod::ST_Attack, 0, item);
+ ui_stat->setItem(Sigmod::ST_Speed - Sigmod::ST_Attack, 0, item);
if (isSplit)
{
item = new QTableWidgetItem;
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
- varStat->setItem(Sigmod::ST_SpecialAttack - Sigmod::ST_Attack, 0, item);
+ ui_stat->setItem(Sigmod::ST_SpecialAttack - Sigmod::ST_Attack, 0, item);
item = new QTableWidgetItem;
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
- varStat->setItem(Sigmod::ST_SpecialDefense - Sigmod::ST_Attack, 0, item);
+ ui_stat->setItem(Sigmod::ST_SpecialDefense - Sigmod::ST_Attack, 0, item);
}
else
{
item = new QTableWidgetItem;
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
- varStat->setItem(Sigmod::ST_Special - Sigmod::ST_Attack, 0, item);
+ ui_stat->setItem(Sigmod::ST_Special - Sigmod::ST_Attack, 0, item);
}
}
void Sigmodr::Widgets::BadgeUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Badge*>(modified())->name());
- varObey->setValue(qobject_cast<Sigmod::Badge*>(modified())->obey());
- varFace->setCurrentIndex(varFace->findData(qobject_cast<Sigmod::Badge*>(modified())->face()));
- varBadge->setCurrentIndex(varBadge->findData(qobject_cast<Sigmod::Badge*>(modified())->badge()));
- varStat->item(Sigmod::ST_Attack - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Attack), 'g', 7));
- varStat->item(Sigmod::ST_Defense - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Defense), 'g', 7));
- varStat->item(Sigmod::ST_Speed - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Speed), 'g', 7));
+ ui_name->setText(qobject_cast<Sigmod::Badge*>(modified())->name());
+ ui_obey->setValue(qobject_cast<Sigmod::Badge*>(modified())->obey());
+ ui_face->setCurrentIndex(sigmod()->spriteIndex(qobject_cast<Sigmod::Badge*>(modified())->face()));
+ ui_badge->setCurrentIndex(sigmod()->spriteIndex(qobject_cast<Sigmod::Badge*>(modified())->badge()));
+ ui_stat->item(Sigmod::ST_Attack - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Attack), 'g', 7));
+ ui_stat->item(Sigmod::ST_Defense - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Defense), 'g', 7));
+ ui_stat->item(Sigmod::ST_Speed - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Speed), 'g', 7));
if (sigmod()->rules()->specialSplit())
{
- varStat->item(Sigmod::ST_SpecialAttack - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_SpecialAttack), 'g', 7));
- varStat->item(Sigmod::ST_SpecialDefense - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_SpecialDefense), 'g', 7));
+ ui_stat->item(Sigmod::ST_SpecialAttack - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_SpecialAttack), 'g', 7));
+ ui_stat->item(Sigmod::ST_SpecialDefense - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_SpecialDefense), 'g', 7));
}
else
- varStat->item(Sigmod::ST_Special - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Special), 'g', 7));
- varStatMultiplier->setValue(qobject_cast<Sigmod::Badge*>(modified())->stat(varStat->verticalHeaderItem(varStat->currentRow())->data(Qt::UserRole).value<Sigmod::Stat>()));
+ ui_stat->item(Sigmod::ST_Special - Sigmod::ST_Attack, 0)->setData(Qt::DisplayRole, QString::number(qobject_cast<Sigmod::Badge*>(modified())->stat(Sigmod::ST_Special), 'g', 7));
+ ui_statMultiplier->setValue(qobject_cast<Sigmod::Badge*>(modified())->stat(ui_stat->verticalHeaderItem(ui_stat->currentRow())->data(Qt::UserRole).value<Sigmod::Stat>()));
}
void Sigmodr::Widgets::BadgeUI::apply()
@@ -142,34 +165,34 @@ void Sigmodr::Widgets::BadgeUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::BadgeUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::BadgeUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Badge*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::BadgeUI::on_varObey_valueChanged(const int obey)
+void Sigmodr::Widgets::BadgeUI::obeyChanged(const int obey)
{
qobject_cast<Sigmod::Badge*>(modified())->setObey(obey);
}
-void Sigmodr::Widgets::BadgeUI::on_varFace_currentIndexChanged(const int face)
+void Sigmodr::Widgets::BadgeUI::faceChanged(const int face)
{
- qobject_cast<Sigmod::Badge*>(modified())->setFace(varFace->itemData(face).toInt());
+ qobject_cast<Sigmod::Badge*>(modified())->setFace(sigmod()->sprite(face)->id());
}
-void Sigmodr::Widgets::BadgeUI::on_varBadge_currentIndexChanged(const int badge)
+void Sigmodr::Widgets::BadgeUI::badgeChanged(const int badge)
{
- qobject_cast<Sigmod::Badge*>(modified())->setBadge(varFace->itemData(badge).toInt());
+ qobject_cast<Sigmod::Badge*>(modified())->setBadge(sigmod()->sprite(badge)->id());
}
-void Sigmodr::Widgets::BadgeUI::on_varStat_currentCellChanged(const int row)
+void Sigmodr::Widgets::BadgeUI::statChanged(const int row)
{
- varStatMultiplier->setValue(qobject_cast<Sigmod::Badge*>(modified())->stat(varStat->verticalHeaderItem(row)->data(Qt::UserRole).value<Sigmod::Stat>()));
+ ui_statMultiplier->setValue(qobject_cast<Sigmod::Badge*>(modified())->stat(ui_stat->verticalHeaderItem(row)->data(Qt::UserRole).value<Sigmod::Stat>()));
}
-void Sigmodr::Widgets::BadgeUI::on_varStatMultiplier_valueChanged(const Sigcore::Fraction& multiplier)
+void Sigmodr::Widgets::BadgeUI::statMultiplierChanged(const Sigcore::Fraction& multiplier)
{
- qobject_cast<Sigmod::Badge*>(modified())->setStat(varStat->verticalHeaderItem(varStat->currentRow())->data(Qt::UserRole).value<Sigmod::Stat>(), multiplier);
+ qobject_cast<Sigmod::Badge*>(modified())->setStat(ui_stat->verticalHeaderItem(ui_stat->currentRow())->data(Qt::UserRole).value<Sigmod::Stat>(), multiplier);
}
diff --git a/sigmodr/widgets/BadgeUI.h b/sigmodr/widgets/BadgeUI.h
index eeef09b1..bb23e126 100644
--- a/sigmodr/widgets/BadgeUI.h
+++ b/sigmodr/widgets/BadgeUI.h
@@ -18,13 +18,18 @@
#ifndef SIGMODRWIDGETS_BADGEUI
#define SIGMODRWIDGETS_BADGEUI
-// Form include
-#include "ui_badge.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KComboBox;
+class KIntNumInput;
+class KLineEdit;
+class QTableWidget;
+namespace Sigcore
+{
+class Fraction;
+}
namespace Sigmod
{
class Badge;
@@ -34,23 +39,31 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT BadgeUI : public ObjectUI, private Ui::formBadge
+class FractionWidget;
+
+class SIGMODRWIDGETS_EXPORT BadgeUI : public ObjectUI
{
Q_OBJECT
public:
BadgeUI(Sigmod::Badge* badge, QWidget* parent);
- ~BadgeUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
- void on_varObey_valueChanged(const int obey);
- void on_varFace_currentIndexChanged(const int face);
- void on_varBadge_currentIndexChanged(const int badge);
- void on_varStat_currentCellChanged(const int row);
- void on_varStatMultiplier_valueChanged(const Sigcore::Fraction& multiplier);
+ void nameChanged(const QString& name);
+ void obeyChanged(const int obey);
+ void faceChanged(const int face);
+ void badgeChanged(const int badge);
+ void statChanged(const int row);
+ void statMultiplierChanged(const Sigcore::Fraction& multiplier);
+ private:
+ KLineEdit* ui_name;
+ KIntNumInput* ui_obey;
+ KComboBox* ui_face;
+ KComboBox* ui_badge;
+ QTableWidget* ui_stat;
+ FractionWidget* ui_statMultiplier;
private slots:
void initGui();
void refreshGui();
diff --git a/sigmodr/widgets/CoinListItemUI.cpp b/sigmodr/widgets/CoinListItemUI.cpp
index bda7f62c..d6d4fe05 100644
--- a/sigmodr/widgets/CoinListItemUI.cpp
+++ b/sigmodr/widgets/CoinListItemUI.cpp
@@ -24,47 +24,56 @@
#include <sigmod/Sigmod.h>
#include <sigmod/Species.h>
+// KDE includes
+#include <KComboBox>
+#include <KIntNumInput>
+
// Qt includes
+#include <QtCore/QFile>
#include <QtGui/QButtonGroup>
+#include <QtGui/QRadioButton>
+#include <QtUiTools/QUiLoader>
Sigmodr::Widgets::CoinListItemUI::CoinListItemUI(Sigmod::CoinListItem* item, QWidget* parent) :
ObjectUI(parent),
- m_buttonGroup(new QButtonGroup(this)),
+ ui_type(new QButtonGroup(this)),
m_lastType(-1)
{
- setupUi(this);
setObjects(item, new Sigmod::CoinListItem(*item));
}
-Sigmodr::Widgets::CoinListItemUI::~CoinListItemUI()
-{
-}
-
void Sigmodr::Widgets::CoinListItemUI::initGui()
{
- setTabOrder(varItem, varSpecies);
- setTabOrder(varSpecies, varObject);
- setTabOrder(varObject, varCost);
- m_buttonGroup->addButton(varItem, Sigmod::CoinListItem::Item);
- m_buttonGroup->addButton(varSpecies, Sigmod::CoinListItem::Species);
- connect(m_buttonGroup, SIGNAL(buttonClicked(int)), this, SLOT(typeChanged(int)));
+ QFile file(":/gui/coinlistitem.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ QRadioButton* item = formWidget->findChild<QRadioButton*>("varItem");
+ QRadioButton* species = formWidget->findChild<QRadioButton*>("varSpecies");
+ ui_object = formWidget->findChild<KComboBox*>("varObject");
+ ui_cost = formWidget->findChild<KIntNumInput*>("varCost");
+ ui_type->addButton(item, Sigmod::CoinListItem::Item);
+ ui_type->addButton(species, Sigmod::CoinListItem::Species);
+ connect(ui_type, SIGNAL(buttonClicked(int)), this, SLOT(typeChanged(int)));
+ connect(ui_object, SIGNAL(currentIndexChanged(int)), this, SLOT(objectChanged(int)));
+ connect(ui_cost, SIGNAL(valueChanged(int)), this, SLOT(costChanged(int)));
}
void Sigmodr::Widgets::CoinListItemUI::setGui()
{
bool resetObjects = (qobject_cast<Sigmod::CoinListItem*>(modified())->type() != m_lastType);
- m_buttonGroup->button(qobject_cast<Sigmod::CoinListItem*>(modified())->type())->setChecked(true);
+ ui_type->button(qobject_cast<Sigmod::CoinListItem*>(modified())->type())->setChecked(true);
m_lastType = qobject_cast<Sigmod::CoinListItem*>(modified())->type();
if (resetObjects)
{
- const bool blocked = varObject->blockSignals(true);
- varObject->clear();
+ const bool blocked = ui_object->blockSignals(true);
+ ui_object->clear();
if (qobject_cast<Sigmod::CoinListItem*>(modified())->type() == Sigmod::CoinListItem::Item)
{
for (int i = 0; i < sigmod()->itemCount(); ++i)
{
const Sigmod::Item* item = sigmod()->item(i);
- varObject->addItem(item->name(), item->id());
+ ui_object->addItem(item->name(), item->id());
}
}
else
@@ -72,13 +81,16 @@ void Sigmodr::Widgets::CoinListItemUI::setGui()
for (int i = 0; i < sigmod()->speciesCount(); ++i)
{
const Sigmod::Species* species = sigmod()->species(i);
- varObject->addItem(species->name(), species->id());
+ ui_object->addItem(species->name(), species->id());
}
}
- varObject->blockSignals(blocked);
+ ui_object->blockSignals(blocked);
}
- varObject->setCurrentIndex(varObject->findData(qobject_cast<Sigmod::CoinListItem*>(modified())->object()));
- varCost->setValue(qobject_cast<Sigmod::CoinListItem*>(modified())->cost());
+ if (m_lastType == Sigmod::CoinListItem::Item)
+ ui_object->setCurrentIndex(sigmod()->itemIndex(qobject_cast<Sigmod::CoinListItem*>(modified())->object()));
+ else
+ ui_object->setCurrentIndex(sigmod()->speciesIndex(qobject_cast<Sigmod::CoinListItem*>(modified())->object()));
+ ui_cost->setValue(qobject_cast<Sigmod::CoinListItem*>(modified())->cost());
}
void Sigmodr::Widgets::CoinListItemUI::apply()
@@ -96,15 +108,15 @@ void Sigmodr::Widgets::CoinListItemUI::discard()
void Sigmodr::Widgets::CoinListItemUI::typeChanged(const int type)
{
- qobject_cast<Sigmod::CoinListItem*>(modified())->setType(Sigmod::CoinListItem::Type(type));
+ qobject_cast<Sigmod::CoinListItem*>(modified())->setType(static_cast<Sigmod::CoinListItem::Type>(type));
}
-void Sigmodr::Widgets::CoinListItemUI::on_varObject_activated(const int obey)
+void Sigmodr::Widgets::CoinListItemUI::objectChanged(const int obey)
{
- qobject_cast<Sigmod::CoinListItem*>(modified())->setObject(varObject->itemData(obey).toInt());
+ qobject_cast<Sigmod::CoinListItem*>(modified())->setObject(ui_object->itemData(obey).toInt());
}
-void Sigmodr::Widgets::CoinListItemUI::on_varCost_valueChanged(const int cost)
+void Sigmodr::Widgets::CoinListItemUI::costChanged(const int cost)
{
qobject_cast<Sigmod::CoinListItem*>(modified())->setCost(cost);
}
diff --git a/sigmodr/widgets/CoinListItemUI.h b/sigmodr/widgets/CoinListItemUI.h
index 19c0ec68..7a4f99f7 100644
--- a/sigmodr/widgets/CoinListItemUI.h
+++ b/sigmodr/widgets/CoinListItemUI.h
@@ -18,13 +18,12 @@
#ifndef SIGMODRWIDGETS_COINLISTITEMUI
#define SIGMODRWIDGETS_COINLISTITEMUI
-// Form include
-#include "ui_coinlistitem.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KComboBox;
+class KIntNumInput;
class QButtonGroup;
namespace Sigmod
{
@@ -35,26 +34,28 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT CoinListItemUI : public ObjectUI, private Ui::formCoinListItem
+class SIGMODRWIDGETS_EXPORT CoinListItemUI : public ObjectUI
{
Q_OBJECT
public:
CoinListItemUI(Sigmod::CoinListItem* item, QWidget* parent);
- ~CoinListItemUI();
public slots:
void apply();
void discard();
protected slots:
void typeChanged(const int type);
- void on_varObject_activated(const int object);
- void on_varCost_valueChanged(const int cost);
+ void objectChanged(const int object);
+ void costChanged(const int cost);
+ private:
+ QButtonGroup* ui_type;
+ KComboBox* ui_object;
+ KIntNumInput* ui_cost;
+
+ bool m_lastType;
private slots:
void initGui();
void setGui();
- private:
- QButtonGroup* m_buttonGroup;
- bool m_lastType;
};
}
}
diff --git a/sigmodr/widgets/CoinListUI.cpp b/sigmodr/widgets/CoinListUI.cpp
index e35cce5e..14b1039c 100644
--- a/sigmodr/widgets/CoinListUI.cpp
+++ b/sigmodr/widgets/CoinListUI.cpp
@@ -18,25 +18,42 @@
// Header include
#include "CoinListUI.h"
+// Sigmodr widget includes
+#include "ScriptWidget.h"
+
// Sigmod includes
#include <sigmod/CoinList.h>
#include <sigmod/Sigmod.h>
+// KDE includes
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::CoinListUI::CoinListUI(Sigmod::CoinList* coinList, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(coinList, new Sigmod::CoinList(*coinList));
}
-Sigmodr::Widgets::CoinListUI::~CoinListUI()
+void Sigmodr::Widgets::CoinListUI::initGui()
{
+ QFile file(":/gui/coinlist.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_script = formWidget->findChild<ScriptWidget*>("varScript");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_script, SIGNAL(valueChanged(Sigcore::Script)), this, SLOT(scriptChanged(Sigcore::Script)));
}
void Sigmodr::Widgets::CoinListUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::CoinList*>(modified())->name());
- varScript->setValue(qobject_cast<Sigmod::CoinList*>(modified())->script());
+ ui_name->setText(qobject_cast<Sigmod::CoinList*>(modified())->name());
+ ui_script->setValue(qobject_cast<Sigmod::CoinList*>(modified())->script());
}
void Sigmodr::Widgets::CoinListUI::apply()
@@ -52,14 +69,14 @@ void Sigmodr::Widgets::CoinListUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::CoinListUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::CoinListUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::CoinList*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::CoinListUI::on_varScript_valueChanged(const Sigcore::Script& script)
+void Sigmodr::Widgets::CoinListUI::scriptChanged(const Sigcore::Script& script)
{
qobject_cast<Sigmod::CoinList*>(modified())->setScript(script);
}
diff --git a/sigmodr/widgets/CoinListUI.h b/sigmodr/widgets/CoinListUI.h
index 9694522b..fc4ab452 100644
--- a/sigmodr/widgets/CoinListUI.h
+++ b/sigmodr/widgets/CoinListUI.h
@@ -18,13 +18,15 @@
#ifndef SIGMODRWIDGETS_COINLISTUI
#define SIGMODRWIDGETS_COINLISTUI
-// Form include
-#include "ui_coinlist.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KLineEdit;
+namespace Sigcore
+{
+class Script;
+}
namespace Sigmod
{
class CoinList;
@@ -34,20 +36,25 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT CoinListUI : public ObjectUI, private Ui::formCoinList
+class ScriptWidget;
+
+class SIGMODRWIDGETS_EXPORT CoinListUI : public ObjectUI
{
Q_OBJECT
public:
CoinListUI(Sigmod::CoinList* coinList, QWidget* parent);
- ~CoinListUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
- void on_varScript_valueChanged(const Sigcore::Script& script);
+ void nameChanged(const QString& name);
+ void scriptChanged(const Sigcore::Script& script);
+ private:
+ KLineEdit* ui_name;
+ ScriptWidget* ui_script;
private slots:
+ void initGui();
void setGui();
};
}
diff --git a/sigmodr/widgets/EggGroupUI.cpp b/sigmodr/widgets/EggGroupUI.cpp
index 51e98115..200607ed 100644
--- a/sigmodr/widgets/EggGroupUI.cpp
+++ b/sigmodr/widgets/EggGroupUI.cpp
@@ -21,20 +21,32 @@
// Sigmod includes
#include <sigmod/EggGroup.h>
+// KDE includes
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::EggGroupUI::EggGroupUI(Sigmod::EggGroup* eggGroup, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(eggGroup, new Sigmod::EggGroup(*eggGroup));
}
-Sigmodr::Widgets::EggGroupUI::~EggGroupUI()
+void Sigmodr::Widgets::EggGroupUI::initGui()
{
+ QFile file(":/gui/egggroup.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
}
void Sigmodr::Widgets::EggGroupUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::EggGroup*>(modified())->name());
+ ui_name->setText(qobject_cast<Sigmod::EggGroup*>(modified())->name());
}
void Sigmodr::Widgets::EggGroupUI::apply()
@@ -50,9 +62,9 @@ void Sigmodr::Widgets::EggGroupUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::EggGroupUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::EggGroupUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::EggGroup*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
diff --git a/sigmodr/widgets/EggGroupUI.h b/sigmodr/widgets/EggGroupUI.h
index deb16d11..b1287470 100644
--- a/sigmodr/widgets/EggGroupUI.h
+++ b/sigmodr/widgets/EggGroupUI.h
@@ -18,13 +18,11 @@
#ifndef SIGMODRWIDGETS_EGGGROUPUI
#define SIGMODRWIDGETS_EGGGROUPUI
-// Form include
-#include "ui_egggroup.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KLineEdit;
namespace Sigmod
{
class EggGroup;
@@ -34,19 +32,21 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT EggGroupUI : public ObjectUI, private Ui::formEggGroup
+class SIGMODRWIDGETS_EXPORT EggGroupUI : public ObjectUI
{
Q_OBJECT
public:
EggGroupUI(Sigmod::EggGroup* eggGroup, QWidget* parent);
- ~EggGroupUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
+ void nameChanged(const QString& name);
+ private:
+ KLineEdit* ui_name;
private slots:
+ void initGui();
void setGui();
};
}
diff --git a/sigmodr/widgets/GlobalScriptUI.cpp b/sigmodr/widgets/GlobalScriptUI.cpp
index af06dc0c..891b8013 100644
--- a/sigmodr/widgets/GlobalScriptUI.cpp
+++ b/sigmodr/widgets/GlobalScriptUI.cpp
@@ -18,24 +18,41 @@
// Header include
#include "GlobalScriptUI.h"
+// Sigmodr widget includes
+#include "ScriptWidget.h"
+
// Sigmod includes
#include <sigmod/GlobalScript.h>
+// KDE includes
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::GlobalScriptUI::GlobalScriptUI(Sigmod::GlobalScript* globalScript, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(globalScript, new Sigmod::GlobalScript(*globalScript));
}
-Sigmodr::Widgets::GlobalScriptUI::~GlobalScriptUI()
+void Sigmodr::Widgets::GlobalScriptUI::initGui()
{
+ QFile file(":/gui/globalscript.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_script = formWidget->findChild<ScriptWidget*>("varScript");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_script, SIGNAL(valueChanged(Sigcore::Script)), this, SLOT(scriptChanged(Sigcore::Script)));
}
void Sigmodr::Widgets::GlobalScriptUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::GlobalScript*>(modified())->name());
- varScript->setValue(qobject_cast<Sigmod::GlobalScript*>(modified())->script());
+ ui_name->setText(qobject_cast<Sigmod::GlobalScript*>(modified())->name());
+ ui_script->setValue(qobject_cast<Sigmod::GlobalScript*>(modified())->script());
}
void Sigmodr::Widgets::GlobalScriptUI::apply()
@@ -51,14 +68,14 @@ void Sigmodr::Widgets::GlobalScriptUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::GlobalScriptUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::GlobalScriptUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::GlobalScript*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::GlobalScriptUI::on_varScript_valueChanged(const Sigcore::Script& script)
+void Sigmodr::Widgets::GlobalScriptUI::scriptChanged(const Sigcore::Script& script)
{
qobject_cast<Sigmod::GlobalScript*>(modified())->setScript(script);
}
diff --git a/sigmodr/widgets/GlobalScriptUI.h b/sigmodr/widgets/GlobalScriptUI.h
index 7d2da83a..a69e6718 100644
--- a/sigmodr/widgets/GlobalScriptUI.h
+++ b/sigmodr/widgets/GlobalScriptUI.h
@@ -18,13 +18,15 @@
#ifndef SIGMODRWIDGETS_GLOBALSCRIPTUI
#define SIGMODRWIDGETS_GLOBALSCRIPTUI
-// Form include
-#include "ui_globalscript.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KLineEdit;
+namespace Sigcore
+{
+class Script;
+}
namespace Sigmod
{
class GlobalScript;
@@ -34,20 +36,25 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT GlobalScriptUI : public ObjectUI, private Ui::formGlobalScript
+class ScriptWidget;
+
+class SIGMODRWIDGETS_EXPORT GlobalScriptUI : public ObjectUI
{
Q_OBJECT
public:
GlobalScriptUI(Sigmod::GlobalScript* globalScript, QWidget* parent);
- ~GlobalScriptUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
- void on_varScript_valueChanged(const Sigcore::Script& script);
+ void nameChanged(const QString& name);
+ void scriptChanged(const Sigcore::Script& script);
+ private:
+ KLineEdit* ui_name;
+ ScriptWidget* ui_script;
private slots:
+ void initGui();
void setGui();
};
}
diff --git a/sigmodr/widgets/TrainerUI.cpp b/sigmodr/widgets/TrainerUI.cpp
index 33e70543..a87a84cf 100644
--- a/sigmodr/widgets/TrainerUI.cpp
+++ b/sigmodr/widgets/TrainerUI.cpp
@@ -73,10 +73,7 @@ void Sigmodr::Widgets::TrainerUI::initGui()
void Sigmodr::Widgets::TrainerUI::refreshGui()
{
for (int i = 0; i < sigmod()->skinCount(); ++i)
- {
- const Sigmod::Skin* skin = sigmod()->skin(i);
- ui_skin->addItem(skin->name(), skin->id());
- }
+ ui_skin->addItem(sigmod()->skin(i)->name());
ui_itemIntel->setEnabled(sigmod()->rules()->maxHeldItems());
ui_abilityIntel->setEnabled(sigmod()->rules()->maxAbilities());
}
@@ -120,7 +117,7 @@ void Sigmodr::Widgets::TrainerUI::moneyFactorChanged(const int moneyFactor)
void Sigmodr::Widgets::TrainerUI::skinChanged(const int skin)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setSkin(ui_skin->itemData(skin).toInt());
+ qobject_cast<Sigmod::Trainer*>(modified())->setSkin(sigmod()->skin(skin)->id());
}
void Sigmodr::Widgets::TrainerUI::depthChanged(const int depth)