I've been pecking away on [Fidgets](https://github.com/elcritch/fidgets). It's 
a widget library built on top of Fidget and has been split out into a new repo. 
However it does rely on my fork of Fidget for the foreseeable future.

That said I've been working on settling a core set of APIs and features:

  * Extensible widget API based on proc's, with syntactic sugar via helper 
macros
  * Syntax to call widgets in block form that matches a Widget's proc arguments
  * Stateful widgets extending basic widgets based on a React Hooks like API 
(`useState`)
  * Event system based on typed enums and routed using another Hooks like api 
(`useEvents`)



There's still a few outstanding changes I want to make:

  * Reworked mouse event system
    * goal to not re-draw a frames unless mouse triggers an action on a node
    * use quadtrees to detect if the mouse is over an active node
    * do proper mouse event propagation
  * More widgets!
    * currently there's: button, listbox, textinput, checkbox, progressbar, 
slider
    * better theming and theme overrides



A demo can be found at 
[fidgets/tests/testDemo.nim](https://github.com/elcritch/fidgets/blob/main/tests/testDemo.nim).

Time for a sample:

Reply via email to