diff options
| -rw-r--r-- | Swift/Controllers/UIInterfaces/XMLConsoleWidget.h | 3 | ||||
| -rw-r--r-- | Swift/Controllers/XMLConsoleController.cpp | 6 | ||||
| -rw-r--r-- | Swift/QtUI/QtXMLConsoleWidget.cpp | 22 | ||||
| -rw-r--r-- | Swift/QtUI/QtXMLConsoleWidget.h | 6 | 
4 files changed, 35 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 @@ -2,6 +2,7 @@  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 @@ -9,12 +9,16 @@ XMLConsoleController::XMLConsoleController(UIEventStream* uiEventStream, XMLCons  	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();  	}  } diff --git a/Swift/QtUI/QtXMLConsoleWidget.cpp b/Swift/QtUI/QtXMLConsoleWidget.cpp index d2ebb06..7553d06 100644 --- a/Swift/QtUI/QtXMLConsoleWidget.cpp +++ b/Swift/QtUI/QtXMLConsoleWidget.cpp @@ -1,7 +1,29 @@  #include "QtXMLConsoleWidget.h" +#include <QCloseEvent> +  namespace Swift {  QtXMLConsoleWidget::QtXMLConsoleWidget() {  } + +void QtXMLConsoleWidget::showEvent(QShowEvent* event) { +	emit windowOpening(); +	QWidget::showEvent(event); +} + +void QtXMLConsoleWidget::show() { +	QWidget::show(); +	emit windowOpening(); +} + +void QtXMLConsoleWidget::activate() { +	emit wantsToActivate(); +} + +void QtXMLConsoleWidget::closeEvent(QCloseEvent* event) { +	emit windowClosing(); +	event->accept(); +} +  } diff --git a/Swift/QtUI/QtXMLConsoleWidget.h b/Swift/QtUI/QtXMLConsoleWidget.h index f545e18..50b53f2 100644 --- a/Swift/QtUI/QtXMLConsoleWidget.h +++ b/Swift/QtUI/QtXMLConsoleWidget.h @@ -8,5 +8,11 @@ namespace Swift {  		Q_OBJECT  		public:  			QtXMLConsoleWidget(); +			void show(); +			void activate(); +		protected slots: +			void closeEvent(QCloseEvent* event); +		protected: +			void showEvent(QShowEvent* event);  	};  } | 
 Swift
 Swift