diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-24 03:02:23 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-24 03:02:23 -0500 |
| commit | 4453d587364e38c11f218c46db482f0b2ebe93ae (patch) | |
| tree | c1035338d94298316b2de0eb88e6f39ceef86210 | |
| parent | c076cd60d8dc8b4a8f9636e5b8ce828f9aee3f7c (diff) | |
| download | sigen-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.cpp | 60 | ||||
| -rw-r--r-- | sigmodr/widgets/AbilityUI.h | 34 | ||||
| -rw-r--r-- | sigmodr/widgets/FractionWidget.cpp | 41 | ||||
| -rw-r--r-- | sigmodr/widgets/FractionWidget.h | 19 | ||||
| -rw-r--r-- | sigmodr/widgets/ObjectUI.cpp | 4 | ||||
| -rw-r--r-- | sigmodr/widgets/ObjectUI.h | 2 | ||||
| -rw-r--r-- | sigmodr/widgets/ScriptWidget.cpp | 102 | ||||
| -rw-r--r-- | sigmodr/widgets/ScriptWidget.h | 17 | ||||
| -rw-r--r-- | sigmodr/widgets/TrainerUI.cpp | 117 | ||||
| -rw-r--r-- | sigmodr/widgets/TrainerUI.h | 37 | ||||
| -rw-r--r-- | sigmodr/widgets/TypeUI.cpp | 33 | ||||
| -rw-r--r-- | sigmodr/widgets/TypeUI.h | 21 | ||||
| -rw-r--r-- | sigmodr/widgets/WeatherUI.cpp | 33 | ||||
| -rw-r--r-- | sigmodr/widgets/WeatherUI.h | 21 |
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(); }; } |
