Commit Graph

833 Commits

Author SHA1 Message Date
Jonathan Daugherty
04755d48f1 Core: make fixed padding take precedence over padded widgets (fixes #42)
Prior to this commit, padding a widget meant that if there was room
after rendering the widget, the specified amount of padding would be
added. This meant that under tight layout constraints padding would
disappear before a padded widget would. This is often a desirable
outcome but it also led to unexpected behavior when adding padding to a
widget that grows greedily: fixed padding would never show up because it
was placed in a box adjacent to the widget in question, and boxes always
render greedy children before fixed ones. As a result fixed padding
would disappear under these conditions.

Instead, in the case of fixed padding, since we often intend to
*guarantee* that padding is present, all of the padding combinators have
been modified so that when the padded widget is rendered with fixed
padding in the amount V, the widget is given V fewer rows/columns when
it is rendered so that the padding always has room.
2016-01-23 16:09:29 -08:00
Jonathan Daugherty
568df56630 Markup: make markup support multi-line strings (fixes #41) 2016-01-23 15:55:23 -08:00
Simon Wollwage
1e558cc4b7 Restores removed imports that are necessary for 7.8 2016-01-19 18:57:04 +09:00
Simon Wollwage
739bc1c4a8 Remove a nested if/else in listRemove and removes redundant brackets 2016-01-19 18:40:54 +09:00
Jonathan Daugherty
01bafb0b5b Update changelog, bump version 2016-01-15 15:57:48 -08:00
Jonathan Daugherty
6d69593688 Merge pull request #38 from ts468/master
Bug fix for visibility requests + allow 'visible' multiple times
2016-01-15 15:50:47 -08:00
Thomas Strobel
c37480a16c Honor multiple 'visible' markers, with preference on the inner widget. 2016-01-14 20:58:39 +01:00
Thomas Strobel
c93e75e406 Fix bug in adjusting viewport with 'visible'.
If the size of the visibility request was larger than the available
space, then the rendering of a viewport was toggling between two states,
one with aligning on the end of the visibility request, and another one
aligning on the start. This commit fixes it so that a visibility request
is always aligned on the start if not enough space is available.
2016-01-14 20:54:09 +01:00
Jonathan Daugherty
ccc9fa361b Remove travis build for 7.8.3 (but keep 7.8.4) 2016-01-11 21:17:30 -08:00
Jonathan Daugherty
36fb1f0e4b Update copyright 2016-01-11 21:15:59 -08:00
Jonathan Daugherty
3f716a91b8 Bump version 2016-01-11 21:04:28 -08:00
Jonathan Daugherty
16578375f1 Update changelog 2016-01-11 21:04:14 -08:00
Jonathan Daugherty
7308e3ed08 Rename lookupViewportR to unsafeLookupViewport, move to Brick.Widgets.Core 2016-01-11 20:55:25 -08:00
Jonathan Daugherty
902c87d19b Merge pull request #37 from ts468/master
Add lookupViewportR function
2016-01-11 20:40:53 -08:00
Thomas Strobel
bb4f7a7081 Add 'lookupViewportR'. 2016-01-07 16:54:47 +01:00
Jonathan Daugherty
22da6a9f50 Merge pull request #36 from markus1189/list-addons
List: add `listClear` and `listReverse`
2016-01-04 11:18:46 -08:00
Markus Hauck
4982272d16 List: add listClear and listReverse 2016-01-04 19:54:08 +01:00
Jonathan Daugherty
5039c8df1c Merge pull request #34 from markus1189/instances
Derive `List` instances: Functor, Foldable, Traversable
2015-12-27 12:07:13 -10:00
Markus Hauck
7f334b68a2 Derive List instances: Functor, Foldable, Traversable 2015-12-27 21:52:30 +01:00
Jonathan Daugherty
0787cc8438 Merge pull request #33 from markus1189/markup
Hyperlink "Data.Text.Markup" inside Brick.Markup haddock
2015-12-27 00:21:59 -10:00
Markus Hauck
cb6a31039c Hyperlink "Data.Text.Markup" inside Brick.Markup haddock 2015-12-27 10:00:17 +01:00
Jonathan Daugherty
6db49eaed5 Merge pull request #31 from markus1189/typo
Fix typo in section `Attribute Management`
2015-12-26 06:47:30 -10:00
Markus Hauck
8c183afa2e Fix typo in section Attribute Management 2015-12-26 10:41:40 +01:00
Jonathan Daugherty
1c6d83ae72 Bump version and update changelog 2015-12-21 11:05:56 -10:00
Jonathan Daugherty
d7a717e313 Merge pull request #30 from AndrewRademacher/master
Reinstate MonadIO instance for EventM
2015-12-21 11:04:13 -10:00
AndrewRademacher
9e4b3ef702 Added MonadIO support to EventM. 2015-12-21 14:34:59 -06:00
Jonathan Daugherty
625e483483 Bump version 2015-12-12 14:43:49 -08:00
Jonathan Daugherty
9a7453cf6c Update CHANGELOG 2015-12-12 14:43:22 -08:00
Jonathan Daugherty
a0c0560c55 Merge pull request #29 from markus1189/hlint-hints
Apply some hlint hints
2015-12-09 14:44:55 -08:00
Markus Hauck
e59559b0d1 Apply hlint hints
- programs/LayerDemo: combine imports
- programs/SuspendAndResumeDemo: redundant do
- programs/ViewportScrollDemo: unused pragma
- src/Brick/Main: redundant do
- src/Brick/Widgets/Center: use fromMaybe
- src/Brick/Widgets/Core: combine imports, redundant do, use >=>
- src/Brick/Widgets/Internals: redundant '$'
- src/Brick/Widgets/List: use fromMaybe
- src/Brick/Widgets/ProgressBar: use fromMaybe
2015-12-09 20:15:09 +01:00
Jonathan Daugherty
9e34ec6aee Merge pull request #28 from markus1189/readme-typo
Small typo in README
2015-12-08 12:57:56 -08:00
Markus Hauck
437d12509d Small typo in README 2015-12-08 21:48:10 +01:00
Jonathan Daugherty
7ee2106de5 Merge pull request #26 from Profpatsch/master
renderList: add argument haddock
2015-11-28 12:50:24 -08:00
Profpatsch
3535d792ee renderList documentation 2015-11-28 19:41:58 +01:00
Jonathan Daugherty
494fd78eb9 Types: explicit import of Applicative for older GHCs 2015-11-22 11:59:46 -08:00
Jonathan Daugherty
81f8e6e5f8 API: make EventM a newtype instead of a type alias 2015-11-22 11:43:48 -08:00
Jonathan Daugherty
0c74254be7 List: use clamp rather than re-implementing it 2015-11-13 15:43:12 -08:00
Jonathan Daugherty
7e4b6ff072 API: listReplace now takes the new selected index and no longer does element diffing
This change:

- Removes the dependency on the Diff package
- Modifies listReplace to do a simple replacement of the list vector and
  a bounds check on the new selection index
- Removes the old "smart merge" behavior that listReplace had because it
  is neither obvious nor universal what its behavior should be
2015-11-13 15:38:57 -08:00
Jonathan Daugherty
0d8df76feb Update changelog and version for 0.2.3 2015-11-13 15:16:40 -08:00
Jonathan Daugherty
51eb48d298 viewport: when images shrink beneath the viewport size, reset the top/left to zero (fixes #22) 2015-11-11 14:06:07 -08:00
Jonathan Daugherty
5ebc51aa6a Update changelog, bump version 2015-11-05 13:03:41 -08:00
Jonathan Daugherty
af4bd22243 Merge pull request #20 from Kaligule/master
Use characters instead of numbers in demo list and make item addition saner
2015-10-22 09:58:46 -07:00
Jøhannes Lippmann
be47eb2a2b Changed ListDemo list type from List Int to List Char, small bugfix.
This might improve the understanding of what is a list item and what
is a position. Also in when running the demo it was possible to create
identical items by removing an element form the middle and adding a
new one (wich got the number (length of list), not (smallest unused
element in list)).
2015-10-22 11:26:51 +02:00
Jonathan Daugherty
8483caa0c1 Update changelog, bump version 2015-09-17 20:16:08 -07:00
Jonathan Daugherty
a89df7b04c Bugfix: List: make lists greedy in both dimensions due to their use of viewports 2015-09-17 14:54:29 -07:00
Jonathan Daugherty
8507b7a132 Merge pull request #16 from rootzlevel/vScrollPage
BUGFIX: make vScrollPage actually scroll vertically
2015-09-02 09:53:27 -07:00
Hans-Peter Deifel
58c600c4c9 Make vScrollPage actually scroll vertically
A typo in the definition of vScrollPage made it equivalent to
hScrollPage.
2015-09-02 18:36:03 +02:00
Jonathan Daugherty
75d559f4db Bump version to 0.2 2015-08-24 10:53:24 -07:00
Jonathan Daugherty
2df0bdf670 Update CHANGELOG for 0.2 2015-08-24 10:49:31 -07:00
Jonathan Daugherty
aea55a2225 Relax dependency on deepseq to include 1.3 to support GHC 7.8 2015-08-24 08:45:36 -07:00