Commit Graph

117 Commits

Author SHA1 Message Date
Jonathan Daugherty
226d59bf5d Stop exporting and using "for" 2015-07-07 17:05:24 -07:00
Jonathan Daugherty
201dfdc4a3 Rename Brick.Core to Brick.Types 2015-07-07 17:00:42 -07:00
Jonathan Daugherty
afc0c95be8 Flip the arguments to application event handlers to make event pattern-matching more natural 2015-07-01 13:05:28 -07:00
Jonathan Daugherty
9601098d46 Add appStartEvent to support getting scroll requests on the first rendering of the app state before other events have arrived 2015-06-30 19:15:29 -07:00
Jonathan Daugherty
52bf9ec288 Clean up attribute management combinators, use attribute names instead of attributes 2015-06-28 22:08:54 -07:00
Jonathan Daugherty
700081f7cd Change list/edit lens naming convention to use L suffix
- Lenses for edit and list widgets now have L suffixes, e.g.
  editorNameL
- Non-lens equivalents for edit and list field accessors are now
  exported for non-lens use cases
- suffixLenses is added as an alternative to makeLenses for building
  these lenses
2015-06-28 11:57:38 -07:00
Jonathan Daugherty
0ba00780c0 Add TerminalLocation interface for Location-like things and use it 2015-06-28 11:35:28 -07:00
Jonathan Daugherty
a4ed1dda89 Make editor fields lenses and export them 2015-06-28 11:20:53 -07:00
Jonathan Daugherty
af4ff1dfe1 Rename editStr to editContents 2015-06-28 11:13:04 -07:00
Jonathan Daugherty
4e9de7c80c Make editor interface consistent with list by accepting a content drawing function 2015-06-28 11:02:18 -07:00
Jonathan Daugherty
3bcc144114 Make list fields lenses and export them 2015-06-28 10:58:54 -07:00
Jonathan Daugherty
d49423cc4f Get rid of box rendering priority in favor of using size hints to control rendering order 2015-06-27 16:34:45 -07:00
Jonathan Daugherty
adbcbf72b0 Use text instead of padding in demo 2015-06-27 15:25:19 -07:00
Jonathan Daugherty
6ffc25af75 Rename appMakeEvent 2015-06-25 23:42:52 -07:00
Jonathan Daugherty
552e765ec2 Make main customizable by specifying the event channel 2015-06-25 23:22:22 -07:00
Jonathan Daugherty
d696dfb58b Add suspend-and-resume capability to perform IO without losing application or terminal state 2015-06-25 12:58:32 -07:00
Jonathan Daugherty
146fde46d0 Edit: export editStr, show in demo program 2015-06-24 21:26:44 -07:00
Jonathan Daugherty
258f04ebe3 Make event handlers return whether to continue or shut down, return final application state 2015-06-24 21:24:58 -07:00
Jonathan Daugherty
0c978dc150 Improve module hierarchy further 2015-06-24 20:58:34 -07:00
Jonathan Daugherty
089f9ae41f Improve module hierarchy 2015-06-24 20:54:32 -07:00
Jonathan Daugherty
a73b7f70f4 Rename Render to Widget and make it a record type whose field is the rendering function 2015-06-24 20:34:35 -07:00
Jonathan Daugherty
64873a2cae borders: take an arbitrary rendering as the border label instead of requiring a text value 2015-06-21 13:56:27 -07:00
Jonathan Daugherty
074aff9b3a txt now takes a Text value, str takes a String 2015-06-21 13:47:47 -07:00
Jonathan Daugherty
7308855d93 Add support for scrollable viewports by making scroll requests in event handlers rather than using render-time visibility requests 2015-06-20 15:02:54 -07:00
Jonathan Daugherty
73a337be4d Support using arbitrary functions to render editor contents; improve Markup interface to work more easily with editors; add demonstration of using markup with editors 2015-06-15 20:26:29 -07:00
Jonathan Daugherty
33d5ce42f4 Use and export a horizontal border label attribute name 2015-06-15 13:32:10 -07:00
Jonathan Daugherty
f75ce3c7ee Support hierarchical attribute fallback in map lookup, assign attribute hierarchy to border elements 2015-06-14 17:23:27 -07:00
Jonathan Daugherty
a029ffe423 Adds support for attribute mapping
- App now provides appAttrMap which extracts an attribute map from
  the application state.  This enables the application to dictate
  which attributes get used for which things.
- Updates list and edit components to use the attribute map to select
  attributes.
- Updates the markup implementation to support either direct attriubute
  specification or indirect via mapped names.
- Updates the demos to show how to use attribute name maps.
- Renames and adds some core library combinators to support using either
  names or attributes.
2015-06-14 16:14:35 -07:00
Jonathan Daugherty
a4fbfd4d29 Remove @@ operator from core library in favor of markup operator 2015-06-14 13:16:57 -07:00
Jonathan Daugherty
4af5dc1408 Rename useAttr to withAttr and add @@ operator to do the same 2015-06-07 22:50:08 -07:00
Jonathan Daugherty
1d804c5249 Clean up demo combinators, make vLimit implicit in editors 2015-06-07 20:51:56 -07:00
Jonathan Daugherty
614724f555 centering: make centering combinators support filled or unfilled padding so centered drawings are layer-friendly 2015-06-07 20:38:07 -07:00
Jonathan Daugherty
d1bc47bd71 demo: simplify usage of layout combinators 2015-06-07 20:37:32 -07:00
Jonathan Daugherty
4e7da0792f Make border style part of the rendering context and expose functions to get or change it; update border functions so they implicitly use the style in the context 2015-06-07 19:40:49 -07:00
Jonathan Daugherty
5c7c424936 Update edit widget API to use similar naming convention as list 2015-06-07 19:28:16 -07:00
Jonathan Daugherty
3183798952 Use more consistent naming convention for list API 2015-06-07 19:27:35 -07:00
Jonathan Daugherty
4267a809f2 Rename translate to translateBy to avoid import clashes with Vty.translate 2015-06-07 19:27:20 -07:00
Jonathan Daugherty
286ce1d820 Unify cursor names and regular names and use editor and list names to name viewports 2015-06-07 18:52:04 -07:00
Jonathan Daugherty
999d45a632 During rendering, make cropping a caller responsibility to permit last-minute cropping and better support for layers; update rogue demo; add centerAbout; export Context and its lenses; use better box layout for demo UI 2015-06-07 18:37:36 -07:00
Jonathan Daugherty
aa18aba79d Get rid of now-unused type variable on Render type 2015-06-07 17:36:50 -07:00
Jonathan Daugherty
5aac657d2f Get rid of scrolling wrappers, replace with viewport abstraction and primitives 2015-06-07 17:33:34 -07:00
Jonathan Daugherty
b409e7f4a8 Rename Prim module hierarchy 2015-05-29 18:25:46 -07:00
Jonathan Daugherty
bbd178ef20 Rename Prim to Render 2015-05-29 18:22:12 -07:00
Jonathan Daugherty
d17754b35f Rename with to withLens 2015-05-25 22:05:32 -07:00
Jonathan Daugherty
c5ccbfcdfe Make prim-building happen in a state monad over underlying data model 2015-05-25 18:07:20 -07:00
Jonathan Daugherty
44e211d18f Export list moveBy and use in demo 2015-05-24 12:11:27 -07:00
Jonathan Daugherty
debe0e4653 Make list/edit draw functions build outer prims and take a lens for list/edit access 2015-05-19 20:43:15 -07:00
Jonathan Daugherty
76a7fc83c8 Add support for scrolling to windows rather than points and add support for variably-sized list prims 2015-05-19 19:28:22 -07:00
Jonathan Daugherty
94b891ee6b Add ctrl-arrow note 2015-05-18 21:58:56 -07:00
Jonathan Daugherty
1f91ed32ff Improve translation prim, add translation demo 2015-05-18 21:58:16 -07:00