Initial commit.

This commit is contained in:
jmsgrogan 2020-05-02 08:31:03 +01:00
commit 59c6161fdb
134 changed files with 4751 additions and 0 deletions

10
src/client/CMakeLists.txt Normal file
View file

@ -0,0 +1,10 @@
list(APPEND client_LIB_INCLUDES GuiApplication.cpp)
add_library(client SHARED ${client_LIB_INCLUDES})
target_link_libraries(client ui_elements windows core console database geometry)
target_include_directories(client PUBLIC
"${PROJECT_SOURCE_DIR}/src/console"
"${PROJECT_SOURCE_DIR}/src/ui_elements/widgets"
)

View file

@ -0,0 +1,70 @@
#include "GuiApplication.h"
#include <iostream>
#include "Widget.h"
#include "HorizontalSpacer.h"
#include "Button.h"
#include "Label.h"
#include "XcbInterface.h"
#include "XcbKeyboard.h"
#include "Window.h"
#include "TextElement.h"
#include "WindowManager.h"
GuiApplication::GuiApplication()
: AbstractDesktopApp(),
mMainApplication(),
mDesktopManager()
{
mDesktopManager = DesktopManager::Create();
}
GuiApplication::~GuiApplication()
{
}
void GuiApplication::SetMainApplication(MainApplicationPtr app)
{
mMainApplication = app;
//mDesktopManager->SetMainApp(shared_from_this());
}
void GuiApplication::Run()
{
auto mainWindow = mDesktopManager->GetWindowManager()->GetMainWindow();
mainWindow->SetSize(800, 600);
auto label = Label::Create();
label->SetLabel("Click the button!!");
label->SetBackgroundColor(Color::Create(0, 200, 200));
auto button = Button::Create();
button->SetLabel("Ok");
button->SetBackgroundColor(Color::Create(0, 0, 200));
auto spacer = HorizontalSpacer::Create();
spacer->AddWidget(label);
spacer->AddWidget(button);
mainWindow->AddWidget(spacer);
mDesktopManager->SetKeyboard(XcbKeyboard::Create());
bool useOpenGl = false;
XcbInterface window_interface;
window_interface.SetUseOpenGl(useOpenGl);
window_interface.Initialize();
window_interface.AddWindow(mainWindow);
window_interface.ShowWindow(mainWindow);
if(useOpenGl)
{
window_interface.CreateOpenGlDrawable(mainWindow);
}
window_interface.Loop(mDesktopManager);
window_interface.ShutDown();
}

View file

@ -0,0 +1,26 @@
#pragma once
#include <memory>
#include "MainApplication.h"
#include "AbstractDesktopApp.h"
#include "DesktopManager.h"
class GuiApplication : public AbstractDesktopApp, std::enable_shared_from_this<GuiApplication>
{
private:
DesktopManagerPtr mDesktopManager;
MainApplicationPtr mMainApplication;
public:
GuiApplication();
~GuiApplication();
void SetMainApplication(MainApplicationPtr app);
void Run();
};