summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-24 03:02:23 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-24 03:02:23 -0500
commit4453d587364e38c11f218c46db482f0b2ebe93ae (patch)
treec1035338d94298316b2de0eb88e6f39ceef86210
parentc076cd60d8dc8b4a8f9636e5b8ce828f9aee3f7c (diff)
downloadsigen-4453d587364e38c11f218c46db482f0b2ebe93ae.tar.gz
sigen-4453d587364e38c11f218c46db482f0b2ebe93ae.tar.xz
sigen-4453d587364e38c11f218c46db482f0b2ebe93ae.zip
Converted some classes to load from the resource instead of using inheritence for forms
-rw-r--r--sigmodr/widgets/AbilityUI.cpp60
-rw-r--r--sigmodr/widgets/AbilityUI.h34
-rw-r--r--sigmodr/widgets/FractionWidget.cpp41
-rw-r--r--sigmodr/widgets/FractionWidget.h19
-rw-r--r--sigmodr/widgets/ObjectUI.cpp4
-rw-r--r--sigmodr/widgets/ObjectUI.h2
-rw-r--r--sigmodr/widgets/ScriptWidget.cpp102
-rw-r--r--sigmodr/widgets/ScriptWidget.h17
-rw-r--r--sigmodr/widgets/TrainerUI.cpp117
-rw-r--r--sigmodr/widgets/TrainerUI.h37
-rw-r--r--sigmodr/widgets/TypeUI.cpp33
-rw-r--r--sigmodr/widgets/TypeUI.h21
-rw-r--r--sigmodr/widgets/WeatherUI.cpp33
-rw-r--r--sigmodr/widgets/WeatherUI.h21
14 files changed, 344 insertions, 197 deletions
diff --git a/sigmodr/widgets/AbilityUI.cpp b/sigmodr/widgets/AbilityUI.cpp
index d7fb5ccd..c545f9eb 100644
--- a/sigmodr/widgets/AbilityUI.cpp
+++ b/sigmodr/widgets/AbilityUI.cpp
@@ -18,28 +18,54 @@
// Header include
#include "AbilityUI.h"
+// Sigmodr widget includes
+#include "ScriptWidget.h"
+
// Sigmod includes
#include <sigmod/Ability.h>
+// KDE includes
+#include <KIntNumInput>
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::AbilityUI::AbilityUI(Sigmod::Ability* ability, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(ability, new Sigmod::Ability(*ability));
}
-Sigmodr::Widgets::AbilityUI::~AbilityUI()
+void Sigmodr::Widgets::AbilityUI::initGui()
{
+ QFile file(":/gui/ability.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_priority = formWidget->findChild<KIntNumInput*>("varPriority");
+ ui_description = formWidget->findChild<KLineEdit*>("varDescription");
+ ui_battleScript = formWidget->findChild<ScriptWidget*>("varBattleScript");
+ ui_worldScript = formWidget->findChild<ScriptWidget*>("varWorldScript");
+ ui_priorityScript = formWidget->findChild<ScriptWidget*>("varPriorityScript");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_priority, SIGNAL(valueChanged(int)), this, SLOT(priorityChanged(int)));
+ connect(ui_description, SIGNAL(Changed(QString)), this, SLOT(descriptionChanged(QString)));
+ connect(ui_battleScript, SIGNAL(valueChanged(Sigcore::Script)), this, SLOT(battleScriptChanged(Sigcore::Script)));
+ connect(ui_worldScript, SIGNAL(valueChanged(Sigcore::Script)), this, SLOT(worldScriptChanged(Sigcore::Script)));
+ connect(ui_priorityScript, SIGNAL(valueChanged(Sigcore::Script)), this, SLOT(priorityScriptChanged(Sigcore::Script)));
}
void Sigmodr::Widgets::AbilityUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Ability*>(modified())->name());
- varPriority->setValue(qobject_cast<Sigmod::Ability*>(modified())->priority());
- varDescription->setText(qobject_cast<Sigmod::Ability*>(modified())->description());
- varBattleScript->setValue(qobject_cast<Sigmod::Ability*>(modified())->battleScript());
- varWorldScript->setValue(qobject_cast<Sigmod::Ability*>(modified())->worldScript());
- varPriorityScript->setValue(qobject_cast<Sigmod::Ability*>(modified())->priorityScript());
+ ui_name->setText(qobject_cast<Sigmod::Ability*>(modified())->name());
+ ui_priority->setValue(qobject_cast<Sigmod::Ability*>(modified())->priority());
+ ui_description->setText(qobject_cast<Sigmod::Ability*>(modified())->description());
+ ui_battleScript->setValue(qobject_cast<Sigmod::Ability*>(modified())->battleScript());
+ ui_worldScript->setValue(qobject_cast<Sigmod::Ability*>(modified())->worldScript());
+ ui_priorityScript->setValue(qobject_cast<Sigmod::Ability*>(modified())->priorityScript());
}
void Sigmodr::Widgets::AbilityUI::apply()
@@ -55,34 +81,36 @@ void Sigmodr::Widgets::AbilityUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::AbilityUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::AbilityUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Ability*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::AbilityUI::on_varPriority_valueChanged(const int priority)
+void Sigmodr::Widgets::AbilityUI::priorityChanged(const int priority)
{
qobject_cast<Sigmod::Ability*>(modified())->setPriority(priority);
}
-void Sigmodr::Widgets::AbilityUI::on_varDescription_textChanged(const QString& description)
+void Sigmodr::Widgets::AbilityUI::descriptionChanged(const QString& description)
{
+ const int cursor = ui_description->cursorPosition();
qobject_cast<Sigmod::Ability*>(modified())->setDescription(description);
+ ui_description->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::AbilityUI::on_varBattleScript_valueChanged(const Sigcore::Script& battleScript)
+void Sigmodr::Widgets::AbilityUI::battleScriptChanged(const Sigcore::Script& battleScript)
{
qobject_cast<Sigmod::Ability*>(modified())->setBattleScript(battleScript);
}
-void Sigmodr::Widgets::AbilityUI::on_varWorldScript_valueChanged(const Sigcore::Script& worldScript)
+void Sigmodr::Widgets::AbilityUI::worldScriptChanged(const Sigcore::Script& worldScript)
{
qobject_cast<Sigmod::Ability*>(modified())->setWorldScript(worldScript);
}
-void Sigmodr::Widgets::AbilityUI::on_varPriorityScript_valueChanged(const Sigcore::Script& priorityScript)
+void Sigmodr::Widgets::AbilityUI::priorityScriptChanged(const Sigcore::Script& priorityScript)
{
qobject_cast<Sigmod::Ability*>(modified())->setPriorityScript(priorityScript);
}
diff --git a/sigmodr/widgets/AbilityUI.h b/sigmodr/widgets/AbilityUI.h
index 6426e677..3da5a478 100644
--- a/sigmodr/widgets/AbilityUI.h
+++ b/sigmodr/widgets/AbilityUI.h
@@ -18,13 +18,16 @@
#ifndef SIGMODRWIDGETS_ABILITYUI
#define SIGMODRWIDGETS_ABILITYUI
-// Form include
-#include "ui_ability.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KIntNumInput;
+class KLineEdit;
+namespace Sigcore
+{
+class Script;
+}
namespace Sigmod
{
class Ability;
@@ -34,24 +37,33 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT AbilityUI : public ObjectUI, private Ui::formAbility
+class ScriptWidget;
+
+class SIGMODRWIDGETS_EXPORT AbilityUI : public ObjectUI
{
Q_OBJECT
public:
AbilityUI(Sigmod::Ability* ability, QWidget* parent);
- ~AbilityUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
- void on_varPriority_valueChanged(const int priority);
- void on_varDescription_textChanged(const QString& description);
- void on_varBattleScript_valueChanged(const Sigcore::Script& battleScript);
- void on_varWorldScript_valueChanged(const Sigcore::Script& worldScript);
- void on_varPriorityScript_valueChanged(const Sigcore::Script& priorityScript);
+ void nameChanged(const QString& name);
+ void priorityChanged(const int priority);
+ void descriptionChanged(const QString& description);
+ void battleScriptChanged(const Sigcore::Script& battleScript);
+ void worldScriptChanged(const Sigcore::Script& worldScript);
+ void priorityScriptChanged(const Sigcore::Script& priorityScript);
+ private:
+ KLineEdit* ui_name;
+ KIntNumInput* ui_priority;
+ KLineEdit* ui_description;
+ ScriptWidget* ui_battleScript;
+ ScriptWidget* ui_worldScript;
+ ScriptWidget* ui_priorityScript;
private slots:
+ void initGui();
void setGui();
};
}
diff --git a/sigmodr/widgets/FractionWidget.cpp b/sigmodr/widgets/FractionWidget.cpp
index 87893a99..85a1c306 100644
--- a/sigmodr/widgets/FractionWidget.cpp
+++ b/sigmodr/widgets/FractionWidget.cpp
@@ -18,12 +18,31 @@
// Header include
#include "FractionWidget.h"
+// KDE includes
+#include <KIntNumInput>
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
+// C includes
+#include <climits>
+
Sigmodr::Widgets::FractionWidget::FractionWidget(QWidget* parent, const Sigcore::Fraction& value) :
QWidget(parent),
- m_behavior(Any),
- m_value(value)
+ m_value(value),
+ m_behavior(Any)
{
- setupUi(this);
+ QFile file(":/gui/weather.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_numerator = formWidget->findChild<KIntNumInput*>("varNumerator");
+ ui_denominator = formWidget->findChild<KIntNumInput*>("varDenominator");
+ ui_value = formWidget->findChild<KLineEdit*>("varValue");
+ connect(ui_numerator, SIGNAL(valueChanged(int)), this, SLOT(numeratorChanged(int)));
+ connect(ui_denominator, SIGNAL(valueChanged(int)), this, SLOT(denominatorChanged(int)));
connect(this, SIGNAL(valueChanged(Sigcore::Fraction)), SLOT(updateValue()));
connect(this, SIGNAL(valueChanged(Sigcore::Fraction)), SLOT(resetRanges()));
connect(this, SIGNAL(behaviorChanged(Behavior)), SLOT(resetRanges()));
@@ -48,7 +67,7 @@ void Sigmodr::Widgets::FractionWidget::setBehavior(const Behavior behavior)
void Sigmodr::Widgets::FractionWidget::setValue(const Sigcore::Fraction& value)
{
- if (!varValue->text().isEmpty() && (m_value == value))
+ if (!ui_value->text().isEmpty() && (m_value == value))
return;
m_value = value;
emit(valueChanged(m_value));
@@ -56,16 +75,16 @@ void Sigmodr::Widgets::FractionWidget::setValue(const Sigcore::Fraction& value)
void Sigmodr::Widgets::FractionWidget::updateValue()
{
- varValue->setText(QString::number(double(m_value), 'g', 7));
+ ui_value->setText(QString::number(double(m_value), 'g', 7));
}
-void Sigmodr::Widgets::FractionWidget::on_varNumerator_valueChanged(const int numerator)
+void Sigmodr::Widgets::FractionWidget::numeratorChanged(const int numerator)
{
m_value.setNumerator(numerator);
emit(valueChanged(m_value));
}
-void Sigmodr::Widgets::FractionWidget::on_varDenominator_valueChanged(const int denominator)
+void Sigmodr::Widgets::FractionWidget::denominatorChanged(const int denominator)
{
m_value.setDenominator(denominator);
emit(valueChanged(m_value));
@@ -73,8 +92,8 @@ void Sigmodr::Widgets::FractionWidget::on_varDenominator_valueChanged(const int
void Sigmodr::Widgets::FractionWidget::resetRanges()
{
- varNumerator->setValue(m_value.numerator());
- varDenominator->setValue(m_value.denominator());
+ ui_numerator->setValue(m_value.numerator());
+ ui_denominator->setValue(m_value.denominator());
int numMin = 0;
int numMax = INT_MAX;
int denomMin = 1;
@@ -93,6 +112,6 @@ void Sigmodr::Widgets::FractionWidget::resetRanges()
default:
break;
}
- varNumerator->setRange(numMin, numMax);
- varDenominator->setRange(denomMin, denomMax);
+ ui_numerator->setRange(numMin, numMax);
+ ui_denominator->setRange(denomMin, denomMax);
}
diff --git a/sigmodr/widgets/FractionWidget.h b/sigmodr/widgets/FractionWidget.h
index 29ff551d..6520f7c5 100644
--- a/sigmodr/widgets/FractionWidget.h
+++ b/sigmodr/widgets/FractionWidget.h
@@ -18,9 +18,6 @@
#ifndef SIGMODRWIDGETS_FRACTIONWIDGET
#define SIGMODRWIDGETS_FRACTIONWIDGET
-// Form include
-#include "ui_fraction.h"
-
// Sigmodr widget includes
#include "Global.h"
@@ -30,11 +27,15 @@
// Qt includes
#include <QtGui/QWidget>
+// Forward declarations
+class KIntNumInput;
+class KLineEdit;
+
namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT FractionWidget : public QWidget, private Ui::formFraction
+class SIGMODRWIDGETS_EXPORT FractionWidget : public QWidget
{
Q_OBJECT
Q_PROPERTY(Sigcore::Fraction value READ value WRITE setValue USER true)
@@ -64,13 +65,17 @@ class SIGMODRWIDGETS_EXPORT FractionWidget : public QWidget, private Ui::formFra
void valueChanged(const Sigcore::Fraction&);
void behaviorChanged(const Behavior);
protected slots:
- void on_varNumerator_valueChanged(const int numerator);
- void on_varDenominator_valueChanged(const int denominator);
+ void numeratorChanged(const int numerator);
+ void denominatorChanged(const int denominator);
void resetRanges();
private:
- Behavior m_behavior;
Sigcore::Fraction m_value;
+ Behavior m_behavior;
+
+ KIntNumInput* ui_numerator;
+ KIntNumInput* ui_denominator;
+ KLineEdit* ui_value;
};
}
}
diff --git a/sigmodr/widgets/ObjectUI.cpp b/sigmodr/widgets/ObjectUI.cpp
index 7e3fa603..a84fbc87 100644
--- a/sigmodr/widgets/ObjectUI.cpp
+++ b/sigmodr/widgets/ObjectUI.cpp
@@ -121,10 +121,6 @@ void Sigmodr::Widgets::ObjectUI::warningMessage(const QString& message)
KMessageBox::warningContinueCancel(this, message, "Warning");
}
-void Sigmodr::Widgets::ObjectUI::initGui()
-{
-}
-
void Sigmodr::Widgets::ObjectUI::refreshGui()
{
}
diff --git a/sigmodr/widgets/ObjectUI.h b/sigmodr/widgets/ObjectUI.h
index 1e7df844..2590d5ff 100644
--- a/sigmodr/widgets/ObjectUI.h
+++ b/sigmodr/widgets/ObjectUI.h
@@ -69,7 +69,7 @@ class SIGMODRWIDGETS_EXPORT ObjectUI : public QWidget
void errorMessage(const QString& message);
void warningMessage(const QString& message);
- virtual void initGui();
+ virtual void initGui() = 0;
virtual void refreshGui();
virtual void setGui() = 0;
private:
diff --git a/sigmodr/widgets/ScriptWidget.cpp b/sigmodr/widgets/ScriptWidget.cpp
index 207f9e90..206468ba 100644
--- a/sigmodr/widgets/ScriptWidget.cpp
+++ b/sigmodr/widgets/ScriptWidget.cpp
@@ -18,9 +18,13 @@
// Header include
#include "ScriptWidget.h"
+// Sigmodr widget includes
+#include "ScriptWidget.h"
+
// KDE includes
#include <KActionCollection>
#include <KApplication>
+#include <KComboBox>
#include <KMenu>
#include <KMessageBox>
#include <KStandardAction>
@@ -32,33 +36,43 @@
#include <KTextEditor/EditorChooser>
#include <KTextEditor/View>
+// Qt includes
+#include <QtCore/QFile>
+#include <QtGui/QGridLayout>
+#include <QtGui/QLabel>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::ScriptWidget::ScriptWidget(QWidget* parent, const Sigcore::Script& value) :
QWidget(parent),
m_value(value),
- m_simpleEdit(NULL),
+ ui_simpleEdit(NULL),
m_editor(KTextEditor::EditorChooser::editor()),
m_document(NULL)
{
- setupUi(this);
- QMap<QString, QString> languages;
- languages["C#"] = "mono";
- languages["Falcon"] = "falcon";
- languages["Java"] = "java";
- languages["JavaScript"] = "javascript";
- languages["QtScript"] = "qtscript";
- languages["Lua"] = "lua";
- languages["PHP"] = "php";
- languages["Python"] = "python";
- languages["Ruby"] = "ruby";
- QStringList langs = languages.keys();
- foreach (const QString& language, langs)
- varInterpreter->addItem(language, languages[language]);
+ QFile file(":/gui/script.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_interpreter = formWidget->findChild<KComboBox*>("varInterpreter");
+ connect(ui_interpreter, SIGNAL(currentIndexChanged(QString)), this, SLOT(interpreterChanged(QString)));
+ m_languages["C#"] = "mono";
+ m_languages["Falcon"] = "falcon";
+ m_languages["Java"] = "java";
+ m_languages["JavaScript"] = "javascript";
+ m_languages["QtScript"] = "qtscript";
+ m_languages["Lua"] = "lua";
+ m_languages["PHP"] = "php";
+ m_languages["Python"] = "python";
+ m_languages["Ruby"] = "ruby";
+ ui_interpreter->addItems(m_languages.keys());
+ QLabel* labelScript = formWidget->findChild<QLabel*>("labelScript");
+ QGridLayout* gridLayout = formWidget->findChild<QGridLayout*>("gridLayout");
if (m_editor)
{
m_editor->readConfig();
m_document = m_editor->createDocument(this);
- m_view = m_document->createView(this);
- KActionCollection* collection = m_view->actionCollection();
+ ui_kteEdit = m_document->createView(this);
+ KActionCollection* collection = ui_kteEdit->actionCollection();
collection->action("file_save")->setVisible(false);
collection->action("file_save")->setEnabled(false);
collection->action("file_save_as")->setVisible(false);
@@ -70,32 +84,32 @@ Sigmodr::Widgets::ScriptWidget::ScriptWidget(QWidget* parent, const Sigcore::Scr
collection->action("edit_cut")->setVisible(false);
collection->action("edit_copy")->setVisible(false);
collection->action("edit_paste")->setVisible(false);
- m_view->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- m_view->setMinimumHeight(300);
+ ui_kteEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ ui_kteEdit->setMinimumHeight(300);
KXmlGuiWindow* topLevel = qobject_cast<KXmlGuiWindow*>(KApplication::kApplication()->activeWindow());
if (topLevel)
{
KMenu *menu = qobject_cast<KMenu*>(topLevel->factory()->container("ktexteditor_popup", topLevel));
if (menu)
- m_view->setContextMenu(menu);
+ ui_kteEdit->setContextMenu(menu);
}
- labelScript->setBuddy(m_view);
- setTabOrder(varInterpreter, m_view);
- gridLayout->addWidget(m_view, 1, 1);
+ labelScript->setBuddy(ui_kteEdit);
+ setTabOrder(ui_interpreter, ui_kteEdit);
+ gridLayout->addWidget(ui_kteEdit, 1, 1);
connect(m_document, SIGNAL(textChanged(KTextEditor::Document*)), this, SLOT(scriptChanged()));
- connect(m_view, SIGNAL(focusIn(KTextEditor::View*)), this, SLOT(focused(KTextEditor::View*)));
- connect(m_view, SIGNAL(focusOut(KTextEditor::View*)), this, SLOT(unfocused(KTextEditor::View*)));
+ connect(ui_kteEdit, SIGNAL(focusIn(KTextEditor::View*)), this, SLOT(focused(KTextEditor::View*)));
+ connect(ui_kteEdit, SIGNAL(focusOut(KTextEditor::View*)), this, SLOT(unfocused(KTextEditor::View*)));
}
else
{
KMessageBox::information(this, "A KDE text-editor component could not be found.\nPlease check your KDE installation.\n\nEnhanced editing will not be used.", "KDE editor component not found", "kte-component");
- m_simpleEdit = new KTextEdit(m_value.script(), this);
- m_simpleEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- m_simpleEdit->setMinimumHeight(300);
- labelScript->setBuddy(m_simpleEdit);
- setTabOrder(varInterpreter, m_simpleEdit);
- gridLayout->addWidget(m_simpleEdit, 1, 1);
- connect(m_simpleEdit, SIGNAL(textChanged()), this, SLOT(scriptChanged()));
+ ui_simpleEdit = new KTextEdit(m_value.script(), this);
+ ui_simpleEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ ui_simpleEdit->setMinimumHeight(300);
+ labelScript->setBuddy(ui_simpleEdit);
+ setTabOrder(ui_interpreter, ui_simpleEdit);
+ gridLayout->addWidget(ui_simpleEdit, 1, 1);
+ connect(ui_simpleEdit, SIGNAL(textChanged()), this, SLOT(scriptChanged()));
return;
}
connect(this, SIGNAL(valueChanged(Sigcore::Script)), SLOT(setGui()));
@@ -115,19 +129,19 @@ Sigcore::Script Sigmodr::Widgets::ScriptWidget::value() const
void Sigmodr::Widgets::ScriptWidget::setGui()
{
- varInterpreter->setCurrentIndex(varInterpreter->findData(m_value.interpreter()));
+ ui_interpreter->setCurrentIndex(ui_interpreter->findData(m_value.interpreter()));
if (m_document)
{
- m_document->setHighlightingMode(varInterpreter->currentText());
- KTextEditor::Cursor cursor = m_view->cursorPosition();
+ m_document->setHighlightingMode(ui_interpreter->currentText());
+ KTextEditor::Cursor cursor = ui_kteEdit->cursorPosition();
m_document->setText(m_value.script());
- m_view->setCursorPosition(cursor);
+ ui_kteEdit->setCursorPosition(cursor);
}
else
{
- QTextCursor cursor = m_simpleEdit->textCursor();
- m_simpleEdit->setPlainText(m_value.script());
- m_simpleEdit->setTextCursor(cursor);
+ QTextCursor cursor = ui_simpleEdit->textCursor();
+ ui_simpleEdit->setPlainText(m_value.script());
+ ui_simpleEdit->setTextCursor(cursor);
}
}
@@ -140,11 +154,11 @@ void Sigmodr::Widgets::ScriptWidget::setValue(const Sigcore::Script& value)
}
}
-void Sigmodr::Widgets::ScriptWidget::on_varInterpreter_activated()
+void Sigmodr::Widgets::ScriptWidget::interpreterChanged(const QString& interpreter)
{
- m_value.setInterpreter(varInterpreter->itemData(varInterpreter->currentIndex()).toString());
+ m_value.setInterpreter(m_languages[interpreter]);
if (m_document)
- m_document->setHighlightingMode(varInterpreter->currentText());
+ m_document->setHighlightingMode(interpreter);
emit(valueChanged(m_value));
}
@@ -160,9 +174,9 @@ void Sigmodr::Widgets::ScriptWidget::scriptChanged()
}
else
{
- if (m_value.script() != m_simpleEdit->toPlainText())
+ if (m_value.script() != ui_simpleEdit->toPlainText())
{
- m_value.setScript(m_simpleEdit->toPlainText());
+ m_value.setScript(ui_simpleEdit->toPlainText());
emit(valueChanged(m_value));
}
}
diff --git a/sigmodr/widgets/ScriptWidget.h b/sigmodr/widgets/ScriptWidget.h
index 26f8ab2f..05b66ea0 100644
--- a/sigmodr/widgets/ScriptWidget.h
+++ b/sigmodr/widgets/ScriptWidget.h
@@ -18,9 +18,6 @@
#ifndef SIGMODRWIDGETS_SCRIPTWIDGET
#define SIGMODRWIDGETS_SCRIPTWIDGET
-// Form include
-#include "ui_script.h"
-
// Sigmodr widget includes
#include "Global.h"
@@ -28,9 +25,11 @@
#include <sigcore/Script.h>
// Qt includes
+#include <QtCore/QMap>
#include <QtGui/QWidget>
// Forward declarations
+class KComboBox;
class KTextEdit;
namespace KTextEditor
{
@@ -43,7 +42,7 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT ScriptWidget : public QWidget, private Ui::formScript
+class SIGMODRWIDGETS_EXPORT ScriptWidget : public QWidget
{
Q_OBJECT
@@ -59,17 +58,21 @@ class SIGMODRWIDGETS_EXPORT ScriptWidget : public QWidget, private Ui::formScrip
protected slots:
void setGui();
- void on_varInterpreter_activated();
+ void interpreterChanged(const QString& language);
void scriptChanged();
void focused(KTextEditor::View* view);
void unfocused(KTextEditor::View* view);
private:
Sigcore::Script m_value;
- KTextEdit* m_simpleEdit;
+
+ QMap<QString, QString> m_languages;
+
+ KComboBox* ui_interpreter;
+ KTextEdit* ui_simpleEdit;
+ KTextEditor::View* ui_kteEdit;
KTextEditor::Editor* m_editor;
KTextEditor::Document* m_document;
- KTextEditor::View* m_view;
};
}
}
diff --git a/sigmodr/widgets/TrainerUI.cpp b/sigmodr/widgets/TrainerUI.cpp
index 3da7bf02..33e70543 100644
--- a/sigmodr/widgets/TrainerUI.cpp
+++ b/sigmodr/widgets/TrainerUI.cpp
@@ -24,39 +24,50 @@
#include <sigmod/Skin.h>
#include <sigmod/Trainer.h>
+// KDE includes
+#include <KComboBox>
+#include <KIntNumInput>
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::TrainerUI::TrainerUI(Sigmod::Trainer* trainer, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(trainer, new Sigmod::Trainer(*trainer));
}
-Sigmodr::Widgets::TrainerUI::~TrainerUI()
-{
-}
-
void Sigmodr::Widgets::TrainerUI::initGui()
{
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
+ QFile file(":/gui/trainer.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_moneyFactor = formWidget->findChild<KIntNumInput*>("varMoneyFactor");
+ ui_skin = formWidget->findChild<KComboBox*>("varSkin");
+ ui_depth = formWidget->findChild<KIntNumInput*>("varDepth");
+ ui_teamIntel = formWidget->findChild<KComboBox*>("varTeamIntel");
+ ui_moveIntel = formWidget->findChild<KComboBox*>("varMoveIntel");
+ ui_itemIntel = formWidget->findChild<KComboBox*>("varItemIntel");
+ ui_abilityIntel = formWidget->findChild<KComboBox*>("varAbilityIntel");
+ ui_statIntel = formWidget->findChild<KComboBox*>("varStatIntel");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_moneyFactor, SIGNAL(valueChanged(int)), this, SLOT(moneyFactorChanged(int)));
+ connect(ui_skin, SIGNAL(currentIndexChanged(int)), this, SLOT(skinChanged(int)));
+ connect(ui_depth, SIGNAL(valueChanged(int)), this, SLOT(depthChanged(int)));
+ connect(ui_teamIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(teamIntelChanged(int)));
+ connect(ui_moveIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(moveIntelChanged(int)));
+ connect(ui_itemIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(itemIntelChanged(int)));
+ connect(ui_abilityIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(abilityIntelChanged(int)));
+ connect(ui_statIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(statIntelChanged(int)));
+ ui_teamIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_moveIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_itemIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_abilityIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_statIntel->addItems(Sigmod::Trainer::IntelligenceStr);
}
void Sigmodr::Widgets::TrainerUI::refreshGui()
@@ -64,23 +75,23 @@ void Sigmodr::Widgets::TrainerUI::refreshGui()
for (int i = 0; i < sigmod()->skinCount(); ++i)
{
const Sigmod::Skin* skin = sigmod()->skin(i);
- varSkin->addItem(skin->name(), skin->id());
+ ui_skin->addItem(skin->name(), skin->id());
}
- varItemIntel->setEnabled(sigmod()->rules()->maxHeldItems());
- varAbilityIntel->setEnabled(sigmod()->rules()->maxAbilities());
+ ui_itemIntel->setEnabled(sigmod()->rules()->maxHeldItems());
+ ui_abilityIntel->setEnabled(sigmod()->rules()->maxAbilities());
}
void Sigmodr::Widgets::TrainerUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Trainer*>(modified())->name());
- varMoneyFactor->setValue(qobject_cast<Sigmod::Trainer*>(modified())->moneyFactor());
- varSkin->setCurrentIndex(varSkin->findData(qobject_cast<Sigmod::Trainer*>(modified())->skin()));
- varDepth->setValue(qobject_cast<Sigmod::Trainer*>(modified())->depth());
- varTeamIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->teamIntel());
- varMoveIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->moveIntel());
- varItemIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->itemIntel());
- varAbilityIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->abilityIntel());
- varStatIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->statIntel());
+ ui_name->setText(qobject_cast<Sigmod::Trainer*>(modified())->name());
+ ui_moneyFactor->setValue(qobject_cast<Sigmod::Trainer*>(modified())->moneyFactor());
+ ui_skin->setCurrentIndex(sigmod()->skinIndex(qobject_cast<Sigmod::Trainer*>(modified())->skin()));
+ ui_depth->setValue(qobject_cast<Sigmod::Trainer*>(modified())->depth());
+ ui_teamIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->teamIntel());
+ ui_moveIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->moveIntel());
+ ui_itemIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->itemIntel());
+ ui_abilityIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->abilityIntel());
+ ui_statIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->statIntel());
}
void Sigmodr::Widgets::TrainerUI::apply()
@@ -95,47 +106,49 @@ void Sigmodr::Widgets::TrainerUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::TrainerUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::TrainerUI::nameChanged(const QString& name)
{
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Trainer*>(modified())->setName(name);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::TrainerUI::on_varMoneyFactor_valueChanged(const int moneyFactor)
+void Sigmodr::Widgets::TrainerUI::moneyFactorChanged(const int moneyFactor)
{
qobject_cast<Sigmod::Trainer*>(modified())->setMoneyFactor(moneyFactor);
}
-void Sigmodr::Widgets::TrainerUI::on_varSkin_currentIndexChanged(const int skin)
+void Sigmodr::Widgets::TrainerUI::skinChanged(const int skin)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setSkin(varSkin->itemData(skin).toInt());
+ qobject_cast<Sigmod::Trainer*>(modified())->setSkin(ui_skin->itemData(skin).toInt());
}
-void Sigmodr::Widgets::TrainerUI::on_varDepth_valueChanged(const int depth)
+void Sigmodr::Widgets::TrainerUI::depthChanged(const int depth)
{
qobject_cast<Sigmod::Trainer*>(modified())->setDepth(depth);
}
-void Sigmodr::Widgets::TrainerUI::on_varTeamIntel_activated(const int teamIntel)
+void Sigmodr::Widgets::TrainerUI::teamIntelChanged(const int teamIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setTeamIntel(varTeamIntel->itemData(teamIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setTeamIntel(static_cast<Sigmod::Trainer::Intelligence>(teamIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varMoveIntel_activated(const int moveIntel)
+void Sigmodr::Widgets::TrainerUI::moveIntelChanged(const int moveIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setMoveIntel(varMoveIntel->itemData(moveIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setMoveIntel(static_cast<Sigmod::Trainer::Intelligence>(moveIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varItemIntel_activated(const int itemIntel)
+void Sigmodr::Widgets::TrainerUI::itemIntelChanged(const int itemIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setItemIntel(varItemIntel->itemData(itemIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setItemIntel(static_cast<Sigmod::Trainer::Intelligence>(itemIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varAbilityIntel_activated(const int abilityIntel)
+void Sigmodr::Widgets::TrainerUI::abilityIntelChanged(const int abilityIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setAbilityIntel(varAbilityIntel->itemData(abilityIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setAbilityIntel(static_cast<Sigmod::Trainer::Intelligence>(abilityIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varStatIntel_activated(const int statIntel)
+void Sigmodr::Widgets::TrainerUI::statIntelChanged(const int statIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setStatIntel(varStatIntel->itemData(statIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setStatIntel(static_cast<Sigmod::Trainer::Intelligence>(statIntel));
}
diff --git a/sigmodr/widgets/TrainerUI.h b/sigmodr/widgets/TrainerUI.h
index dca03aa4..057e0436 100644
--- a/sigmodr/widgets/TrainerUI.h
+++ b/sigmodr/widgets/TrainerUI.h
@@ -18,13 +18,13 @@
#ifndef SIGMODRWIDGETS_TRAINERUI
#define SIGMODRWIDGETS_TRAINERUI
-// Form include
-#include "ui_trainer.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KComboBox;
+class KIntNumInput;
+class KLineEdit;
namespace Sigmod
{
class Trainer;
@@ -34,26 +34,35 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT TrainerUI : public ObjectUI, private Ui::formTrainer
+class SIGMODRWIDGETS_EXPORT TrainerUI : public ObjectUI
{
Q_OBJECT
public:
TrainerUI(Sigmod::Trainer* trainer, QWidget* parent);
- ~TrainerUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
- void on_varMoneyFactor_valueChanged(const int moneyFactor);
- void on_varSkin_currentIndexChanged(const int skin);
- void on_varDepth_valueChanged(const int depth);
- void on_varTeamIntel_activated(const int teamIntel);
- void on_varMoveIntel_activated(const int moveIntel);
- void on_varItemIntel_activated(const int itemIntel);
- void on_varAbilityIntel_activated(const int abilityIntel);
- void on_varStatIntel_activated(const int statIntel);
+ void nameChanged(const QString& name);
+ void moneyFactorChanged(const int moneyFactor);
+ void skinChanged(const int skin);
+ void depthChanged(const int depth);
+ void teamIntelChanged(const int teamIntel);
+ void moveIntelChanged(const int moveIntel);
+ void itemIntelChanged(const int itemIntel);
+ void abilityIntelChanged(const int abilityIntel);
+ void statIntelChanged(const int statIntel);
+ private:
+ KLineEdit* ui_name;
+ KIntNumInput* ui_moneyFactor;
+ KComboBox* ui_skin;
+ KIntNumInput* ui_depth;
+ KComboBox* ui_teamIntel;
+ KComboBox* ui_moveIntel;
+ KComboBox* ui_itemIntel;
+ KComboBox* ui_abilityIntel;
+ KComboBox* ui_statIntel;
private slots:
void initGui();
void refreshGui();
diff --git a/sigmodr/widgets/TypeUI.cpp b/sigmodr/widgets/TypeUI.cpp
index d51e34e9..966516f4 100644
--- a/sigmodr/widgets/TypeUI.cpp
+++ b/sigmodr/widgets/TypeUI.cpp
@@ -18,24 +18,41 @@
// Header include
#include "TypeUI.h"
+// Sigmodr widget includes
+#include "FractionWidget.h"
+
// Sigmod includes
#include <sigmod/Type.h>
+// KDE includes
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::TypeUI::TypeUI(Sigmod::Type* type, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(type, new Sigmod::Type(*type));
}
-Sigmodr::Widgets::TypeUI::~TypeUI()
+void Sigmodr::Widgets::TypeUI::initGui()
{
+ QFile file(":/gui/type.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_stab = formWidget->findChild<FractionWidget*>("varSTAB");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_stab, SIGNAL(valueChanged(Sigcore::Fraction)), this, SLOT(stabChanged(Sigcore::Fraction)));
}
void Sigmodr::Widgets::TypeUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Type*>(modified())->name());
- varSTAB->setValue(qobject_cast<Sigmod::Type*>(modified())->stab());
+ ui_name->setText(qobject_cast<Sigmod::Type*>(modified())->name());
+ ui_stab->setValue(qobject_cast<Sigmod::Type*>(modified())->stab());
}
void Sigmodr::Widgets::TypeUI::apply()
@@ -51,14 +68,14 @@ void Sigmodr::Widgets::TypeUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::TypeUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::TypeUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Type*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::TypeUI::on_varSTAB_valueChanged(const Sigcore::Fraction& stab)
+void Sigmodr::Widgets::TypeUI::stabChanged(const Sigcore::Fraction& stab)
{
qobject_cast<Sigmod::Type*>(modified())->setStab(stab);
}
diff --git a/sigmodr/widgets/TypeUI.h b/sigmodr/widgets/TypeUI.h
index 89b83304..bd3e92c3 100644
--- a/sigmodr/widgets/TypeUI.h
+++ b/sigmodr/widgets/TypeUI.h
@@ -18,13 +18,15 @@
#ifndef SIGMODRWIDGETS_TYPEUI
#define SIGMODRWIDGETS_TYPEUI
-// Form include
-#include "ui_type.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KLineEdit;
+namespace Sigcore
+{
+class Fraction;
+}
namespace Sigmod
{
class Type;
@@ -34,20 +36,25 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT TypeUI : public ObjectUI, private Ui::formType
+class FractionWidget;
+
+class SIGMODRWIDGETS_EXPORT TypeUI : public ObjectUI
{
Q_OBJECT
public:
TypeUI(Sigmod::Type* type, QWidget* parent);
- ~TypeUI();
public slots:
void apply();
void discard();
protected slots:
- void on_varName_textChanged(const QString& name);
- void on_varSTAB_valueChanged(const Sigcore::Fraction& stab);
+ void nameChanged(const QString& name);
+ void stabChanged(const Sigcore::Fraction& stab);
+ private:
+ KLineEdit* ui_name;
+ FractionWidget* ui_stab;
private slots:
+ void initGui();
void setGui();
};
}
diff --git a/sigmodr/widgets/WeatherUI.cpp b/sigmodr/widgets/WeatherUI.cpp
index 1b03281f..38ab41a8 100644
--- a/sigmodr/widgets/WeatherUI.cpp
+++ b/sigmodr/widgets/WeatherUI.cpp
@@ -18,24 +18,41 @@
// Header include
#include "WeatherUI.h"
+// Sigmodr widget includes
+#include "ScriptWidget.h"
+
// Sigmod includes
#include <sigmod/Weather.h>
+// KDE includes
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::WeatherUI::WeatherUI(Sigmod::Weather* weather, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(weather, new Sigmod::Weather(*weather));
}
-Sigmodr::Widgets::WeatherUI::~WeatherUI()
+void Sigmodr::Widgets::WeatherUI::initGui()
{
+ QFile file(":/gui/weather.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(scriptChanged(Sigcore::Script)), this, SLOT(scriptChanged(Sigcore::Script)));
}
void Sigmodr::Widgets::WeatherUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Weather*>(modified())->name());
- varScript->setValue(qobject_cast<Sigmod::Weather*>(modified())->script());
+ ui_name->setText(qobject_cast<Sigmod::Weather*>(modified())->name());
+ ui_script->setValue(qobject_cast<Sigmod::Weather*>(modified())->script());
}
void Sigmodr::Widgets::WeatherUI::apply()
@@ -51,14 +68,14 @@ void Sigmodr::Widgets::WeatherUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::WeatherUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::WeatherUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Weather*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::WeatherUI::on_varScript_valueChanged(const Sigcore::Script& script)
+void Sigmodr::Widgets::WeatherUI::scriptChanged(const Sigcore::Script& script)
{
qobject_cast<Sigmod::Weather*>(modified())->setScript(script);
}
diff --git a/sigmodr/widgets/WeatherUI.h b/sigmodr/widgets/WeatherUI.h
index 57bf90d4..c15ba75c 100644
--- a/sigmodr/widgets/WeatherUI.h
+++ b/sigmodr/widgets/WeatherUI.h
@@ -18,13 +18,15 @@
#ifndef SIGMODRWIDGETS_WEATHERUI
#define SIGMODRWIDGETS_WEATHERUI
-// Form include
-#include "ui_weather.h"
-
// Sigmodr widget includes
#include "ObjectUI.h"
// Forward declarations
+class KLineEdit;
+namespace Sigcore
+{
+class Script;
+}
namespace Sigmod
{
class Weather;
@@ -34,20 +36,25 @@ namespace Sigmodr
{
namespace Widgets
{
-class SIGMODRWIDGETS_EXPORT WeatherUI : public ObjectUI, private Ui::formWeather
+class ScriptWidget;
+
+class SIGMODRWIDGETS_EXPORT WeatherUI : public ObjectUI
{
Q_OBJECT
public:
WeatherUI(Sigmod::Weather* weather, QWidget* parent);
- ~WeatherUI();
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();
};
}