Skip to content

Commit 0a7bf0f

Browse files
committed
Start on error message display
1 parent be59607 commit 0a7bf0f

File tree

6 files changed

+33
-10
lines changed

6 files changed

+33
-10
lines changed

src/Interface/Application/ModuleLogWindow.cc

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,17 @@
3030
#include <iostream>
3131
#include <Interface/Application/ModuleLogWindow.h>
3232
#include <Interface/Application/SCIRunMainWindow.h>
33+
#include <Interface/Application/NetworkEditor.h>
3334
#include <Interface/Application/DialogErrorControl.h>
3435
#include <Core/Logging/Log.h>
3536

3637
using namespace SCIRun::Gui;
3738
using namespace SCIRun::Dataflow::Networks;
3839
using namespace SCIRun::Core::Logging;
3940

40-
ModuleLogWindow::ModuleLogWindow(const QString& moduleName, boost::shared_ptr<SCIRun::Gui::DialogErrorControl> dialogErrorControl, QWidget* parent) : QDialog(parent), moduleName_(moduleName),
41-
dialogErrorControl_(dialogErrorControl)
41+
ModuleLogWindow::ModuleLogWindow(const QString& moduleName, ModuleErrorDisplayer* displayer, boost::shared_ptr<SCIRun::Gui::DialogErrorControl> dialogErrorControl, QWidget* parent) : QDialog(parent), moduleName_(moduleName),
42+
displayer_(displayer),
43+
dialogErrorControl_(dialogErrorControl)
4244
{
4345
setupUi(this);
4446
setModal(false);
@@ -67,6 +69,7 @@ void ModuleLogWindow::appendMessage(const QString& message, const QColor& color
6769
void ModuleLogWindow::popupMessageBox(const QString& message)
6870
{
6971
dialogErrorControl_->increaseCounter();
72+
auto errorText = "Error in " + moduleName_ + "\n" + message;
7073
if (dialogErrorControl_->showDialog())
7174
{
7275
QMessageBox* msgBox = new QMessageBox(parentWidget());
@@ -76,10 +79,13 @@ void ModuleLogWindow::popupMessageBox(const QString& message)
7679
auto showButton = msgBox->addButton("Show Module", QMessageBox::ApplyRole);
7780
connect(showButton, SIGNAL(clicked()), this, SIGNAL(requestModuleVisible()));
7881
msgBox->setWindowTitle(windowTitle());
79-
msgBox->setText("Error in " + moduleName_ + "\n" + message);
82+
msgBox->setText(errorText);
8083
msgBox->setModal(false);
8184
msgBox->show();
8285
}
86+
87+
//TODO: need another limit on these?
88+
displayer_->displayError(errorText);
8389
}
8490

8591
ModuleLogger::ModuleLogger(ModuleLogWindow* window) : moduleName_(window->name().toStdString())

src/Interface/Application/ModuleLogWindow.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,14 @@ namespace SCIRun {
3939
namespace Gui {
4040

4141
class DialogErrorControl;
42+
class ModuleErrorDisplayer;
4243

4344
class ModuleLogWindow : public QDialog, public Ui::ModuleLogWindow
4445
{
4546
Q_OBJECT
4647

4748
public:
48-
explicit ModuleLogWindow(const QString& moduleName, boost::shared_ptr<DialogErrorControl> dialogErrorControl, QWidget* parent = 0);
49+
explicit ModuleLogWindow(const QString& moduleName, ModuleErrorDisplayer* displayer, boost::shared_ptr<DialogErrorControl> dialogErrorControl, QWidget* parent = 0);
4950
QString name() const { return moduleName_; }
5051
public Q_SLOTS:
5152
void appendMessage(const QString& message, const QColor& color = Qt::black);
@@ -57,6 +58,7 @@ public Q_SLOTS:
5758

5859
private:
5960
QString moduleName_;
61+
ModuleErrorDisplayer* displayer_;
6062
boost::shared_ptr<DialogErrorControl> dialogErrorControl_;
6163
};
6264

src/Interface/Application/ModuleWidget.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ int ModuleWidget::buildDisplay(ModuleWidgetDisplayBase* display, const QString&
532532

533533
void ModuleWidget::setupLogging()
534534
{
535-
logWindow_ = new ModuleLogWindow(QString::fromStdString(moduleId_), dialogErrorControl_, SCIRunMainWindow::Instance());
535+
logWindow_ = new ModuleLogWindow(QString::fromStdString(moduleId_), editor_, dialogErrorControl_, SCIRunMainWindow::Instance());
536536
connect(actionsMenu_->getAction("Show Log"), SIGNAL(triggered()), logWindow_, SLOT(show()));
537537
connect(actionsMenu_->getAction("Show Log"), SIGNAL(triggered()), logWindow_, SLOT(raise()));
538538
connect(logWindow_, SIGNAL(messageReceived(const QColor&)), this, SLOT(setLogButtonColor(const QColor&)));

src/Interface/Application/NetworkEditor.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,6 +1208,12 @@ void NetworkEditor::highlightTaggedItem(QGraphicsItem* item, int tagValue)
12081208
}
12091209
}
12101210

1211+
void NetworkEditor::displayError(const QString& msg) const
1212+
{
1213+
qDebug() << "displaying" << msg;
1214+
auto errorItem = scene()->addText(msg);
1215+
}
1216+
12111217
NetworkEditor::~NetworkEditor()
12121218
{
12131219
Q_FOREACH(QGraphicsItem* item, scene_->items())

src/Interface/Application/NetworkEditor.h

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,13 @@ namespace Gui {
7070
virtual NotePosition position() const = 0;
7171
};
7272

73+
class ModuleErrorDisplayer
74+
{
75+
public:
76+
virtual ~ModuleErrorDisplayer() {}
77+
virtual void displayError(const QString& msg) const = 0;
78+
};
79+
7380
class ModuleEventProxy : public QObject
7481
{
7582
Q_OBJECT
@@ -108,7 +115,8 @@ namespace Gui {
108115
public SCIRun::Dataflow::Networks::ExecutableLookup,
109116
public SCIRun::Dataflow::Networks::NetworkEditorSerializationManager,
110117
public SCIRun::Dataflow::Engine::NetworkIOInterface<SCIRun::Dataflow::Networks::NetworkFileHandle>,
111-
public SCIRun::Dataflow::Networks::ConnectionMakerService
118+
public SCIRun::Dataflow::Networks::ConnectionMakerService,
119+
public ModuleErrorDisplayer
112120
{
113121
Q_OBJECT
114122

@@ -166,6 +174,8 @@ namespace Gui {
166174
void tagLayer(bool active, int tag);
167175
bool tagLayerActive() const { return tagLayerActive_; }
168176

177+
virtual void displayError(const QString& msg) const override;
178+
169179
protected:
170180
virtual void dropEvent(QDropEvent* event) override;
171181
virtual void dragEnterEvent(QDragEnterEvent* event) override;

src/Interface/Application/SCIRunMainWindow.cc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,10 @@ SCIRunMainWindow::SCIRunMainWindow() : firstTimePythonShown_(true), returnCode_(
118118
menubar_->setStyleSheet("QMenuBar::item::selected{background-color : rgb(66, 66, 69); } QMenuBar::item::!selected{ background-color : rgb(66, 66, 69); } ");
119119
dialogErrorControl_.reset(new DialogErrorControl(this));
120120
setupTagManagerWindow();
121+
tagManagerWindow_->hide();
121122
setupPreferencesWindow();
122123
setupNetworkEditor();
123-
124+
124125
setTipsAndWhatsThis();
125126

126127
connect(actionExecute_All_, SIGNAL(triggered()), this, SLOT(executeAll()));
@@ -240,6 +241,7 @@ SCIRunMainWindow::SCIRunMainWindow() : firstTimePythonShown_(true), returnCode_(
240241
}
241242

242243
setupProvenanceWindow();
244+
provenanceWindow_->hide();
243245
setupDevConsole();
244246
setupPythonConsole();
245247

@@ -341,9 +343,6 @@ SCIRunMainWindow::SCIRunMainWindow() : firstTimePythonShown_(true), returnCode_(
341343
"QHeaderView::section { background: rgb(66,66,69);} "
342344
);
343345

344-
provenanceWindow_->hide();
345-
tagManagerWindow_->hide();
346-
347346
hideNonfunctioningWidgets();
348347

349348
statusBar()->addPermanentWidget(new QLabel("Version: " + QString::fromStdString(VersionInfo::GIT_VERSION_TAG)));

0 commit comments

Comments
 (0)