Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Layer.hpp
1 
2 #pragma once
3 #include <alicorn\std\string.forward.hpp>
4 #include <alicorn\boost\filesystem.forward.hpp>
5 #include <Covellite\Events\Events.hpp>
6 #include <Covellite\Gui\ILayer.hpp>
7 #include <Covellite\Gui\IWindow.hpp>
8 
9 namespace covellite
10 {
11 
12 namespace gui
13 {
14 
37 class Layer :
39 {
40  using Utf8String_t = ::std::string;
41  using DocumentId_t = ::std::string;
42  using ElementId_t = ::std::string;
43 
44 protected:
45  using IWindowGui_t = gui::IWindow;
46  using Document_t = CovelliteGui::Core::ElementDocument;
47  using DocumentPtr_t = ::std::unique_ptr<Document_t, void(*)(Document_t *)>;
48  using Element_t = CovelliteGui::Core::Element;
49  using Path_t = ::boost::filesystem::path;
50  using String_t = ::alicorn::extension::std::String;
51 
52 public:
59  class Element final
60  {
61  public:
62  void SetFocus(void);
63  void SetMeaning(const float);
64  void SetMeaning(const String_t &);
65  String_t GetMeaning(void) const;
66  void SetClassStyle(const String_t &);
67 
68  private:
69  Element_t * const m_pElement;
70 
71  public:
72  // cppcheck-suppress noExplicitConstructor
73  Element(Element_t *);
74  };
75 
76 public:
77  // Интерфейс ILayer:
78  void Show(void) final;
79  void Hide(void) final;
80 
81 public:
82  DocumentId_t GetId(void) const;
83  Element GetElement(const ElementId_t &) const;
84  int GetWidth(void) const;
85  int GetHeight(void) const;
86  float EmployFontSize(float);
87 
88 public:
89  static ::std::string Convert(const Path_t &);
90 
91 protected:
93 
94 private:
95  const DocumentPtr_t m_pDocument;
96 
97 protected:
98  Layer(gui::IWindow &, const Path_t &);
99  Layer(gui::IWindow &, const Path_t &, const ::std::string &);
100 };
101 
102 } // namespace gui
103 
104 } // namespace covellite
covellite::gui::Layer::Element::SetMeaning
void SetMeaning(const float)
Функция изменения значения элементов слоя, для которых характерно числовое значение.
Definition: Layer.cpp:37
covellite::gui::Layer::GetElement
Element GetElement(const ElementId_t &) const
Функция получения объекта дочернего элемента.
Definition: Layer.cpp:275
covellite::gui::Layer::Element
Класс входит в проект Covellite.Gui Класс одного элемента .rml файла.
Definition: Layer.hpp:60
covellite::gui::Layer::EmployFontSize
float EmployFontSize(float)
Функция установки базового размера шрифта всего документа.
Definition: Layer.cpp:317
covellite::gui::Layer::Convert
::std::string Convert(const Path_t &)
Функция преобразования пути к файлу в строку библиотеки GUI.
Definition: Layer.android.cpp:24
covellite::gui::Layer
Класс входит в проект Covellite.Gui Класс одного слоя (пользовательского экрана) программы.
Definition: Layer.hpp:39
covellite::gui::Layer::Element::SetFocus
void SetFocus(void)
Функция установки фокуса ввода текущему элементу.
Definition: Layer.cpp:22
layers
Definition: Controls.hpp:7
covellite::gui::Layer::Element::SetClassStyle
void SetClassStyle(const String_t &)
Функция установки класса стиля элемента.
Definition: Layer.cpp:147
covellite::events::Events
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Definition: Events.hpp:36
covellite::gui::Layer::Element::GetMeaning
String_t GetMeaning(void) const
Функция получения значения элемента слоя.
Definition: Layer.cpp:109
covellite::gui::ILayer
Класс входит в проект Covellite.Gui Интерфейсный класс слоя (текущего отображаемого экрана).
Definition: ILayer.hpp:26
covellite::gui::Layer::GetId
DocumentId_t GetId(void) const
Функция получения идентификатора документа.
Definition: Layer.cpp:260
covellite::gui::Layer::Hide
void Hide(void) final
Функция скрытия слоя.
Definition: Layer.cpp:245
covellite::gui::IWindow
Класс входит в проект Covellite.Gui Интерфесный класс окна, отображающего элементы GUI.
Definition: IWindow.hpp:31
covellite::gui::Layer::Show
void Show(void) final
Функция активации слоя.
Definition: Layer.cpp:236