Jakub Sobon
f01746199f
Support fixed size splits in the grid API.
2019-05-24 00:23:39 -04:00
nijynot
957330c387
Tweak comments and use Default const in validation
2019-05-11 15:27:39 +02:00
nijynot
c80b59da13
Fix pointer and SplitFixed test
...
* Add DefaultSplitFixed const
* Add comments to SplitFixed
2019-05-10 13:21:55 +02:00
nijynot
b6986c9b4c
Add test and refactor `validateOptions()`
2019-05-09 11:44:13 +02:00
nijynot
70a5255d5e
Refactor `SplitFixed()` to use SplitCells
...
* Add basic tests to `SplitFixed()`
* Panic when both `SplitFixed()` and `SplitPercent()` are used
* Refactor `validateOptions()` into two smaller functions
2019-05-08 21:58:48 +02:00
nijynot
4aa60fe8e7
Refactor fixed container feature to `SplitFixed()` which takes one arg
2019-05-06 21:51:53 +02:00
nijynot
7c5232b662
Add support for fixed heights in SplitHorizontal()
2019-05-05 22:11:51 +02:00
Jakub Sobon
d31b767d5d
Allow options on intermediate containers in the grid.
...
Fixes #181 .
2019-04-07 16:58:18 -04:00
Jakub Sobon
10d4a55348
Provide metadata to widgets when drawing.
2019-04-03 23:13:18 -04:00
Jakub Sobon
f3ff03c1ed
Discover widgets dynamically.
...
Events now discover widgets when they are sent. Previously widgets
subscribed directly to events which is incompatible with dynamic
layouts. Only widgets currently placed into containers should be getting
events.
2019-03-30 00:30:13 -04:00
Jakub Sobon
782d7c3117
Container now supports dynamic layout changes.
2019-03-29 00:24:22 -04:00
Jakub Sobon
85bcf9d8d9
Function that finds container with a specific ID.
2019-03-28 23:04:34 -04:00
Jakub Sobon
0f0f1d4bc8
Validate the tree only once at creation.
2019-03-28 22:50:29 -04:00
Jakub Sobon
461a242338
Margin to be set while Drawing only.
...
Background: #165
2019-03-28 22:48:10 -04:00
Jakub Sobon
c755affe43
Ability to set IDs on containers.
2019-03-28 22:46:33 -04:00
Jakub Sobon
96d136019e
Calculating container areas upon Draw only.
2019-03-28 22:30:09 -04:00
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