UI
: Інтерфейс користувача
Цей модуль містить класи, які дозволяють відображати прості елементи інтерфейсу користувача: меню, сповіщення тощо.
Alert
-
class Alert
Клас для відображення сповіщення.
Дозволяє відобразити сповіщення, яке користувач може закрити кнопкою A.
Приклад використання:
#include <lilka.h> void setup() { lilka::begin(); } void loop() { lilka::Alert warning("Увага", "Повітряна тривога в москві, загроза балістичних ракет!"); warning.draw(&lilka::display); while (!warning.isFinished()) { warning.update(); } }
Public Functions
-
Alert(String title, String message)
Конструктор класу.
- Параметри:
title – Заголовок сповіщення.
message – Повідомлення сповіщення.
-
void setTitle(String title)
Змінити заголовок сповіщення.
- Параметри:
title – Новий заголовок сповіщення.
-
void setMessage(String message)
Змінити повідомлення сповіщення.
- Параметри:
message – Нове повідомлення сповіщення.
-
void update()
Оновити стан сповіщення.
Цю функцію потрібно викликати, щоб сповіщення опрацювало вхідні дані від користувача та оновило свій стан.
-
void draw(Arduino_GFX *canvas)
Намалювати сповіщення на Display або Canvas.
Приклад використання:
// ... alert.draw(&lilka::display); // намалювати сповіщення на Display alert.draw(&canvas); // намалювати сповіщення на Canvas // ...
-
bool isFinished()
Перевірити, чи користувач закрив сповіщення.
Якщо сповіщення закрито, тобто користувач натиснув кнопку «A» (або іншу кнопку, яка була додана за допомогою
addActivationButton()
), повертаєтьсяtrue
, інакшеfalse
.
-
void addActivationButton(Button activationButton)
Дозволити закриття сповіщення за допомогою інших кнопок.
За замовчуванням закриття сповіщення можливе тільки за допомогою кнопки «A». Після виклику цієї функції можна закривати сповіщення за допомогою додаткових кнопок.
Дивись також
-
Button getButton()
Отримати кнопку, якою користувач закрив сповіщення.
Якщо сповіщення не закрито, результат буде невизначеним. Рекомендується використовувати цю функцію тільки після того, як isFinished() поверне
true
.
-
Alert(String title, String message)
ProgressDialog
-
class ProgressDialog
Клас для відображення індикатора виконання.
Дозволяє відобразити індикатор виконання, який можна оновлювати та змінювати його повідомлення.
Приклад використання:
#include <lilka.h> void setup() { lilka::begin(); } void loop() { lilka::ProgressDialog progress("Почекайте", "Завантаження даних..."); for (int i = 0; i <= 100; i++) { progress.setProgress(i); progress.draw(&lilka::display); delay(100); } progress.setMessage("Дані завантажено!"); delay(1000); }
Public Functions
-
ProgressDialog(String title, String message)
Конструктор класу.
- Параметри:
title – Заголовок індикатора виконання.
message – Повідомлення індикатора виконання.
-
void setProgress(int16_t progress)
Встановити прогрес виконання.
- Параметри:
progress – Прогрес виконання від 0 до 100.
-
void setMessage(String message)
Встановити повідомлення.
- Параметри:
message – Повідомлення.
-
ProgressDialog(String title, String message)
InputDialog
-
class InputDialog
Клас для відображення діалогового вікна введення.
Малює вікно введення та екранну клавіатуру, дозволяє вводити текст та підтверджувати введення.
Приклад використання:
InputDialog dialog("Введіть пароль"); dialog.setMasked(true); dialog.setValue("1234"); while (!dialog.isFinished()) { dialog.update(); dialog.draw(&lilka::display); } String password = dialog.getValue();
Public Functions
-
explicit InputDialog(String title)
Конструктор класу.
- Параметри:
title – Заголовок діалогового вікна введення.
-
void setMasked(bool masked)
Встановити маскування введеного тексту. Якщо встановлено
true
, введений текст буде відображатися як зірочки.- Параметри:
masked – Чи маскувати введений текст.
-
void setValue(String value)
Встановити початкове значення введеного тексту.
- Параметри:
value – Текст.
-
void update()
Оновити стан діалогового вікна введення.
Цю функцію потрібно викликати, щоб діалогове вікно введення опрацювало вхідні дані від користувача та оновило свій стан.
-
void draw(Arduino_GFX *canvas)
-
bool isFinished()
Перевірити, чи користувач завершив введення тексту.
Якщо введення завершено, тобто користувач натиснув кнопку «START», повертається
true
, інакшеfalse
.
-
explicit InputDialog(String title)