Skip to content

Releases: Spirik/GEM

1.6.4

13 Mar 15:31
Compare
Choose a tag to compare
  • Bugfix for select/spinner arrows sprite overlapping option label when non-supported value of _spriteSize (> 2) is set through GEM_adafruit_gfx::setSpriteSize();
  • title argument made optional in GEMPage constructor: now it is possible to call GEMPage 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

02 Mar 09:15
Compare
Choose a tag to compare
  • 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 call GEMItem menuItemLabel("I am a text label!"); and non-interactive menu item with only title will be created;
  • Readme updated accordingly.

1.6.2

06 Feb 09:56
Compare
Choose a tag to compare
  • GEMPage::getItemsCount() method to get items count of the menu page;
  • GEMItem::getType() and GEMItem::getLinkedType() methods to get type of menu item and type of linked variable;
  • GEMItem::getParentPage() and GEMItem::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

03 Jan 19:12
Compare
Choose a tag to compare
  • 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

04 Oct 18:57
Compare
Choose a tag to compare
  • GEMSpinner menu item for increment/decrement of numeric variables;
  • Public ::isEditMode() method that shows whether menu is currently in edit mode or not;
  • Rotary encoder examples updated for more consistent detection of rotation;
  • Readme updated accordingly.

1.5.4

05 Aug 17:32
Compare
Choose a tag to compare
  • Support for setting sprites 'magnification' size (i.e. scale factor) for Adafruit GFX version via ::setSpriteSize() regardless of text magnification size set via ::setTextSize() method;
  • Readme updated accordingly;
  • Cleanup of redundant code.

1.5.3

05 Jul 11:50
Compare
Choose a tag to compare
  • Addresses #96 and #97 error either all initializer clauses should be designated or none of them should be that appear if compiled for ESP32 boards with the most recently updated Boards via Arduino IDE;
  • Minor Readme wording update.

1.5.2

03 Feb 13:51
Compare
Choose a tag to compare
  • AppContext struct renamed to GEMContext (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 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;
  • Optional "Advanced Mode" introduced, disabled by default but can be enabled via 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;
  • Readme updated accordingly.

1.5.1

03 Jan 19:07
Compare
Choose a tag to compare
  • 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

25 Dec 19:32
Compare
Choose a tag to compare
  • Possible breaking change: AltSerialGraphicLCD version disabled by default, but can be enabled explicitly via 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;
  • Example 06: Todo List added;
  • Readme updated accordingly.