Класс LiquidSystem из Arduino библиотеки LiquidMenu для создания меню на LCD дисплее
Данный класс представляет собой коллекцию меню, формирующих систему меню.
#include <LiquidMenu.h>
Система меню состоит из объектов 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)
Параметры
position
–LEFT
или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)
Параметры
forward
–true
для движения вперед,false
для движения назад.update()
Отпечатывает текущий экран на дисплее.
Вызывайте данный метод при изменении какой-либо прикрепленной переменной.
Синтаксис
void LiquidSystem::update() const