Commit Graph

65 Commits

Author SHA1 Message Date
Jakub Sobon e2a4927612
Adding licences. 2018-05-08 01:14:36 +01:00
Jakub Sobon c28cec560e
Implementing the Gauge widget.
Fixes #6.
2018-05-08 01:12:36 +01:00
Jakub Sobon 72df12349c
Exposing alignment directly instead wrapping in options.
And removing experimental code in favor of individual widget demos.
2018-05-07 21:48:22 +01:00
Jakub Sobon 09464a2db7
Improving error handling. 2018-05-07 21:30:38 +01:00
Jakub Sobon 220f979fa6
Generalizing code that aligns text within a rectangle. 2018-05-07 20:32:14 +01:00
Jakub Sobon 5aed5ecf24
Changing the default alignment of widget canvases to center and middle.
Fixes #25.
2018-05-07 18:53:29 +01:00
Jakub Sobon f128e8508c
Container's border now supports a title.
Fixes #22.
Fixes #19.
2018-05-07 18:48:52 +01:00
Jakub Sobon b4b1d8b2a6
Border now supports a title.
Updates #22.
2018-05-07 18:32:41 +01:00
Jakub Sobon 74bdcd649f
Moving alignment code from container into its own package. 2018-05-07 17:44:32 +01:00
Jakub Sobon 88fc5b2782
Unifying the last API in the draw package.
Fixes #23.
2018-05-07 16:50:27 +01:00
Jakub Sobon b62c9406ab
Renaming draw.Box to draw.Border and improving its API.
Also adding tests for draw.Rectangle.

Updates #23 and #22.
2018-05-07 13:33:18 +01:00
Jakub Sobon f31887b63c
A widget option to specify the maximum canvas size. 2018-05-07 12:42:19 +01:00
Jakub Sobon e249f6ffc4
Adding a test helper for draw.Rectangle. 2018-05-07 12:41:45 +01:00
Jakub Sobon 48fb6a5e29
Widgets can now specify the maximum size of their canvas.
Also moving align types out of container so they can be reused.
2018-05-07 12:40:40 +01:00
Jakub Sobon d7cad7b9e4
Replacing project status with list of implemented widgets. 2018-05-07 12:39:45 +01:00
Jakub Sobon a265a12bd6
Function that draws a Rectangle.
This time for real.
2018-05-06 19:30:20 +01:00
Jakub Sobon 2473cd46d6
A function that draws a rectangle.
Also:
- implementing text trimming and wrapping.
- Switching log.Fatalf to panic() for more understandable test errors.
2018-05-06 19:28:52 +01:00
Jakub Sobon b42236a117
Adding missing licences. 2018-04-23 14:26:26 +01:00
Jakub Sobon ffe665a306
Removing redundant word. 2018-04-23 01:36:27 +01:00
Jakub Sobon 8032b94f08 Updating project task list. 2018-04-23 01:11:59 +01:00
Jakub Sobon 6fe129c940 Implementing the infrastructure layer. 2018-04-23 01:05:54 +01:00
Jakub Sobon 0199ffbb9a Supporting resize and events on the fake terminal. 2018-04-23 00:49:38 +01:00
Jakub Sobon bf1fc73140 Adding an informative MinimumSize for the Fake widget. 2018-04-23 00:47:49 +01:00
Jakub Sobon e18b9ba79b Improving comment about thread un-safety. 2018-04-23 00:47:12 +01:00
Jakub Sobon 9b5caa35f5 Don't pop from the queue after context expiry. 2018-04-23 00:46:36 +01:00
Jakub Sobon 2d4d903f87 Container handles resize correctly.
And making container thread unsafe, thread safety will be implemented at
the top.
2018-04-23 00:45:17 +01:00
Jakub Sobon abdbd82b29 Notes about design guidelines in the docs. 2018-04-23 00:44:32 +01:00
Jakub Sobon 2e219dde67 Removing note about the licence. 2018-04-14 23:16:57 +01:00
Jakub Sobon 6823abe349 Licence for the autogen script. 2018-04-14 23:08:34 +01:00
Jakub Sobon 2cd3343c81 Adding licences and a script to automate the same. 2018-04-14 23:06:57 +01:00
Jakub Sobon 8cd11ab6de Adding a CONTRIBUTING.md file. 2018-04-14 23:02:18 +01:00
Jakub Sobon 5ce9e90d68
Test coverage for processing of Keyboard and Mouse events. 2018-04-14 22:00:25 +01:00
Jakub Sobon 3a058b407f
Renaming widget to widgetapi for consistency with terminalapi. 2018-04-09 03:33:24 +01:00
Jakub Sobon 5c32ca7f7f
Support for keyboard, mouse, widget options and alignment. 2018-04-09 03:17:40 +01:00
Jakub Sobon 0bbb28d13d
Adding a fake widget. 2018-04-07 14:24:55 +02:00
Jakub Sobon c896b5160f
Containers now track focus. 2018-04-06 04:56:36 +02:00
Jakub Sobon 28f6bfdb3e
Adding option to draw container borders in color.
And updating the faketerm diff function to also display differences in
options.
2018-04-05 19:57:46 +02:00
Jakub Sobon cec3153dc6
Hooking up events from termbox. 2018-04-05 19:35:02 +02:00
Jakub Sobon fe222a489e
Converting keyboard and mouse events from termbox to termdash. 2018-04-05 05:02:43 +02:00
Jakub Sobon 86e7b2f425
Wake up all waiting goroutines. 2018-04-02 02:07:17 +02:00
Jakub Sobon 4608c44534
Grammar fixes. 2018-04-02 02:04:02 +02:00
Jakub Sobon d76e7e254a
Updating the project status. 2018-04-02 02:03:15 +02:00
Jakub Sobon 3ebc253453
Implementing an unbound FIFO queue of terminal events. 2018-04-02 01:59:04 +02:00
Jakub Sobon 16de0d2b87
Fixing build and test errors. 2018-04-02 00:47:08 +02:00
Jakub Sobon 19fb73bc55
Adding an "Error" event type. 2018-04-02 00:43:55 +02:00
Jakub Sobon 1911e2190a
Making the container API easier to use. 2018-04-01 16:00:20 +02:00
Jakub Sobon af6c5e9c81
Propagate the error when drawing the containers. 2018-04-01 01:02:37 +02:00
Jakub Sobon 3a3531d7e1
Implementation of container and its tests.
Including a diff utility for unit tests.
2018-04-01 00:57:33 +02:00
Jakub Sobon 6b592b7d34
Adding the draw library.
And a function that draws boxes.
2018-03-30 01:41:22 +03:00
Jakub Sobon dc1f2c5a29
Implementing canvas functionality.
Done here:
- adding helper library which determines area from size and vice versa.
- fixing an off-by-one bug related to area sizes.
- allowing overwrite of cell options by passing an existing cell.Options
instance.
- implementing canvas and its tests.
2018-03-29 03:28:36 +03:00