#include "component/ComponentFactory.h" #include "component/Component.h" #include "component/controller/CodeController.h" #include "component/controller/FeatureController.h" #include "component/controller/GraphController.h" #include "component/controller/RefreshController.h" #include "component/controller/SearchController.h" #include "component/controller/StatusBarController.h" #include "component/controller/UndoRedoController.h" #include "component/view/CodeView.h" #include "component/view/GraphView.h" #include "component/view/RefreshView.h" #include "component/view/SearchView.h" #include "component/view/StatusBarView.h" #include "component/view/UndoRedoView.h" #include "component/view/ViewFactory.h" std::shared_ptr ComponentFactory::create(ViewFactory* viewFactory, StorageAccess* storageAccess) { std::shared_ptr ptr(new ComponentFactory()); ptr->m_viewFactory = viewFactory; ptr->m_storageAccess = storageAccess; return ptr; } ComponentFactory::~ComponentFactory() { } ViewFactory* ComponentFactory::getViewFactory() const { return m_viewFactory; } std::shared_ptr ComponentFactory::createCodeComponent(ViewLayout* viewLayout) { std::shared_ptr view = m_viewFactory->createCodeView(viewLayout); std::shared_ptr controller = std::make_shared(m_storageAccess); return std::make_shared(view, controller); } std::shared_ptr ComponentFactory::createFeatureComponent() { std::shared_ptr controller = std::make_shared(m_storageAccess); return std::make_shared(nullptr, controller); } std::shared_ptr ComponentFactory::createGraphComponent(ViewLayout* viewLayout) { std::shared_ptr view = m_viewFactory->createGraphView(viewLayout); std::shared_ptr controller = std::make_shared(m_storageAccess); return std::make_shared(view, controller); } std::shared_ptr ComponentFactory::createRefreshComponent(ViewLayout* viewLayout) { std::shared_ptr view = m_viewFactory->createRefreshView(viewLayout); std::shared_ptr controller = std::make_shared(); return std::make_shared(view, controller); } std::shared_ptr ComponentFactory::createSearchComponent(ViewLayout* viewLayout) { std::shared_ptr view = m_viewFactory->createSearchView(viewLayout); std::shared_ptr controller = std::make_shared(m_storageAccess); return std::make_shared(view, controller); } std::shared_ptr ComponentFactory::createUndoRedoComponent(ViewLayout* viewLayout) { std::shared_ptr view = m_viewFactory->createUndoRedoView(viewLayout); std::shared_ptr controller = std::make_shared(m_storageAccess); return std::make_shared(view, controller); } std::shared_ptr ComponentFactory::createStatusBarComponent(ViewLayout* viewLayout) { std::shared_ptr view = m_viewFactory->createStatusBarView(viewLayout); std::shared_ptr controller = std::make_shared(m_storageAccess); return std::make_shared(view, controller); } ComponentFactory::ComponentFactory() { }