Класс LiquidLine из Arduino библиотеки LiquidMenu для создания меню на LCD дисплее
Данный класс представляет собой отдельные строки, напечатанные на дисплее.
#include <LiquidMenu.h>
Это самый нижний класс в иерархии, он содержит указатели на переменные/константы, которые будут напечатаны, где расположена строка, где будет расположен индикатор фокуса и указатели на функции обратного вызова. Объекты этого класса передаются в объект LiquidScreen, который управляет ими. Публичные методы данного класса предназначены только для конфигурации.
Содержание
Дружественные классы
LiquidScreen
Конструкторы
LiquidLine (uint8_t column, uint8_t row)-
Основной конструктор. Это главный конструктор, который вызывается каждый раз.
Синтаксис
LiquidLine::LiquidLine(uint8_t column, uint8_t row )Параметры
column– столбец, с которого начинается строка;row– строка, в которой печатается строка.
LiquidLine (uint8_t column, uint8_t row, A &variableA)-
Конструктор с одной переменной/константой.
Синтаксис
template<typename A> LiquidLine::LiquidLine(uint8_t column, uint8_t row, A & variableA )Параметры
column– столбец, с которого начинается строка;row– строка, в которой печатается строка;&variableA– переменная/константа, которая будет напечатана.
LiquidLine (uint8_t column, uint8_t row, A &variableA, B &variableB)-
Конструктор с двумя переменными/константами.
Синтаксис
template<typename A , typename B> LiquidLine::LiquidLine(uint8_t column, uint8_t row, A & variableA, B & variableB )Параметры
column– столбец, с которого начинается строка;row– строка, в которой печатается строка;&variableA– переменная/константа, которая будет напечатана;&variableB– переменная/константа, которая будет напечатана.
LiquidLine (uint8_t column, uint8_t row, A &variableA, B &variableB, C &variableC)-
Конструктор с тремя переменными/константами.
Синтаксис
template<typename A , typename B , typename C> LiquidLine::LiquidLine(uint8_t column, uint8_t row, A & variableA, B & variableB, C & varuableC )Параметры
column– столбец, с которого начинается строка;row– строка, в которой печатается строка;&variableA– переменная/константа, которая будет напечатана;&variableB– переменная/константа, которая будет напечатана.&variableC– переменная/константа, которая будет напечатана.
LiquidLine (uint8_t column, uint8_t row, A &variableA, B &variableB, C &variableC, D &variableD)-
Конструктор с четырьмя переменными/константами.
Синтаксис
template<typename A , typename B , typename C , typename D> LiquidLine::LiquidLine(uint8_t column, uint8_t row, A & variableA, B & variableB, C & variableC, D & variableD )Параметры
column– столбец, с которого начинается строка;row– строка, в которой печатается строка;&variableA– переменная/константа, которая будет напечатана;&variableB– переменная/константа, которая будет напечатана,&variableC– переменная/константа, которая будет напечатана,&variableD– переменная/константа, которая будет напечатана.
Публичные методы
add_variable()-
Добавляет переменную в строку.
Синтаксис
template<typename T> bool LiquidLine::add_variable(T & variable)Параметры
&variable– ссылка на переменную.Возвращает
trueв случае успеха иfalse, если максимальное количество переменных уже было достигнуто.Примечание
Максимальное количество переменных на строку указывается в LiquidMenu_config.h как
MAX_VARIABLES. По умолчанию равно 5. attach_function()-
Прикрепляет к строке функцию обратного вызова.
numberиспользуется для идентификации. Функция обратного вызова позже может быть, когда строка выделена с помощьюLiquidMenu::call_function(uint8_t number) const.Синтаксис
bool LiquidLine::attach_function(uint8_t number, void(*)(void) function )Параметры
number– номер функции, используемый для идентификации;*function– указатель на функцию.
Возвращает
trueв случае успеха иfalse, если максимальное количество функций уже было достигнуто.Примечание
Нумерация функций начинается с 1.
Максимальное количество функций на строку указывается в LiquidMenu_config.h как
MAX_FUNCTIONS. По умолчанию равно 8. set_asGlyph()-
Преобразует переменную
byteв индекс глифа.Если с помощью DisplayClass::createChar(byte index, byte character[8]) был создан пользовательский символ (глиф), то при использовании данного метода он может быть отображен как обычная переменная.
Синтаксис
bool LiquidLine::set_asGlyph(uint8_t number)Параметры
number– номер переменной, которая будет преобразована в индекс.Возвращает
trueв случае успеха иfalse, если тип переменной с данным номером неbyte. set_asProgmem()-
Преобразует переменную указателя
const charв переменную указателяconst char PROGMEM.Используйте данную функцию, чтобы сообщить объекту, что прикрепленная переменная указателя
const charсохранена во флеш памяти, а не в RAM как обычная переменная.Синтаксис
bool LiquidLine::set_asProgmem(uint8_t number)Параметры
number– номер переменной, которая будет преобразована.Возвращает
trueв случае успеха иfalse, если тип переменной с данным номером неconst char[]. set_focusPosition()-
Настраивает позицию индикатора фокуса для строку.
Допустимые значения –
LEFT,RIGHTиCUSTOM. ПозицияCUSTOMявляется абсолютной и поэтому нуждается в указании столбца и строки, в которых будет напечатан индикатор.Синтаксис
bool LiquidLine::set_focusPosition(Position position, uint8_t column = 0, uint8_t row = 0 )Параметры
position–LEFT,RIGHTилиCUSTOM;column– если используетсяCUSTOM, данная переменная указывает столбец:row– если используетсяCUSTOM, данная переменная указывает строку.
Возвращает
trueв случае успеха иfalse, если позиция указана неправильно.Примечание
Position– это класс перечисления. При указании позиции используйтеPosition::(член класса).
