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
// ...
Параметри:

canvas – Вказівник на Display або Canvas, на якому потрібно намалювати сповіщення.

bool isFinished()

Перевірити, чи користувач закрив сповіщення.

Якщо сповіщення закрито, тобто користувач натиснув кнопку «A» (або іншу кнопку, яка була додана за допомогою addActivationButton()), повертається true, інакше false.

void addActivationButton(Button activationButton)

Дозволити закриття сповіщення за допомогою інших кнопок.

За замовчуванням закриття сповіщення можливе тільки за допомогою кнопки «A». Після виклику цієї функції можна закривати сповіщення за допомогою додаткових кнопок.

Дивись також

getButton

Button getButton()

Отримати кнопку, якою користувач закрив сповіщення.

Якщо сповіщення не закрито, результат буде невизначеним. Рекомендується використовувати цю функцію тільки після того, як isFinished() поверне true.

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 – Повідомлення.

void draw(Arduino_GFX *canvas)

Намалювати індикатор виконання на Display або Canvas

.

Приклад використання:

// ...
progress.draw(&lilka::display); // намалювати індикатор виконання на Display
progress.draw(&canvas); // намалювати індикатор виконання на Canvas
// ...
Параметри:

canvas – Вказівник на Display або Canvas, на якому потрібно намалювати індикатор виконання.

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)

Намалювати діалогове вікно введення на Display або Canvas.

Параметри:

canvas – Вказівник на Display або Canvas, на якому потрібно намалювати діалогове вікно введення.

bool isFinished()

Перевірити, чи користувач завершив введення тексту.

Якщо введення завершено, тобто користувач натиснув кнопку «START», повертається true, інакше false.