diff options
author | Catalin Badea <catalin.badea392@gmail.com> | 2012-05-24 16:29:25 (GMT) |
---|---|---|
committer | Catalin Badea <catalin.badea392@gmail.com> | 2012-06-19 20:21:53 (GMT) |
commit | 250ba9152e6b09e1654e18040cffa0d1c31434ec (patch) | |
tree | 8ad0a61f60705a4ea59bb8d75bf83fc0d545986f /Swift/Controllers/HistoryController.cpp | |
parent | 6080dd4915801b45598268c805b62aa6c723a3a3 (diff) | |
download | swift-contrib-250ba9152e6b09e1654e18040cffa0d1c31434ec.zip swift-contrib-250ba9152e6b09e1654e18040cffa0d1c31434ec.tar.bz2 |
Added History window based code: controller, events, interface and menu entry.
Diffstat (limited to 'Swift/Controllers/HistoryController.cpp')
-rw-r--r-- | Swift/Controllers/HistoryController.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Swift/Controllers/HistoryController.cpp b/Swift/Controllers/HistoryController.cpp new file mode 100644 index 0000000..2aa1b6e --- /dev/null +++ b/Swift/Controllers/HistoryController.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2012 Catalin Badea + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include "Swift/Controllers/HistoryController.h" + +#include "Swift/Controllers/UIInterfaces/HistoryWindowFactory.h" +#include "Swift/Controllers/UIEvents/RequestHistoryUIEvent.h" + +namespace Swift { + +HistoryController::HistoryController(UIEventStream* uiEventStream, HistoryWindowFactory* historyWindowFactory) : historyWindowFactory_(historyWindowFactory), historyWindow_(NULL) { + uiEventStream->onUIEvent.connect(boost::bind(&HistoryController::handleUIEvent, this, _1)); +} + +HistoryController::~HistoryController() { + delete historyWindow_; +} + +void HistoryController::handleUIEvent(boost::shared_ptr<UIEvent> rawEvent) { + boost::shared_ptr<RequestHistoryUIEvent> event = boost::dynamic_pointer_cast<RequestHistoryUIEvent>(rawEvent); + if (event != NULL) { + if (historyWindow_ == NULL) { + historyWindow_ = historyWindowFactory_->createHistoryWindow(); + } + historyWindow_->show(); + historyWindow_->activate(); + } +} + +} |