2015-08-07 05:19:02 +03:00
|
|
|
|
|
|
|
Brick changelog
|
|
|
|
---------------
|
|
|
|
|
2015-11-14 02:16:40 +03:00
|
|
|
0.2.3
|
|
|
|
-----
|
|
|
|
|
|
|
|
Bug fixes:
|
|
|
|
* Fixed viewport behavior when the image in a viewport reduces its size
|
|
|
|
enough to render the viewport offsets invalid. Before, this behavior
|
|
|
|
caused a crash during image croppin in vty; now the behavior is
|
|
|
|
handled sanely (fixes #22; reported by Hans-Peter Deifel)
|
|
|
|
|
2015-11-06 00:03:41 +03:00
|
|
|
0.2.2
|
|
|
|
-----
|
|
|
|
|
|
|
|
Demo changes:
|
|
|
|
* Improved the list demo by using characters instead of integers in the
|
|
|
|
demo list and cleaned up item-adding code (thanks Jøhannes Lippmann
|
|
|
|
<code@schauderbasis.de>)
|
|
|
|
|
2015-09-18 06:14:48 +03:00
|
|
|
0.2.1
|
|
|
|
-----
|
|
|
|
|
|
|
|
Bug fixes:
|
|
|
|
* List:
|
|
|
|
* Fixed size policy of lists so that rather than being Fixed/Fixed,
|
|
|
|
they are Greedy/Greedy. This resolves issues that arise when the box
|
|
|
|
layout widget renders a list widget alongside a Fixed/Fixed one.
|
|
|
|
(Closes issue #17, thanks Karl Voelker)
|
|
|
|
* Scrolling:
|
|
|
|
* vScrollPage actually scrolls vertically now rather than horizontally
|
|
|
|
(Thanks Hans-Peter Deifel <hpd@hpdeifel.de>)
|
|
|
|
|
2015-08-24 18:38:09 +03:00
|
|
|
0.2
|
|
|
|
---
|
|
|
|
|
2015-08-24 20:49:31 +03:00
|
|
|
API changes:
|
|
|
|
* Added top-level `Brick` module that re-exports the most important
|
|
|
|
modules in the library.
|
|
|
|
* List:
|
|
|
|
* Now instead of passing the item-drawing function to the `list` state
|
|
|
|
constructor, it is passed to `renderList`
|
|
|
|
* `renderList` now takes the row height of the list's item widgets.
|
|
|
|
The list item-drawing function must respect this in order for
|
|
|
|
scrolling to work properly. This change made it possible to optimize
|
|
|
|
the list so that it only draws widgets visible in the viewport
|
|
|
|
rather than rendering all of the list's items (even the ones
|
|
|
|
off-screen). But to do this we must be able to tell in advance
|
|
|
|
how high each one is, so we require this parameter. In addition
|
|
|
|
this change means that lists no longer support items of different
|
|
|
|
heights.
|
|
|
|
* The list now uses Data.Vector instead of [a] to store items; this
|
|
|
|
permits efficient slicing so we can do the optimized rendering
|
|
|
|
described above.
|
|
|
|
* The `HandleEvent` type class `handleEvent` method now runs in
|
|
|
|
`EventM`. This permits event-handling code implemented in terms of
|
|
|
|
`HandleEvent` to do get access to viewport state and to run IO code,
|
|
|
|
making it just as powerful as code in the top-level `EventM` handler.
|
|
|
|
* Many types were moved from `Brick.Widgets.Core` and `Brick.Main` to
|
|
|
|
`Brick.Types`, making the former module merely a home for `Widget`
|
|
|
|
constructors and combinators.
|
|
|
|
* The `IsString` instance for `Widget` was removed; this might be
|
|
|
|
reinstated later, but this package provides enough `IsString`
|
|
|
|
instances that things can get confusing.
|
|
|
|
* `EventM` is now reader monad over the most recent rendering pass's
|
|
|
|
viewport state, in addition to being a state monad over viewport
|
|
|
|
requests for the renderer. Added the `lookupViewport` function to
|
|
|
|
provide access to the most recent viewport state. Exported the
|
|
|
|
`Viewport` type and lenses.
|
|
|
|
* Now that `handleEvent` is now an `EventM` action, composition with
|
|
|
|
`continue` et al got a little messier when using lenses to
|
|
|
|
update the application state. To help with this, there is now
|
|
|
|
`handleEventLensed`.
|
|
|
|
|
|
|
|
Bugfixes:
|
|
|
|
* Lists now perform well with 10 items or a million (see above; fixes
|
|
|
|
#7, thanks Simon Michael)
|
|
|
|
* Added more haddock notes to `Brick.Widgets.Core` about growth
|
|
|
|
policies.
|
|
|
|
* Forced evaluation of render states to address a space leak in the
|
|
|
|
renderer (fixes #14, thanks Sebastian Reuße <seb@wirrsal.net>)
|
|
|
|
* str: only reference string content that can be shown (eliminates a
|
|
|
|
space leak, fixes #14, thanks Sebastian Reuße <seb@wirrsal.net>)
|
|
|
|
|
|
|
|
Misc:
|
|
|
|
* Added a makefile for the user guide.
|
|
|
|
* List: added support for Home and End keys (thanks Simon Michael)
|
|
|
|
* Viewports: when rendering viewports, scroll requests from `EventM` are
|
|
|
|
processed before visibility requests from the rendering process; this
|
|
|
|
reverses this previous order of operations but permits user-supplied
|
|
|
|
event handlers to reset viewports when desired.
|
|
|
|
|
|
|
|
Package changes:
|
2015-08-24 18:38:09 +03:00
|
|
|
* Added `deepseq` dependency
|
|
|
|
|
2015-08-07 05:19:02 +03:00
|
|
|
0.1
|
|
|
|
---
|
|
|
|
Initial release
|