/* * 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 rawEvent) { boost::shared_ptr event = boost::dynamic_pointer_cast(rawEvent); if (event != NULL) { if (historyWindow_ == NULL) { historyWindow_ = historyWindowFactory_->createHistoryWindow(); } historyWindow_->show(); historyWindow_->activate(); } } }