summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/Controllers')
-rw-r--r--Swift/Controllers/UIInterfaces/XMLConsoleWidget.h3
-rw-r--r--Swift/Controllers/XMLConsoleController.cpp6
2 files changed, 7 insertions, 2 deletions
diff --git a/Swift/Controllers/UIInterfaces/XMLConsoleWidget.h b/Swift/Controllers/UIInterfaces/XMLConsoleWidget.h
index 69628df..efde1a2 100644
--- a/Swift/Controllers/UIInterfaces/XMLConsoleWidget.h
+++ b/Swift/Controllers/UIInterfaces/XMLConsoleWidget.h
@@ -1,7 +1,8 @@
#pragma once
namespace Swift {
class XMLConsoleWidget {
-
+ public:
+ virtual void show() = 0;
};
}
diff --git a/Swift/Controllers/XMLConsoleController.cpp b/Swift/Controllers/XMLConsoleController.cpp
index 8bd79ed..810e8a6 100644
--- a/Swift/Controllers/XMLConsoleController.cpp
+++ b/Swift/Controllers/XMLConsoleController.cpp
@@ -6,16 +6,20 @@
namespace Swift {
XMLConsoleController::XMLConsoleController(UIEventStream* uiEventStream, XMLConsoleWidgetFactory* xmlConsoleWidgetFactory) {
uiEventStream_ = uiEventStream;
xmlConsoleWidgetFactory_ = xmlConsoleWidgetFactory;
uiEventStream_->onUIEvent.connect(boost::bind(&XMLConsoleController::handleUIEvent, this, _1));
+ xmlConsoleWidget_ = NULL;
}
void XMLConsoleController::handleUIEvent(boost::shared_ptr<UIEvent> rawEvent) {
boost::shared_ptr<RequestXMLConsoleUIEvent> event = boost::dynamic_pointer_cast<RequestXMLConsoleUIEvent>(rawEvent);
if (event != NULL) {
- xmlConsoleWidget_ = xmlConsoleWidgetFactory_->createXMLConsoleWidget();
+ if (xmlConsoleWidget_ == NULL) {
+ xmlConsoleWidget_ = xmlConsoleWidgetFactory_->createXMLConsoleWidget();
+ }
+ xmlConsoleWidget_->show();
}
}
}