4#include <Covellite/Events/Events.hpp>
5#include <Covellite/App/IWindow.hpp>
6#include <Covellite/Api/Window.mock.hpp>
49 using WindowApiPtr_t = ::std::shared_ptr<::covellite::api::IWindow>;
50 using Path_t = ::boost::filesystem::path;
51 using Utf8String_t = ::std::string;
52 using StringBank_t = ::std::map<Utf8String_t, Utf8String_t>;
53 using LayerPtr_t = ::std::shared_ptr<::covellite::gui::ILayer>;
57 public ::alicorn::extension::testing::Proxy<Proxy>
60 MOCK_METHOD1(Constructor, Id_t(Id_t));
61 MOCK_METHOD1(Set,
void(StringBank_t));
62 MOCK_METHOD2(PushLayer, Id_t(Id_t, ::std::string));
63 MOCK_METHOD1(Back,
void(Id_t));
66 MOCK_METHOD1(DoDrawWindow,
void(Id_t));
70 void DoDrawWindow(
void)
72 Proxy::GetInstance()->DoDrawWindow(m_Id);
77 Window & operator= (
const Window &) =
delete;
78 bool operator== (
const Window & _Value)
const {
return (m_Id == _Value.m_Id); }
82 operator Events_t (
void)
const override
89 DocumentPtr_t LoadDocument(
const PathToFile_t &)
override {
throw 1; }
92 void Set(
const StringBank_t & _Bank)
94 Proxy::GetInstance()->Set(_Bank);
97 template<
class TLayer>
98 TLayer & PushLayer(
void)
100 const auto Id = Proxy::GetInstance()->PushLayer(m_Id,
typeid(TLayer).name());
101 const auto pLayer = ::std::make_shared<TLayer>(Id);
102 m_Layers.push_back(pLayer);
108 Proxy::GetInstance()->Back(m_Id);
113 ::std::vector<LayerPtr_t> m_Layers;
116 explicit Window(
const WindowApi_t & _WindowsApi) :
117 m_Id(Proxy::GetInstance()->Constructor(
118 dynamic_cast<const ::mock::covellite::api::Window &>(_WindowsApi).m_Id))
Класс входит в проект Covellite.Api Интерфейсный класс для всех окон, реализующих различные графиче...
Definition IWindow.hpp:35
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Definition IWindow.hpp:32
Класс входит в проект Covellite.Gui Интерфесный класс окна, отображающего элементы GUI.
Definition IWindow.hpp:31