Commit Graph

56 Commits

Author SHA1 Message Date
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
Jakub Sobon 59e1bd6472
Implementing cell, buffer, container options and fake terminal.
Push after a partial commit to prevent data loss.
This isn't complete and doesn't have complete test coverage.
2018-03-28 21:34:20 +03:00
Jakub Sobon 53fe40fcec
Naive implementation of the terminalapi using the termbox library.
This just wraps termbox, getting Events isn't supported yet.

Also adding an experimental.
2018-03-27 20:20:05 +01:00
Jakub Sobon bc42865277
Defining the APIs. 2018-03-27 19:01:35 +01:00
Jakub Sobon 0617fd5ecf High level task list to track project status. 2018-03-26 18:22:07 +01:00
Jakub Sobon 85893fd411 Complete draft of the HLD. 2018-03-26 18:16:58 +01:00
Jakub Sobon a725c1f73a Details on widgets and the Widget API. 2018-03-26 18:04:09 +01:00
Jakub Sobon 1bd0b2f0fd Writeup on the role of the infrastructure. 2018-03-26 17:28:14 +01:00
Jakub Sobon ab6673540a Renaming display to terminal.
Also adding a .gitignore.
2018-03-26 16:31:20 +01:00
mumak 9d21af6c8a
Style related changes.
Image size and alignment.
Go syntax highlighting.
2018-03-26 15:45:29 +01:00