Releases: Spirik/GEM
Releases · Spirik/GEM
1.6.4
- Bugfix for select/spinner arrows sprite overlapping option label when non-supported value of
_spriteSize
(> 2) is set throughGEM_adafruit_gfx::setSpriteSize()
; title
argument made optional in GEMPage constructor: now it is possible to callGEMPage menuPage
to create menu page with empty title (instead of passing empty string, e.g.GEMPage menuPage("")
);- Optional
loop
setting for selects (GEMSelect) and spinners (GEMSpinner) added to allow endless loop through the options; - Clarification on PlatformIO installation (contributed by @thijstriemstra);
- Readme updated accordingly.
1.6.3
GEM_ITEM_LABEL
non-interactive menu item that displays basic text information. Previously there were somewhat cumbersome ways to create simple label menu items with the use of readonly variables or buttons with dummy action, now it is possible to simply callGEMItem menuItemLabel("I am a text label!");
and non-interactive menu item with onlytitle
will be created;- Readme updated accordingly.
1.6.2
GEMPage::getItemsCount()
method to get items count of the menu page;GEMItem::getType()
andGEMItem::getLinkedType()
methods to get type of menu item and type of linked variable;GEMItem::getParentPage()
andGEMItem::getLinkedPage()
methods to get pointer to parent and linked menu pages;- Readme updated accordingly;
- Note on optional custom shields implementation for easier GEM development and prototyping of projects (available in wiki).
1.6.1
- Better support for menu traversing in user-defined callbacks (addresses #110);
- Public
GEMPage::setCurrentMenuItemIndex()
method for explicitly setting current menu item from sketch; - Behavior of
::invertKeysDuringEdit()
adjusted to affect GEMSpinner menu items (addresses #112); - Readme updated accordingly.
1.6.0
1.5.4
1.5.3
1.5.2
AppContext
struct renamed toGEMContext
(with backwards compatibility with previous name);- New methods
::setDrawMenuCallback()
and::removeDrawMenuCallback()
for managing optional callback that is invoked at the end of::drawMenu()
call; - Method
::getCurrentAppearance()
made public; private
access specifiers changed toprotected
to make it possible to access internal fields and methods from within user-defined derived (inherited) classes, allowing to extend functionality of GEM;- Optional "Advanced Mode" introduced, disabled by default but can be enabled via
config.h
orGEM_ENABLE_ADVANCED_MODE
flag; when enabled some of the internal methods are madevirtual
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; - Readme updated accordingly.
1.5.1
- Support for custom fonts via
::setFontBig()
and::setFontSmall()
methods of U8g2 and Adafruit GFX versions of GEM; - Support for UTF8 fonts for U8g2 version of GEM via
GEM_u8g2::enableUTF8()
method (only for menu titles and menu item labels); - Readme updated accordingly.
1.5.0
- Possible breaking change: AltSerialGraphicLCD version disabled by default, but can be enabled explicitly via
config.h
or build flagGEM_ENABLE_GLCD
; GEMAppearance
struct,::setAppearance()
methods added; ability to set appearance for menu pages individually and change it at a runtime;GEMPage::getMenuItem()
andGEMItem::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;- Example 06: Todo List added;
- Readme updated accordingly.