Commit Graph

38 Commits

Author SHA1 Message Date
Jakub Sobon ceab87b797
Termdash tests exercising delivery of event metadata. 2020-11-27 23:31:17 -05:00
Jakub Sobon dd6acb15e1
Give metadata about events to widgets. 2020-11-24 22:03:58 -05:00
Jakub Sobon 3cbd993521
Making tcell the default in all demos and examples. 2020-11-14 01:09:07 -05:00
Jakub Sobon 06eb7623bd
Modifying imports 'internal' -> 'private'. 2020-04-10 15:26:45 -04:00
Jakub Sobon 10d4a55348
Provide metadata to widgets when drawing. 2019-04-03 23:13:18 -04:00
Jakub Sobon ad0b42162f
Fixing termdash_test. 2019-03-30 01:46:55 -04: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 4465dced2d
Wait for subscribers to process events. 2019-03-02 18:24:10 -05:00
Jakub Sobon 50c00a2c8f
Moving fakewidget to the internal subdirectory. 2019-02-24 22:36:09 -05:00
Jakub Sobon b25d20c8ae
Mouse and keyboard are also public. 2019-02-24 02:08:48 -05:00
Jakub Sobon b74f46509b
Moving runewidth, segdisp and testdraw to internal. 2019-02-24 01:27:17 -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 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 0490734d1e
Running gofmt. 2019-02-23 00:42:47 -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 2ff14a4477
EDS now has the ability to throttle repetitive events.
And fixing capture of loop variable in parallel tests.
2019-02-21 01:14:25 -05:00
Jakub Sobon 8e27431486
Parallelism for event_test too. 2019-02-21 00:32:57 -05:00
Jakub Sobon 94f3c69f7e
Running termdash_test in parallel. 2019-02-21 00:05:56 -05:00
Jakub Sobon d100f6fc24
Switching termdash test to common spinlock utility.
And delaying redraws to allow fast widgets to process the input event.
2019-02-20 23:35:26 -05:00
Jakub Sobon f09e1be361
Fixing data races in tests.
The EDS is concurrent by design.
2019-02-20 01:32:23 -05:00
Jakub Sobon 36bf99ebc7
Fixing invalid use of time.Timer.
Timer fires only once. Needs to be recreated.
2019-02-19 23:37:37 -05:00
Jakub Sobon 772fdae7cc
Moving eventqueue into new event directory. 2019-02-18 22:56:20 -05:00
Jakub Sobon 9fcc00f462
Increasing the time allowed for Run to finish its operation. 2019-01-26 22:53:03 -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 31f3862524
Removing two races in termdash_test.
- run the after() func after the event queue is emptied.
- close termdash before comparing the content of the fake terminal,
the background redraw() function could still race with the faketerm.Diff
function which isn't thread safe.
2018-06-23 20:52:32 -04:00
Jakub Sobon 1f41c7afee
First empty the queue, then redraw. 2018-06-19 21:46:03 -04:00
Jakub Sobon 7ceec7a572
Support manually triggered redraw.
This can be a more viable option for some users as it is less resource
intensive. The user knows when the data in any of the widget changed and
thus can trigger a redraw. External events still redraw the terminal
immediately.

Done here:
- Added a controller for the manually triggered redraws.
- Added an example of using termdash with triggered redraw.
- Removing couple of races in the test by waiting for the event queue to
empty before comparing values and by moving the test of terminal resize
into the test that triggers redraws.
2018-06-18 20:13:20 +01:00
Jakub Sobon 039a028ff9
Fixing issues reported by go vet. 2018-05-08 01:20:48 +01:00
Jakub Sobon 09464a2db7
Improving error handling. 2018-05-07 21:30:38 +01:00
Jakub Sobon b42236a117
Adding missing licences. 2018-04-23 14:26:26 +01:00
Jakub Sobon 6fe129c940 Implementing the infrastructure layer. 2018-04-23 01:05:54 +01:00