Skip to content

Lemur version 1.10.1

Compare
Choose a tag to compare
@pspeed42 pspeed42 released this 18 Feb 06:43
· 161 commits to master since this release

A feature update that also includes several bug fixes. Highlights include refactoring DocumentModel usage, mouse wheel support, and a PasswordField.

Full change list for this release:

  • Added a proper toString() method to the LayerComparator.
  • Added a 'debug mode' to the PickEventSession which lets a caller selectively
    raise the logging level for a particular instance.
  • Removed a leftover unused 'index' field in GuiControl.
  • Added support for GuiUpdateListeners to GuiControl so that things like
    child GuiComponents can hook into the controlUpdate() without having
    to create another full control themselves.
  • Modified GuiControl to lazily instantiate its listener lists.
  • Added a TextField(DocumentModel) convenience constructor.
  • Added a DocumentModel.createCaratReference() method that returns a versioned
    reference for the carat position.
  • Fixed TextEntryComponent to be more reactive to external DocumentModel changes
    and it now uses that even for its own internal changes to the document.
  • Breaking change: DocumentModel has been moved to the com.simsilica.lemur.text
    package and is now an interface. Make sure any of your classes that use
    DocumentModel directly import it from the new location. If you instantiate
    a DocumentModel directly then now you will instantiate DefaultDocumentModel
    instead. Sorry. It needed to be done and was only going to get worse
    the longer I waited.
  • Added a DocumentModelFilter class that is a DocumentModel that wraps other
    DocumentModels to provide filtering and transformation. Callers can do simple
    filtering with Guava Functions and Subclasses can override the methods to
    provide more advanced transformation and input filtering.
  • Added a TextFilters class with a bunch of default input and output implementations
    for commonly used things.
  • Refactored TextField a bit to make it easier to subclass and override the model
    or TextEntryComponent.
  • Added a PasswordField that is auto-wired with some useful DocumentModelFilter
    behavior suitable for password fields. Includes stylable attributes for
    setting the output character and allowed input characters.
  • Fixed a bug where focus wasn't cleared for objects removed from the scene
    graph. The fix is a bit of a hack but there really isn't any other way.
    This fixes issues #42 and #28.
  • Modified the MouseAppState to pass along the scroll wheel information to the
    PickEventSessions. PickEventSession was modified to then pass on the appropriate
    scroll values and deltas to the MouseMotionEvents and CursorMotionEvents.
    CursorMotionEvent was enhanced to have getScrollValue() and getScrollDelta()
    methods.
  • Added an insert(String) method to DocumentModel and its implementations that
    allows bulk-insertion of text instead of just one character at a time
  • Fixed GuiGlobals to not crash under certain circumstances if the build info isn't
    available. Fixes issue #38
  • Fixed the human-readable names for some of the joystick-related input.Button constants.
  • Fixed an issue with mouse button events sending the wrong mouse wheel delta to cursor
    event listeners. Fixes issue #49