#include "GuiApplication.h" #include "UiInterfaceFactory.h" #include "Window.h" #include "WindowManager.h" #include "DesktopManager.h" #include "FontsManager.h" #include "MainApplication.h" #include "AbstractUiInterface.h" #include "Widget.h" #include "FileLogger.h" GuiApplication::GuiApplication(std::unique_ptr args) : AbstractDesktopApp(), mMainApplication(MainApplication::Create()), mDesktopManager(DesktopManager::Create(this)) { mMainApplication->initialize(args ? std::move(args) : CommandLineArgs::Create()); } GuiApplication::~GuiApplication() { } AbstractApp* GuiApplication::getMainApplication() const { return mMainApplication.get(); } void GuiApplication::initializeViews() { mDesktopManager->getWindowManager()->getMainWindow()->setSize(800, 600); } void GuiApplication::setUiInterfaceBackend(UiInterfaceFactory::Backend backend) { mUiInterfaceBackend = backend; } void GuiApplication::run() { initializeViews(); MLOG_INFO("Creating Window Interface"); mUiInterface = UiInterfaceFactory::create(mDesktopManager.get(), mUiInterfaceBackend); mUiInterface->loop(); MLOG_INFO("Window Interface Shut Down"); mMainApplication->shutDown(); }