Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
EventListener.cpp
1
2
#include "stdafx.h"
3
#include <Covellite/Gui/EventListener.hpp>
4
#include <alicorn/std/exception.hpp>
5
#include <Covellite/Events/Events.hpp>
6
#include <Covellite/Events.hpp>
7
#include <Covellite/Gui/Events.hpp>
8
9
using namespace
covellite::gui;
10
11
Window::EventListener::EventListener(
const
Events_t & _Events) :
12
m_Events(_Events)
13
{
14
}
15
16
void
Window::EventListener::ProcessEvent(Event_t & _Event)
/*override*/
17
{
18
try
19
{
20
auto
*
const
pTargetElement = _Event.GetTargetElement();
21
if
(pTargetElement ==
nullptr
)
22
{
23
throw
STD_EXCEPTION <<
"Target element null pointer."
;
24
}
25
26
const
auto
*
const
pDocument = pTargetElement->GetOwnerDocument();
27
if
(pDocument ==
nullptr
)
28
{
29
throw
STD_EXCEPTION <<
"Owner document null pointer."
;
30
}
31
32
const
auto
Id =
33
events::Gui
{ CovelliteGuiStringToUtf8(_Event.GetType()) }
34
.
DocumentId
(CovelliteGuiStringToUtf8(pDocument->GetId()))
35
.ElementId(CovelliteGuiStringToUtf8(pTargetElement->GetId()));
36
37
m_Events[Id]();
38
}
39
catch
(const ::std::exception & _Ex)
40
{
41
m_Events[events::Error.Exception](_Ex.what());
42
}
43
}
44
45
/*static*/
auto
Window::EventListener::Make(
const
Events_t & _Events) -> EventListenerPtr_t
46
{
47
return ::std::make_shared<EventListener>(_Events);
48
}
covellite::events::Gui
Класс входит в проект Covellite.Gui Базовый класс для событий панели GUI.
Определения
Events.hpp:27
covellite::events::Gui::DocumentId
Document DocumentId(const TypeId_t &_Id) const
Вспомогательная функция для построения уникального идентификатора элемента.
Определения
Events.hpp:72
Solution
Solution
Covellite.Gui
Covellite.Gui
EventListener.cpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0