15#include "windowBase.hpp"
56 ksys_colors_table_t _colors;
70 std::vector<ButtonListElement> _Buttons;
73 std::vector<TextListElement> _Texts;
76 std::vector<FormListElement> _Forms;
79 unsigned ActiveForm = 0;
180 unsigned CreateText(
point coord = {0,0},
point size = {16, 16}, std::string text =
"Text",
unsigned FontSize = 9,
bool UseWindowColors =
true, ksys_color_t color =
OS::sys_color_table.work_text);
225 for(
unsigned i = 0; i < _Buttons.size(); i++)
229 _Buttons[i].btn = btn;
230 _Buttons[i].btn.Activate();
231 _Buttons[i].use =
true;
238 _Buttons.push_back(a);
239 return _Buttons.size();
242 unsigned Window::AddNewTextLabel(UI::text::TextLabel text)
244 for (
unsigned i = 0; i < _Texts.size(); i++)
248 _Texts[i].txt = text;
249 _Texts[i].use =
true;
259 unsigned Window::AddNewForm(UI::Form form)
261 for (
unsigned i = 0; i < _Forms.size(); i++)
265 _Forms[i].frm = form;
266 _Forms[i].use =
true;
274 return _Forms.size();
304 _colors = colorTable;
324 _ksys_create_window(coord.x, coord.y, _size.x, _size.y, _title.c_str(), _colors.work_area, _style);
330 _ksys_change_window(coord.x, coord.y, size.x, size.y);
335 _ksys_set_window_title(newTitle.c_str());
347 for(
unsigned i = 0; i < _Buttons.size(); i++)
351 _Buttons[i].btn.render();
354 for(
unsigned i = 0; i < _Texts.size(); i++)
358 _Texts[i].txt.render();
361 for(
unsigned i = 0; i < _Forms.size(); i++)
365 _Forms[i].frm.render();
386 color = _colors.work_button;
387 TextColor = _colors.work_button_text;
390 unsigned a = AddNewButton(btn);
397 return AddNewButton(btn);
402 _Buttons[id].btn.Deactivate();
403 _Buttons[id].use =
false;
409 color = _colors.work_text;
414 return AddNewTextLabel(t);
419 return AddNewTextLabel(text);
424 _Texts[id].use =
false;
429 UI::Form form (coord, size, BackgroundText, FormColor, BackgroundTextColor, _MARGIN);
430 return AddNewForm (form);
435 return AddNewForm(form);
440 return _Forms[form].frm.GetInput();
445 _Forms[id].use =
false;
450 for (
unsigned i = 0; i < _Forms.size(); i++)
454 if (_Forms[i].frm.ButtonHandler())
460 _Forms[ActiveForm].frm.Handler();
469 case KSYS_EVENT_REDRAW:
472 case KSYS_EVENT_BUTTON:
474 for (
unsigned i = 0; i < _Buttons.size(); i++)
478 _Buttons[i].btn.Handler();
486 unsigned button = KolibriLib::UI::buttons::GetPressedButton();
499 for(
unsigned i = 0; i < _Buttons.size(); i++)
506 return _Buttons.size();
Текстовая метка
Definition UI.hpp:108
Класс для работы с окном
Definition window.hpp:47
Window(std::string Title="Window", point size=DefaultWindowSize, int style=0x14, ksys_colors_table_t colors=Color::DefaultColorTable, unsigned Margin=0)
Конструктор
Definition window.hpp:277
void EndRedraw()
Закончить перересовку окна
Definition window.hpp:313
void DeleteText(unsigned id)
Удалить текст
Definition window.hpp:422
void DeleteForm(unsigned id)
Удалить форму
Definition window.hpp:443
void ChangeWindow(point coord, point size)
Изменить окно
Definition window.hpp:327
unsigned CreateText(point coord={0, 0}, point size={16, 16}, std::string text="Text", unsigned FontSize=9, bool UseWindowColors=true, ksys_color_t color=OS::sys_color_table.work_text)
Создать текст в окне
Definition window.hpp:405
void StartRedraw()
Начать перересовку окна
Definition window.hpp:307
void SetWindowColors(ksys_colors_table_t colorTable)
Задать стандартные цвета окна
Definition window.hpp:302
std::string GetTextFromForm(unsigned form)
Получить текст из формы
Definition window.hpp:438
void ChangeTilte(std::string newTitle)
Изменить заголовок окна
Definition window.hpp:333
point GetSize()
Получить размер окна
Definition window.hpp:377
unsigned CreateButton(point coord={0, 0}, point size={16, 16}, std::string Text=" ", unsigned margin=UI::DefaultMargin, bool UseWindowColors=true, ksys_color_t color=OS::sys_color_table.work_button, ksys_color_t TextColor=OS::sys_color_table.work_button_text)
Создать кнопку
Definition window.hpp:382
unsigned CreateForm(point coord={0, 0}, point size={32, 16}, std::string BackgroundText=" ", ksys_color_t FormColor=OS::sys_color_table.work_text, ksys_color_t BackgroundTextColor=OS::sys_color_table.work_button_text)
Создать форму
Definition window.hpp:427
void FormHandler()
Обработчик форм
Definition window.hpp:448
unsigned GetMargin()
Получить рамер отступов в этом окне
Definition window.hpp:372
void DeleteButton(unsigned id)
Удалить кнопку
Definition window.hpp:400
void Render()
Отрисовать окно
Definition window.hpp:342
point GetWindowSize()
Получить размер окна
Definition window.hpp:338
unsigned Handler()
Обработчик элементов
Definition window.hpp:463
unsigned GetPressedButton()
Получить нажатую кнопку
Definition window.hpp:497
void DrawWindow(point coord=mouse::GetMousePositionOnSreen())
Отрисовать окно
Definition window.hpp:322
const ksys_colors_table_t DefaultColorTable
Таблица цветов по умолчанию
Definition windowBase.hpp:14
bool ComparisonColorsTables(ksys_colors_table_t a, ksys_colors_table_t b)
Сравнить две таблица цветов
Definition windowBase.hpp:20
ksys_colors_table_t GetSystemColors()
Получить системные цвета
Definition base.hpp:41
unsigned int WaitEvent()
Ждать ивента
Definition base.hpp:49
ksys_colors_table_t sys_color_table
Таблица стандартных(системных) цветов
Definition base.hpp:36
const unsigned DefaultMargin
Отступы поумолчанию
Definition UI.hpp:20
point GetMousePositionOnSreen()
Получить позицияю курсора на экране
Definition mouse.hpp:15
const point DefaultWindowCoord
Соординаты окна по умолчанию
Definition windowBase.hpp:39
const point DefaultWindowSize
Размер окна поумолчанию
Definition windowBase.hpp:36
Основное пространство имён
Definition base.hpp:17
bool EXIT
Сообщение всем функциям что нужно завершать работу
Definition base.hpp:19
int EXITCODE
Код ошибки
Definition base.hpp:22
Просто точка
Definition base.hpp:26