More cleaning

This commit is contained in:
James Grogan 2022-11-11 11:48:42 +00:00
parent 02ebb9a54b
commit 6adc441e6f
37 changed files with 213 additions and 181 deletions

View file

@ -1,26 +1,20 @@
#include "GuiApplication.h"
#include "Widget.h"
#include "UiInterfaceFactory.h"
#include "Window.h"
#include "TextElement.h"
#include "WindowManager.h"
#include "TextEditorView.h"
#include "AudioEditorView.h"
#include "ImageEditorView.h"
#include "WebClientView.h"
#include "TabbedPanelWidget.h"
#include "TopBar.h"
#include "StatusBar.h"
#include "HorizontalSpacer.h"
#include "DesktopManager.h"
#include "MainApplication.h"
#include "AbstractUiInterface.h"
#include "FileLogger.h"
GuiApplication::GuiApplication()
GuiApplication::GuiApplication(std::unique_ptr<CommandLineArgs> args)
: AbstractDesktopApp(),
mMainApplication(),
mDesktopManager(DesktopManager::Create())
mMainApplication(MainApplication::Create()),
mDesktopManager(DesktopManager::Create(this))
{
mMainApplication->initialize(args ? std::move(args) : CommandLineArgs::Create());
}
GuiApplication::~GuiApplication()
@ -28,61 +22,37 @@ GuiApplication::~GuiApplication()
}
void GuiApplication::SetMainApplication(MainApplicationPtr app)
AbstractApp* GuiApplication::getMainApplication() const
{
mMainApplication = app;
mDesktopManager->SetMainApp(app);
return mMainApplication.get();
}
void GuiApplication::SetUpWidget()
void GuiApplication::initializeViews()
{
auto mainWindow = mDesktopManager->GetWindowManager()->GetMainWindow();
mainWindow->SetSize(800, 600);
auto tabbedPanel = TabbedPanelWidget::Create();
auto textEditor = TextEditorView::Create();
auto path = mMainApplication->GetCommandLineArgs()->getLaunchPath();
path /= "out.txt";
textEditor->GetController()->SetSavePath(path);
textEditor->GetController()->SetLoadPath(path);
textEditor->Initialize();
tabbedPanel->AddPanel(std::move(textEditor), "Text Editor");
auto audioEditor = AudioEditorView::Create();
tabbedPanel->AddPanel(std::move(audioEditor), "Audio Editor");
auto imageEditor = ImageEditorView::Create();
tabbedPanel->AddPanel(std::move(imageEditor), "Image Editor");
auto webClient = WebClientView::Create();
tabbedPanel->AddPanel(std::move(webClient), "Web Client");
auto topBar = TopBar::Create();
auto statusBar = StatusBar::Create();
auto horizontalSpace = HorizontalSpacer::Create();
horizontalSpace->AddWidgetWithScale(std::move(topBar), 1);
horizontalSpace->AddWidgetWithScale(std::move(tabbedPanel), 20);
horizontalSpace->AddWidgetWithScale(std::move(statusBar), 1);
mainWindow->AddWidget(std::move(horizontalSpace));
}
void GuiApplication::Run()
void GuiApplication::setUiInterfaceBackend(UiInterfaceFactory::Backend backend)
{
mUiInterfaceBackend = backend;
}
void GuiApplication::run()
{
auto mainWindow = mDesktopManager->GetWindowManager()->GetMainWindow();
SetUpWidget();
initializeViews();
MLOG_INFO("Creating Window Interface");
auto window_interface = UiInterfaceFactory::create(mDesktopManager.get());
mUiInterface = UiInterfaceFactory::create(mDesktopManager.get(), mUiInterfaceBackend);
window_interface->initialize();
window_interface->addWindow(mainWindow);
window_interface->showWindow(mainWindow);
window_interface->loop();
mUiInterface->initialize();
mUiInterface->addWindow(mainWindow);
mUiInterface->showWindow(mainWindow);
mUiInterface->loop();
window_interface->shutDown();
mUiInterface->shutDown();
MLOG_INFO("Window Interface Shut Down");
mMainApplication->ShutDown();
}