Commit Graph

62 Commits

Author SHA1 Message Date
Jakub Sobon ab013dd021
Better documentation for Grid.
Noting restriction of max height/width and what happens if all widths /
heights are less than 100%.
2019-03-11 22:02:49 -04:00
Jakub Sobon 4203d0e794
Correctly track container focus when the terminal size increases.
Fixes #169.
2019-03-11 01:04:03 -04:00
Jakub Sobon f3e414fee1
Adding licences. 2019-03-11 00:12:33 -04:00
Jakub Sobon a170c5f99d
Fixing lint issues. 2019-03-10 23:54:42 -04:00
Jakub Sobon 0469007a4c
Adding licences. 2019-03-10 23:00:02 -04:00
Jakub Sobon 2cb4cc9797
Adding a grid builder. 2019-03-10 22:59:44 -04:00
Jakub Sobon 74769824a4
Support margin around containers. 2019-03-03 02:38:35 -05:00
Jakub Sobon 9a021b52b1
Containers now support padding of their content. 2019-03-03 01:16:36 -05:00
Jakub Sobon b020770733
Moving widgetapi out of internal.
This will allow external users to develop their own widgets.
2019-03-02 22:00:07 -05:00
Jakub Sobon 50c00a2c8f
Moving fakewidget to the internal subdirectory. 2019-02-24 22:36:09 -05:00
Jakub Sobon 0938ae91d8
Refactoring internal functions from align to internal/alignfor. 2019-02-24 15:44:13 -05:00
Jakub Sobon 85902cf11a
Button is internal. 2019-02-24 02:09:27 -05:00
Jakub Sobon b25d20c8ae
Mouse and keyboard are also public. 2019-02-24 02:08:48 -05:00
Jakub Sobon 98394c921a
Moving draw back to internal.
Adding test for linestyle.
2019-02-24 01:54:37 -05:00
Jakub Sobon e4726e4240
Changing all call sites to linestyle. 2019-02-24 01:51:50 -05:00
Jakub Sobon b74f46509b
Moving runewidth, segdisp and testdraw to internal. 2019-02-24 01:27:17 -05:00
Jakub Sobon bf61ca1479
Moving draw out of internal. 2019-02-24 01:20:03 -05:00
Jakub Sobon 97ec73069f
Moving align, cell and terminalapi back from internal. 2019-02-24 01:13:26 -05:00
Jakub Sobon 8df9e3307c
Moving faketerm to internal. 2019-02-24 01:09:23 -05:00
Jakub Sobon bf38f10d25
Moving terminal back to public. 2019-02-24 01:04:57 -05:00
Jakub Sobon be90fe60ea
Documenting non-public method of container. 2019-02-23 21:25:03 -05:00
Jakub Sobon 5ac468c10a
Moving terminal, terminalapi and widgetapi to internal subdirectory.
And adding a README under internal.
2019-02-23 21:19:16 -05:00
Jakub Sobon 2ff1818c0e
Moving keyboard and mouse to internal. 2019-02-23 21:11:50 -05:00
Jakub Sobon 6c03991fb9
Moving draw and event to internal. 2019-02-23 21:10:51 -05:00
Jakub Sobon 7ee222ac58
Moving private libraries into internal subdirectory. 2019-02-23 21:09:38 -05:00
Jakub Sobon 22946f2f65
Allowing widgets to select the scope for mouse events too. 2019-02-23 00:41:58 -05:00
Jakub Sobon 0df7387862
Widgets can now register for global keyboard events. 2019-02-22 00:33:55 -05:00
Jakub Sobon 006c021f63
Also throttling repetitive events to focus and widgets. 2019-02-21 01:44:31 -05:00
Jakub Sobon 8780433b62
Moving container to EDS. 2019-02-20 23:36:58 -05:00
Jakub Sobon 37d557d30f
Switching container to EDS.
TODO: rewrite tests to use Subscribe().
2019-02-20 02:20:11 -05:00
Jakub Sobon 768e3c306c
Generalizing the mouse button FSM.
Taking this out of the container package so it can be reused by widgets.
2019-02-12 22:37:00 -05:00
Jakub Sobon 09f2140437
API for the mouse FSM. 2019-02-11 01:09:48 -05:00
Jakub Sobon 11ec278c1a
Fixing a comment. 2019-02-03 23:47:15 -05:00
Jakub Sobon 8968704de2
Fixing racy behavior between Options and Draw.
This applies to widgets whose Options depend on user data.
Documenting this in the docs and on API and protecting against this
condition in the affected widgets.
2019-01-26 23:58:38 -05:00
Jakub Sobon 9a7e7b5af8
Support variable size container splits. 2019-01-14 01:11:55 -05:00
Jakub Sobon 964d676e31
Allowing container.Option to report an error. 2019-01-14 00:08:20 -05:00
Jakub Sobon 79218c9233
Fixing lint errors.
- Missing comments.
- Invalid comments.
- Stuttering public name.
2018-05-11 16:32:37 +01:00
Jakub Sobon ea375744a7
Adding travis-ci and coveralls configuration. 2018-05-08 18:53:14 +01:00
Jakub Sobon 039a028ff9
Fixing issues reported by go vet. 2018-05-08 01:20:48 +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 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 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 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 6fe129c940 Implementing the infrastructure layer. 2018-04-23 01:05:54 +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 2cd3343c81 Adding licences and a script to automate the same. 2018-04-14 23:06:57 +01:00
Jakub Sobon 5ce9e90d68
Test coverage for processing of Keyboard and Mouse events. 2018-04-14 22:00:25 +01:00