Класс LiquidSystem из Arduino библиотеки LiquidMenu для создания меню на LCD дисплее

Добавлено 19 апреля 2018 в 13:06

Данный класс представляет собой коллекцию меню, формирующих систему меню.

#include <LiquidMenu.h>
Библиотека LiquidMenu

Система меню состоит из объектов LiquidMenu. Он содержит указатели на них и вызывает их функции в зависимости от того, какое из них активен. Данный класс используется для управления. Данный класс использует такие же публичные методы, как и LiquidMenu, к которым добавлены метод для добавления объекта LiquidMenu и метод для изменения текущего активного меню. Данный класс является опциональным и используется, только если есть необходимость в нескольких меню.

Содержание

Конструкторы

LiquidSystem()

Основной конструктор. Это главный конструктор, который вызывается каждый раз.

Синтаксис

LiquidSystem::LiquidSystem(uint8_t startingMenu = 1)

Параметры

  • startingMenu – номер меню, которое будет показано первым.
LiquidSystem()

Конструктор с двумя объектами LiquidMenu.

Синтаксис

LiquidSystem::LiquidSystem(LiquidMenu & liquidMenu1,
                           LiquidMenu & liquidMenu2,
                           uint8_t startingMenu = 1 
                          )

Параметры

  • &liquidMenu1 – указатель на объект LiquidMenu;
  • &liquidMenu2 – указатель на объект LiquidMenu;
  • startingMenu – номер меню, которое будет показано первым.
LiquidSystem()

Конструктор с тремя объектами LiquidMenu.

Синтаксис

LiquidSystem::LiquidSystem(LiquidMenu & liquidMenu1,
                           LiquidMenu & liquidMenu2,
                           LiquidMenu & liquidMenu3,
                           uint8_t startingMenu = 1 
                          )

Параметры

  • &liquidMenu1 – указатель на объект LiquidMenu;
  • &liquidMenu2 – указатель на объект LiquidMenu;
  • &liquidMenu3 – указатель на объект LiquidMenu;
  • startingMenu – номер меню, которое будет показано первым.
LiquidSystem()

Конструктор с четырьмя объектами LiquidMenu.

Синтаксис

LiquidSystem::LiquidSystem(LiquidMenu & liquidMenu1,
                           LiquidMenu & liquidMenu2,
                           LiquidMenu & liquidMenu3,
                           LiquidMenu & liquidMenu4,
                           uint8_t startingMenu = 1 
                          )

Параметры

  • &liquidMenu1 – указатель на объект LiquidMenu;
  • &liquidMenu2 – указатель на объект LiquidMenu;
  • &liquidMenu3 – указатель на объект LiquidMenu;
  • &liquidMenu4 – указатель на объект LiquidMenu;
  • startingMenu – номер меню, которое будет показано первым.

Публичные методы

add_menu()

Добавляет объект LiquidMenu в систему меню.

Синтаксис

bool LiquidSystem::add_menu(LiquidMenu & liquidMenu)

Параметры

&liquidMenu – указатель на объект LiquidMenu.

Возвращает

true в случае успеха и false, если максимальное количество меню уже было достигнуто.

Примечание

Максимальное количество меню в системе меню указывается в LiquidMenu_config.h как MAX_MENUS. По умолчанию равно 12.

call_function()

Вызывает прикрепленную функцию, указанную номером.

Вызывает функцию, указанную аргументом number для текущего экрана и для выделенной строки.

Синтаксис

bool LiquidSystem::call_function(uint8_t number) const

Параметры

  • number – номер функции в массиве.

Возвращает

true, если функция с указанным номером существует.

Примечание

Нумерация функций начинается с 1.

change_menu()

Переключает на указанное меню.

Синтаксис

bool LiquidSystem::change_menu(LiquidMenu & p_liquidMenu)

Параметры

  • &p_liquidMenu – указатель на объект LiquidMenu.

Возвращает

true в случае успеха и false, если меню не найдено.

change_screen()

Переключает на указанный экран.

Синтаксис

bool LiquidSystem::change_screen(LiquidScreen & p_liquidScreen)
bool LiquidSystem::change_screen(uint8_t number)

Параметры

  • &p_liquidScreen – указатель на объект LiquidScreen;
  • number – номер экрана.

Возвращает

true в случае успеха и false, если экран не найден, или номер экрана неправильный.

next_screen()

Переключает на следующий экран.

Синтаксис

void LiquidSystem::next_screen()
operator++()

Переключает на следующий экран.

Синтаксис

void LiquidSystem::operator++()

Примечание

Оператор префиксного инкремента перезагружен.

operator++()

Переключает на следующий экран.

Синтаксис

void LiquidSystem::operator++(int)

Примечание

Оператор постфиксного инкремента перезагружен.

operator--()

Переключает на предыдущий экран.

Синтаксис

void LiquidSystem::operator--()

Примечание

Оператор префиксного декремента перезагружен.

operator--()

Переключает на предыдущий экран.

Синтаксис

void LiquidSystem::operator--(int)

Примечание

Оператор постфиксного декремента перезагружен.

operator=()

Переключает на указанный экран.

Синтаксис

bool LiquidSystem::operator=(LiquidScreen & p_liquidScreen)
bool LiquidSystem::operator=(uint8_t number)

Параметры

  • &p_liquidScreen – указатель на объект LiquidScreen;
  • number – номер экрана.

Возвращает

true в случае успеха и false, если экран не найден, или номер экрана неправильный.

previous_screen()

Переключает на предыдущий экран.

Синтаксис

void LiquidSystem::previous_screen()
set_focusPosition()

Устанавливает позицию фокуса для всего меню за раз.

Допустимые значения – LEFT и RIGHT. Позиция CUSTOM является не допустимой для данной функции, поскольку ей необходимо индивидуальное указание строки и столбца для каждой строки.

Синтаксис

bool LiquidSystem::set_focusPosition(Position position)

Параметры

  • positionLEFT или RIGHT.

Возвращает

true в случае успеха и false, если позиция указана неправильно.

Примечание

Position – это класс перечисления. При указании позиции используйте Position::(член класса).

set_focusSymbol()

Изменяет символ индикатора фокуса.

Символ изменяется для конкретной позиции.

Синтаксис

bool LiquidSystem::set_focusSymbol(Position position,
                                   uint8_t symbol[8]
                                 )

Параметры

  • position – позиция, для которой должен быть изменен символ;
  • symbol[] – символ.

Возвращает

true в случае успеха и false, если позиция указана неправильно.

Примечание

Position – это класс перечисления. При указании позиции используйте Position::(член класса).

softUpdate()

Отпечатывает текущий экран на дисплее (без очистки).

Вызывайте данный метод, когда изменение в какой-либо прикрепленной переменной или новые символы полностью покрывают старые символы.

Синтаксис

void LiquidSystem::softUpdate() const

Примечание

Данный метод не очищает дисплей.

switch_focus()

Переключает фокус.

Переключает фоку к следующей или предыдущей строке в соответствии с переданным параметром.

Синтаксис

void LiquidSystem::switch_focus(bool forward = true)

Параметры

forwardtrue для движения вперед, false для движения назад.

update()

Отпечатывает текущий экран на дисплее.

Вызывайте данный метод при изменении какой-либо прикрепленной переменной.

Синтаксис

void LiquidSystem::update() const

Теги

ArduinoLCD дисплейМенюПрограммирование

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.