#include <RuntimeMenuItem.h>
Public Member Functions | |
TextMenuItem (RuntimeRenderingFn customRenderFn, menuid_t id, int size, MenuItem *next=nullptr) | |
TextMenuItem (RuntimeRenderingFn customRenderFn, const char *initial, menuid_t id, int size, MenuItem *next=nullptr) | |
TextMenuItem (const AnyMenuInfo *info, const char *initial, int size, MenuItem *next=nullptr, bool isPgm=INFO_LOCATION_PGM) | |
TextMenuItem (const AnyMenuInfo *info, RuntimeRenderingFn customRenderFn, const char *initial, int size, MenuItem *next=nullptr, bool isPgm=INFO_LOCATION_PGM) | |
void | setPasswordField (bool pwd) |
bool | isPasswordField () const |
uint8_t | textLength () const |
void | setTextValue (const char *text, bool silent=false) |
const char * | getTextValue () const |
void | cleanUpArray () |
bool | setCharValue (uint8_t location, char val) |
bool | valueChangedFromKeyboard (char keyPress) |
Public Member Functions inherited from EditableMultiPartMenuItem | |
EditableMultiPartMenuItem (MenuType type, menuid_t id, int numberOfParts, RuntimeRenderingFn renderFn, MenuItem *next=nullptr) | |
EditableMultiPartMenuItem (const AnyMenuInfo *rtInfo, bool isPgm, MenuType type, int numberOfParts, RuntimeRenderingFn renderFn, MenuItem *next=nullptr) | |
uint8_t | beginMultiEdit () |
int | changeEditBy (int amt) |
int | previousPart () |
int | nextPart () |
int | getCurrentRange () const |
void | stopMultiEdit () |
int | getPartValueAsInt () const |
bool | valueChanged (int newVal) |
Public Member Functions inherited from RuntimeMenuItem | |
RuntimeMenuItem (MenuType menuType, menuid_t id, RuntimeRenderingFn renderFn, uint8_t itemPosition, uint8_t numberOfRows, MenuItem *next=nullptr) | |
RuntimeMenuItem (const AnyMenuInfo *rtInfo, bool isPgm, MenuType menuType, RuntimeRenderingFn renderFn, uint8_t itemPosition, uint8_t numberOfRows, MenuItem *next=nullptr) | |
void | copyValue (char *buffer, int bufferSize) const |
void | runCallback () const |
int | getRuntimeId () const |
int | getRuntimeEeprom () const |
uint8_t | getNumberOfParts () const |
void | copyRuntimeName (char *buffer, int bufferSize) const |
uint8_t | getNumberOfRows () const |
uint8_t | getItemPosition () const |
void | setNumberOfRows (uint8_t rows) |
Public Member Functions inherited from MenuItem | |
uint8_t | copyNameToBuffer (char *sz, int size) const |
uint8_t | copyNameToBuffer (char *sz, int offset, int size) const |
menuid_t | getId () const |
uint16_t | getMaximumValue () const |
uint16_t | getEepromPosition () const |
MenuType | getMenuType () const |
void | triggerCallback () const |
bool | isInfoProgMem () const |
void | setChanged (bool changed) |
void | setChanged (int num, bool changed) |
bool | isChanged (int num=0) const |
bool | isSendRemoteNeeded (uint8_t remoteNo) const |
void | setSendRemoteNeededAll () |
void | clearSendRemoteNeededAll () |
void | setSendRemoteNeeded (uint8_t remoteNo, bool needed) |
void | setReadOnly (bool active) |
bool | isReadOnly () const |
void | setLocalOnly (bool localOnly) |
bool | isLocalOnly () const |
void | setSecured (bool secured) |
bool | isSecured () const |
void | setVisible (bool visible) |
bool | isVisible () const |
MenuItem * | getNext () const |
void | setNext (MenuItem *pNext) |
void | changeOccurred (bool silent) |
Additional Inherited Members | |
Protected Member Functions inherited from MenuItem | |
MenuItem (MenuType menuType, const AnyMenuInfo *menuInfo, MenuItem *next, bool infoProgMem) | |
Protected Attributes inherited from RuntimeMenuItem | |
menuid_t | id |
uint8_t | itemPosition |
uint8_t | noOfParts |
Protected Attributes inherited from MenuItem | |
uint16_t | flags |
MenuItem * | next |
const AnyMenuInfo * | info = nullptr |
RuntimeRenderingFn | renderFn = nullptr |
MenuType | menuType |
An item that can represent a text value that is held in RAM, and therefore change at runtime. We now manually configure the settings for this menu item in the constructor. This variant gets the name from program memory. The default render function for this type is: textItemRenderFn
TextMenuItem::TextMenuItem | ( | RuntimeRenderingFn | customRenderFn, |
menuid_t | id, | ||
int | size, | ||
MenuItem * | next = nullptr |
||
) |
Create a text menu item using a RuntimeRenderingFn to handle all elements of the item, including the name and eeprom, this requires you to define a custom callback.
customRenderFn | the custom callback render function |
id | the ID of the item |
size | the size of the text array |
next | optionally, the next item in the linked list |
TextMenuItem::TextMenuItem | ( | RuntimeRenderingFn | customRenderFn, |
const char * | initial, | ||
menuid_t | id, | ||
int | size, | ||
MenuItem * | next = nullptr |
||
) |
Create a text menu item using a RuntimeRenderingFn to handle all elements of the item, including the name and eeprom, this requires you to define a custom callback.
customRenderFn | the custom callback render function |
initial | the initial value or nullptr |
id | the ID of the item |
size | the size of the text array |
next | optionally, the next item in the linked list |
TextMenuItem::TextMenuItem | ( | const AnyMenuInfo * | info, |
const char * | initial, | ||
int | size, | ||
MenuItem * | next = nullptr , |
||
bool | isPgm = INFO_LOCATION_PGM |
||
) |
Create a text menu item using an info block that holds the name, eeprom and ID values, either in PGM or RAM. This version does not even need the render function to be provided, and uses the default.
info | the info block with the static parameters |
initial | the initial value or nullptr |
size | the size of the array for text |
next | optionally the next item |
TextMenuItem::TextMenuItem | ( | const AnyMenuInfo * | info, |
RuntimeRenderingFn | customRenderFn, | ||
const char * | initial, | ||
int | size, | ||
MenuItem * | next = nullptr , |
||
bool | isPgm = INFO_LOCATION_PGM |
||
) |
Create a text menu item using an info block that holds the name, eeprom and ID values, either in PGM or RAM. This version does not even need the render function to be provided, and uses the default.
info | the info block with the static parameters |
customRenderFn | the rendering function for cases when you wish to override rendering |
initial | the initial value or nullptr |
size | the size of the array for text |
next | optionally the next item |
|
inline |
|
inline |
void TextMenuItem::setTextValue | ( | const char * | text, |
bool | silent = false |
||
) |
Copies the text into the internal buffer.
text | the text to be copied. |
silent | if the update should be notified via callback |
|
inline |
void TextMenuItem::cleanUpArray | ( | ) |
Called after the array has been changed to ensure that it is in a good state for editing. IE zero's extended to the end.
bool TextMenuItem::setCharValue | ( | uint8_t | location, |
char | val | ||
) |
Set one character at a time of the value, use with care and ensure the string is always zero terminated if not taking the full space.
location | the location in the array |
val | the character value |
bool TextMenuItem::valueChangedFromKeyboard | ( | char | keyPress | ) |
When working with keyboards this allows a value change in the form of a keypress to be decoded if possible by the text control. It triggers a RENDERFN_SET_TEXT_VALUE which is specific to text controls that need to be able to work with keyboard interfaces too.
keyPress | the key on the keyboard that was pressed |