History

Style

Thijs Wenker committed 12 years ago

Commit c1ed38f1 parent 0e28ff26 files · +147 −131Browse files

Showing the changes to interface/src/ui/ScriptEditorWidget.cpp (1 of 6 files). Show all

Unified · Split

interface/src/ui/ScriptEditorWidget.cpp+38−36
@@ -27,40 +27,39 @@ · 26 unmodified lines
27#include "ScriptHighlighting.h"27#include "ScriptHighlighting.h"
28 28
29ScriptEditorWidget::ScriptEditorWidget() :29ScriptEditorWidget::ScriptEditorWidget() :
30 ui(new Ui::ScriptEditorWidget)30 _scriptEditorWidgetUI(new Ui::ScriptEditorWidget),
31 _scriptEngine(NULL)
31{32{
32 ui->setupUi(this);33 _scriptEditorWidgetUI->setupUi(this);
33 34
34 scriptEngine = NULL;35 connect(_scriptEditorWidgetUI->scriptEdit->document(), SIGNAL(modificationChanged(bool)), this, SIGNAL(scriptModified()));
35 36 connect(_scriptEditorWidgetUI->scriptEdit->document(), SIGNAL(contentsChanged()), this, SLOT(onScriptModified()));
36 connect(ui->scriptEdit->document(), SIGNAL(modificationChanged(bool)), this, SIGNAL(scriptModified()));
37 connect(ui->scriptEdit->document(), SIGNAL(contentsChanged()), this, SLOT(onScriptModified()));
38 37
39 // remove the title bar (see the Qt docs on setTitleBarWidget)38 // remove the title bar (see the Qt docs on setTitleBarWidget)
40 setTitleBarWidget(new QWidget());39 setTitleBarWidget(new QWidget());
41 QFontMetrics fm(this->ui->scriptEdit->font());40 QFontMetrics fm(_scriptEditorWidgetUI->scriptEdit->font());
42 this->ui->scriptEdit->setTabStopWidth(fm.width('0') * 4);41 _scriptEditorWidgetUI->scriptEdit->setTabStopWidth(fm.width('0') * 4);
43 ScriptHighlighting* highlighting = new ScriptHighlighting(this->ui->scriptEdit->document());42 ScriptHighlighting* highlighting = new ScriptHighlighting(_scriptEditorWidgetUI->scriptEdit->document());
44 QTimer::singleShot(0, this->ui->scriptEdit, SLOT(setFocus()));43 QTimer::singleShot(0, _scriptEditorWidgetUI->scriptEdit, SLOT(setFocus()));
45}44}
46 45
47ScriptEditorWidget::~ScriptEditorWidget() {46ScriptEditorWidget::~ScriptEditorWidget() {
48 delete ui;47 delete _scriptEditorWidgetUI;
49}48}
50 49
51void ScriptEditorWidget::onScriptModified() {50void ScriptEditorWidget::onScriptModified() {
52 if(ui->onTheFlyCheckBox->isChecked() && isRunning()) {51 if(_scriptEditorWidgetUI->onTheFlyCheckBox->isChecked() && isRunning()) {
53 setRunning(false);52 setRunning(false);
54 setRunning(true);53 setRunning(true);
55 }54 }
56}55}
57 56
58bool ScriptEditorWidget::isModified() {57bool ScriptEditorWidget::isModified() {
59 return ui->scriptEdit->document()->isModified();58 return _scriptEditorWidgetUI->scriptEdit->document()->isModified();
60}59}
61 60
62bool ScriptEditorWidget::isRunning() {61bool ScriptEditorWidget::isRunning() {
63 return (scriptEngine != NULL) ? scriptEngine->isRunning() : false;62 return (_scriptEngine != NULL) ? _scriptEngine->isRunning() : false;
64}63}
65 64
66bool ScriptEditorWidget::setRunning(bool run) {65bool ScriptEditorWidget::setRunning(bool run) {
@@ -72,15 +71,15 @@ bool ScriptEditorWidget::setRunning(bool run) { · 5 unmodified lines
72 disconnect(this, SLOT(onScriptPrint(const QString&)));71 disconnect(this, SLOT(onScriptPrint(const QString&)));
73 72
74 if (run) {73 if (run) {
75 scriptEngine = Application::getInstance()->loadScript(this->currentScript, false);74 _scriptEngine = Application::getInstance()->loadScript(_currentScript, false);
76 connect(scriptEngine, SIGNAL(runningStateChanged()), this, SIGNAL(runningStateChanged()));75 connect(_scriptEngine, SIGNAL(runningStateChanged()), this, SIGNAL(runningStateChanged()));
77 76
78 // Make new connections.77 // Make new connections.
79 connect(scriptEngine, SIGNAL(errorMessage(const QString&)), this, SLOT(onScriptError(const QString&)));78 connect(_scriptEngine, SIGNAL(errorMessage(const QString&)), this, SLOT(onScriptError(const QString&)));
80 connect(scriptEngine, SIGNAL(printedMessage(const QString&)), this, SLOT(onScriptPrint(const QString&)));79 connect(_scriptEngine, SIGNAL(printedMessage(const QString&)), this, SLOT(onScriptPrint(const QString&)));
81 } else {80 } else {
82 Application::getInstance()->stopScript(this->currentScript);81 Application::getInstance()->stopScript(_currentScript);
83 scriptEngine = NULL;82 _scriptEngine = NULL;
84 }83 }
85 return true;84 return true;
86}85}
@@ -88,18 +87,19 @@ bool ScriptEditorWidget::setRunning(bool run) { · 1 unmodified line
88bool ScriptEditorWidget::saveFile(const QString &scriptPath) {87bool ScriptEditorWidget::saveFile(const QString &scriptPath) {
89 QFile file(scriptPath);88 QFile file(scriptPath);
90 if (!file.open(QFile::WriteOnly | QFile::Text)) {89 if (!file.open(QFile::WriteOnly | QFile::Text)) {
91 QMessageBox::warning(this, tr("Interface"), tr("Cannot write script %1:\n%2.").arg(scriptPath).arg(file.errorString()));90 QMessageBox::warning(this, tr("Interface"), tr("Cannot write script %1:\n%2.").arg(scriptPath)
91 .arg(file.errorString()));
92 return false;92 return false;
93 }93 }
94 94
95 QTextStream out(&file);95 QTextStream out(&file);
96 out << ui->scriptEdit->toPlainText();96 out << _scriptEditorWidgetUI->scriptEdit->toPlainText();
97 97
98 setScriptFile(scriptPath);98 setScriptFile(scriptPath);
99 return true;99 return true;
100}100}
101 101
102void ScriptEditorWidget::loadFile(const QString &scriptPath) {102void ScriptEditorWidget::loadFile(const QString& scriptPath) {
103 QFile file(scriptPath);103 QFile file(scriptPath);
104 if (!file.open(QFile::ReadOnly | QFile::Text)) {104 if (!file.open(QFile::ReadOnly | QFile::Text)) {
105 QMessageBox::warning(this, tr("Interface"), tr("Cannot read script %1:\n%2.").arg(scriptPath).arg(file.errorString()));105 QMessageBox::warning(this, tr("Interface"), tr("Cannot read script %1:\n%2.").arg(scriptPath).arg(file.errorString()));
@@ -107,23 +107,23 @@ void ScriptEditorWidget::loadFile(const QString &scriptPath) { · 1 unmodified line
107 }107 }
108 108
109 QTextStream in(&file);109 QTextStream in(&file);
110 ui->scriptEdit->setPlainText(in.readAll());110 _scriptEditorWidgetUI->scriptEdit->setPlainText(in.readAll());
111 111
112 setScriptFile(scriptPath);112 setScriptFile(scriptPath);
113 113
114 disconnect(this, SLOT(onScriptError(const QString&)));114 disconnect(this, SLOT(onScriptError(const QString&)));
115 disconnect(this, SLOT(onScriptPrint(const QString&)));115 disconnect(this, SLOT(onScriptPrint(const QString&)));
116 116
117 scriptEngine = Application::getInstance()->getScriptEngine(scriptPath);117 _scriptEngine = Application::getInstance()->getScriptEngine(scriptPath);
118 if (scriptEngine != NULL) {118 if (_scriptEngine != NULL) {
119 connect(scriptEngine, SIGNAL(runningStateChanged()), this, SIGNAL(runningStateChanged()));119 connect(_scriptEngine, SIGNAL(runningStateChanged()), this, SIGNAL(runningStateChanged()));
120 connect(scriptEngine, SIGNAL(errorMessage(const QString&)), this, SLOT(onScriptError(const QString&)));120 connect(_scriptEngine, SIGNAL(errorMessage(const QString&)), this, SLOT(onScriptError(const QString&)));
121 connect(scriptEngine, SIGNAL(printedMessage(const QString&)), this, SLOT(onScriptPrint(const QString&)));121 connect(_scriptEngine, SIGNAL(printedMessage(const QString&)), this, SLOT(onScriptPrint(const QString&)));
122 }122 }
123}123}
124 124
125bool ScriptEditorWidget::save() {125bool ScriptEditorWidget::save() {
126 return currentScript.isEmpty() ? saveAs() : saveFile(currentScript);126 return _currentScript.isEmpty() ? saveAs() : saveFile(_currentScript);
127}127}
128 128
129bool ScriptEditorWidget::saveAs() {129bool ScriptEditorWidget::saveAs() {
@@ -132,25 +132,27 @@ bool ScriptEditorWidget::saveAs() { · 2 unmodified lines
132}132}
133 133
134void ScriptEditorWidget::setScriptFile(const QString& scriptPath) {134void ScriptEditorWidget::setScriptFile(const QString& scriptPath) {
135 currentScript = scriptPath;135 _currentScript = scriptPath;
136 ui->scriptEdit->document()->setModified(false);136 _scriptEditorWidgetUI->scriptEdit->document()->setModified(false);
137 setWindowModified(false);137 setWindowModified(false);
138 138
139 emit scriptnameChanged();139 emit scriptnameChanged();
140}140}
141 141
142bool ScriptEditorWidget::questionSave() {142bool ScriptEditorWidget::questionSave() {
143 if (ui->scriptEdit->document()->isModified()) {143 if (_scriptEditorWidgetUI->scriptEdit->document()->isModified()) {
144 QMessageBox::StandardButton button = QMessageBox::warning(this, tr("Interface"), tr("The script has been modified.\nDo you want to save your changes?"), QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Save);144 QMessageBox::StandardButton button = QMessageBox::warning(this, tr("Interface"),
145 tr("The script has been modified.\nDo you want to save your changes?"), QMessageBox::Save | QMessageBox::Discard |
146 QMessageBox::Cancel, QMessageBox::Save);
145 return button == QMessageBox::Save ? save() : (button == QMessageBox::Cancel ? false : true);147 return button == QMessageBox::Save ? save() : (button == QMessageBox::Cancel ? false : true);
146 }148 }
147 return true;149 return true;
148}150}
149 151
150void ScriptEditorWidget::onScriptError(const QString& message) {152void ScriptEditorWidget::onScriptError(const QString& message) {
151 ui->debugText->appendPlainText("ERROR: "+ message);153 _scriptEditorWidgetUI->debugText->appendPlainText("ERROR: " + message);
152}154}
153 155
154void ScriptEditorWidget::onScriptPrint(const QString& message) {156void ScriptEditorWidget::onScriptPrint(const QString& message) {
155 ui->debugText->appendPlainText("> "+message);157 _scriptEditorWidgetUI->debugText->appendPlainText("> " + message);
156}158}