#include "component/ComponentManager.h" #include "component/controller/NetworkFactory.h" #include "component/controller/Controller.h" #include "component/view/CodeView.h" #include "component/view/CompositeView.h" #include "component/view/DialogView.h" #include "component/view/GraphView.h" #include "component/view/LogView.h" #include "component/view/RefreshView.h" #include "component/view/SearchView.h" #include "component/view/TabbedView.h" #include "component/view/UndoRedoView.h" #include "component/view/ViewFactory.h" std::shared_ptr ComponentManager::create(ViewFactory* viewFactory, StorageAccess* storageAccess) { std::shared_ptr ptr(new ComponentManager()); ptr->m_componentFactory = ComponentFactory::create(viewFactory, storageAccess); return ptr; } ComponentManager::~ComponentManager() { } void ComponentManager::setup(ViewLayout* viewLayout) { std::shared_ptr compositeView = m_componentFactory->getViewFactory()->createCompositeView(viewLayout, CompositeView::DIRECTION_HORIZONTAL, "Search"); m_compositeViews.push_back(compositeView); std::shared_ptr undoRedoComponent = m_componentFactory->createUndoRedoComponent(compositeView.get()); m_components.push_back(undoRedoComponent); std::shared_ptr refreshComponent = m_componentFactory->createRefreshComponent(compositeView.get()); m_components.push_back(refreshComponent); std::shared_ptr searchComponent = m_componentFactory->createSearchComponent(compositeView.get()); m_components.push_back(searchComponent); std::shared_ptr bookmarkComponent = m_componentFactory->createBookmarkComponent(compositeView.get()); m_components.push_back(bookmarkComponent); std::shared_ptr graphComponent = m_componentFactory->createGraphComponent(viewLayout); m_components.push_back(graphComponent); std::shared_ptr codeComponent = m_componentFactory->createCodeComponent(viewLayout); m_components.push_back(codeComponent); std::shared_ptr statusBarComponent = m_componentFactory->createStatusBarComponent(viewLayout); m_components.push_back(statusBarComponent); std::shared_ptr activationComponent = m_componentFactory->createActivationComponent(); m_components.push_back(activationComponent); m_dialogView = m_componentFactory->getViewFactory()->createDialogView(viewLayout, m_componentFactory->getStorageAccess()); std::shared_ptr tabbedView = m_componentFactory->getViewFactory()->createTabbedView(viewLayout, "Status"); m_tabbedViews.push_back(tabbedView); // std::shared_ptr logComponent = m_componentFactory->createLogComponent(tabbedView.get()); // m_components.push_back(logComponent); std::shared_ptr statusComponent = m_componentFactory->createStatusComponent(tabbedView.get()); m_components.push_back(statusComponent); std::shared_ptr errorComponent = m_componentFactory->createErrorComponent(tabbedView.get()); m_components.push_back(errorComponent); } void ComponentManager::clearComponents() { for (std::shared_ptr component : m_components) { Controller* controller = component->getController(); if (controller) { controller->clear(); } } } void ComponentManager::refreshViews() { for (std::shared_ptr component : m_components) { View* view = component->getView(); if (view) { view->refreshView(); } } for (std::shared_ptr view : m_compositeViews) { view->refreshView(); } for (std::shared_ptr view : m_tabbedViews) { view->refreshView(); } } std::shared_ptr ComponentManager::getDialogView() const { return m_dialogView; } ComponentManager::ComponentManager() { }