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

Добавлено14 апреля 2018 в 17:16

Данный класс представляет собой отдельные строки, напечатанные на дисплее.

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

Это самый нижний класс в иерархии, он содержит указатели на переменные/константы, которые будут напечатаны, где расположена строка, где будет расположен индикатор фокуса и указатели на функции обратного вызова. Объекты этого класса передаются в объект 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 
                                  )

Параметры

  • positionLEFT, RIGHT или CUSTOM;
  • column – если используется CUSTOM, данная переменная указывает столбец:
  • row – если используется CUSTOM, данная переменная указывает строку.

Возвращает

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

Примечание

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

Теги

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