Good Enough Menu for Arduino
AppContext
struct renamed to GEMContext
(with backwards compatibility with previous name);::setDrawMenuCallback()
and ::removeDrawMenuCallback()
for managing optional callback that is invoked at the end of ::drawMenu()
call;::getCurrentAppearance()
made public;private
access specifiers changed to protected
to make it possible to access internal fields and methods from within user-defined derived (inherited) classes, allowing to extend functionality of GEM;config.h
or GEM_ENABLE_ADVANCED_MODE
flag; when enabled some of the internal methods are made virtual
to make it possible to override those methods in own sketch, allowing further customization and modification of GEM; more features of Advanced Mode may be added in the future;::setFontBig()
and ::setFontSmall()
methods of U8g2 and Adafruit GFX versions of GEM;GEM_u8g2::enableUTF8()
method (only for menu titles and menu item labels);config.h
or build flag GEM_ENABLE_GLCD
;GEMAppearance
struct, ::setAppearance()
methods added; ability to set appearance for menu pages individually and change it at a runtime;GEMPage::getMenuItem()
and GEMItem::getMenuItemNext()
methods made public for easy menu items traversing from the sketch;::getCurrentMenuPage()
, GEMPage::getCurrentMenuItem()
, GEMPage::getCurrentMenuItemIndex()
methods added to target currently selected menu item (can be useful for certain callback functions);GEMItem::setAdjustedASCIIOrder()
method added for more suitable order of characters when editing text variables in certain use cases;GEMItem::remove()
method;GEMPage::addMenuItem()
method;GEMPage::addMenuItem()
method allow to add menu item at a specified index pos
out of total (total
set to true
) or only visible (total
set to false
) items of the menu page;GEMPage
constructor;This release contains code refactoring, there is no functional changes.
-Wmissing-field-initializers
warning fix;boolean
data type ditched in favor of bool
;::invertKeysDuringEdit()
method;::setTextSize()
method;avr/dtostrf.h
for RP2040 and nRF52840 based boards (to allow support for floating-point variables);-Wreorder
, -Wunused-variable
, -Wmaybe-uninitialized
warnings during compilation for RP2040 and nRF52840 fixes;