Move windows to uptr. Add simple text editing.
This commit is contained in:
parent
2bcc7b3d83
commit
b99708e7d3
55 changed files with 1257 additions and 994 deletions
|
@ -3,14 +3,14 @@
|
|||
#include <iostream>
|
||||
|
||||
DesktopManager::DesktopManager()
|
||||
: mScreens(),
|
||||
mWindowManager(),
|
||||
mKeyboard(),
|
||||
mMainApplication(),
|
||||
mModified(false)
|
||||
: mScreens(),
|
||||
mWindowManager(WindowManager::Create()),
|
||||
mKeyboard(Keyboard::Create()),
|
||||
mMainApplication(),
|
||||
mModified(false),
|
||||
mEventManager(EventManager::Create())
|
||||
{
|
||||
mWindowManager = WindowManager::Create();
|
||||
mKeyboard = Keyboard::Create();
|
||||
|
||||
}
|
||||
|
||||
DesktopManager::~DesktopManager()
|
||||
|
@ -18,95 +18,100 @@ DesktopManager::~DesktopManager()
|
|||
|
||||
}
|
||||
|
||||
std::shared_ptr<DesktopManager> DesktopManager::Create()
|
||||
std::unique_ptr<DesktopManager> DesktopManager::Create()
|
||||
{
|
||||
return std::make_shared<DesktopManager>();
|
||||
return std::make_unique<DesktopManager>();
|
||||
}
|
||||
|
||||
void DesktopManager::OnKeyboardEvent(KeyboardEventPtr keyboardEvent)
|
||||
void DesktopManager::ClearEvents()
|
||||
{
|
||||
std::cout << "Key: " << keyboardEvent->GetKeyString() << std::endl;
|
||||
mEventManager->ClearEvents();
|
||||
}
|
||||
|
||||
void DesktopManager::OnPaintEvent(PaintEventPtr paintEvent)
|
||||
void DesktopManager::OnKeyboardEvent(const KeyboardEvent* event)
|
||||
{
|
||||
GetWindowManager()->OnPaintEvent(paintEvent);
|
||||
GetWindowManager()->OnKeyboardEvent(event);
|
||||
}
|
||||
|
||||
void DesktopManager::OnMouseEvent(MouseEventPtr mouseEvent)
|
||||
void DesktopManager::OnPaintEvent(const PaintEvent* event)
|
||||
{
|
||||
GetWindowManager()->OnMouseEvent(mouseEvent);
|
||||
GetWindowManager()->OnPaintEvent(event);
|
||||
}
|
||||
|
||||
bool DesktopManager::IsModified()
|
||||
void DesktopManager::OnMouseEvent(const MouseEvent* event)
|
||||
{
|
||||
return mModified;
|
||||
GetWindowManager()->OnMouseEvent(event);
|
||||
}
|
||||
|
||||
void DesktopManager::OnUiEvent(UiEventPtr event)
|
||||
bool DesktopManager::IsModified() const
|
||||
{
|
||||
mModified = false;
|
||||
switch (event->GetType())
|
||||
{
|
||||
case (UiEvent::Type::Paint):
|
||||
{
|
||||
OnPaintEvent(std::dynamic_pointer_cast<PaintEvent>(event));
|
||||
break;
|
||||
}
|
||||
case (UiEvent::Type::Keyboard):
|
||||
{
|
||||
OnKeyboardEvent(std::dynamic_pointer_cast<KeyboardEvent>(event));
|
||||
//mModified = true;
|
||||
break;
|
||||
}
|
||||
case (UiEvent::Type::Mouse):
|
||||
{
|
||||
auto mouseEvent = std::dynamic_pointer_cast<MouseEvent>(event);
|
||||
return mModified;
|
||||
}
|
||||
|
||||
OnMouseEvent(mouseEvent);
|
||||
if(mouseEvent->GetAction() == MouseEvent::Action::Pressed)
|
||||
{
|
||||
std::cout << "mouse pressed" << std::endl;
|
||||
mModified = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
void DesktopManager::OnUiEvent(UiEventUPtr eventUPtr)
|
||||
{
|
||||
mModified = false;
|
||||
const auto event = mEventManager->AddEvent(std::move(eventUPtr));
|
||||
switch (event->GetType())
|
||||
{
|
||||
case (UiEvent::Type::Paint):
|
||||
{
|
||||
OnPaintEvent(dynamic_cast<const PaintEvent*>(event));
|
||||
break;
|
||||
}
|
||||
case (UiEvent::Type::Keyboard):
|
||||
{
|
||||
OnKeyboardEvent(dynamic_cast<const KeyboardEvent*>(event));
|
||||
mModified = true;
|
||||
break;
|
||||
}
|
||||
case (UiEvent::Type::Mouse):
|
||||
{
|
||||
auto mouseEvent = dynamic_cast<const MouseEvent*>(event);
|
||||
OnMouseEvent(mouseEvent);
|
||||
if(mouseEvent->GetAction() == MouseEvent::Action::Pressed)
|
||||
{
|
||||
std::cout << "mouse pressed" << std::endl;
|
||||
mModified = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DesktopManager::SetIsModified(bool modified)
|
||||
{
|
||||
mModified = modified;
|
||||
mModified = modified;
|
||||
}
|
||||
|
||||
KeyboardPtr DesktopManager::GetKeyboard()
|
||||
Keyboard* DesktopManager::GetKeyboard() const
|
||||
{
|
||||
return mKeyboard;
|
||||
return mKeyboard.get();
|
||||
}
|
||||
|
||||
void DesktopManager::SetKeyboard(KeyboardPtr keyboard)
|
||||
void DesktopManager::SetKeyboard(KeyboardUPtr keyboard)
|
||||
{
|
||||
mKeyboard = keyboard;
|
||||
mKeyboard = std::move(keyboard);
|
||||
}
|
||||
|
||||
void DesktopManager::SetMainApp(AbstractDesktopAppPtr mainApp)
|
||||
{
|
||||
mMainApplication = mainApp;
|
||||
mMainApplication = mainApp;
|
||||
}
|
||||
|
||||
AbstractDesktopAppPtr DesktopManager::GetMainApp()
|
||||
{
|
||||
return mMainApplication;
|
||||
return mMainApplication;
|
||||
}
|
||||
|
||||
void DesktopManager::SetWindowManager(WindowManagerPtr windowManager)
|
||||
void DesktopManager::SetWindowManager(WindowManagerUPtr windowManager)
|
||||
{
|
||||
mWindowManager = windowManager;
|
||||
mWindowManager = std::move(windowManager);
|
||||
}
|
||||
|
||||
WindowManagerPtr DesktopManager::GetWindowManager()
|
||||
WindowManager* DesktopManager::GetWindowManager() const
|
||||
{
|
||||
return mWindowManager;
|
||||
return mWindowManager.get();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue