Jakub Sobon
31580ba0ea
Changing size of the button demo.
2019-02-23 21:03:06 -05:00
Jakub Sobon
279cb8b816
Fixing link to the wiki.
2019-02-23 21:01:17 -05:00
Jakub Sobon
e7f1d496d8
Documenting the API status.
2019-02-23 20:59:51 -05:00
Jakub Sobon
e7e8b29396
Fixing LineChart tests.
2019-02-23 20:50:29 -05:00
Jakub Sobon
a2642ea039
The LineChart now continuous to accept mouse events after terminal resize.
...
And allowing it to receive global mouse events to be able to cancel
highlight on clicks outside of the widget.
2019-02-23 20:48:41 -05:00
Jakub Sobon
1d3071e969
Merge pull request #149 from mum4k/button
...
Implementing the Button widget.
2019-02-23 20:22:28 -05:00
Jakub Sobon
9f5fa3788b
Adding recordings of buttondemo and termdashdemo.
2019-02-23 19:39:10 -05:00
Jakub Sobon
b2a1f30fe1
Complete test coverage for button and tweaks to the demo.
2019-02-23 19:38:47 -05:00
Jakub Sobon
e9cf1e1af7
Partially completed tests for button.
2019-02-23 02:18:06 -05:00
Jakub Sobon
417eee0799
Adding canvas function that sets area of cells.
2019-02-23 01:46:03 -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
4b4e245d60
The button in an intermediate dev state.
2019-02-23 00:07:54 -05:00
Jakub Sobon
07d22cc28c
The mouse FSM now allows callers to specify an updated area size.
...
Useful when the size of terminal changes.
2019-02-23 00:06:53 -05:00
Jakub Sobon
2a817f9dbe
Adding canvas methods that can set cell options.
2019-02-22 22:51:45 -05:00
Jakub Sobon
952242fb51
Fixing two typos in test descriptions.
2019-02-22 22:51:28 -05:00
Jakub Sobon
dd2d740abb
Defining API for canvas methods that set cell options.
2019-02-22 01:11:36 -05:00
Jakub Sobon
a16d908b5e
Adding options for global keyboard.
2019-02-22 01:07:53 -05:00
Jakub Sobon
8b3f1a146f
Merge branch 'devel' into button
2019-02-22 00:49:26 -05:00
Jakub Sobon
495eaa4ee5
Merge pull request #146 from mum4k/widgets-global-keys
...
Allow widgets to subscribe to global keyboard events
2019-02-22 00:48:42 -05:00
Jakub Sobon
79a16f91a8
Updating comments for subscribers, since we now have the EDS.
2019-02-22 00:41:51 -05:00
Jakub Sobon
2fba1378a9
Updating CHANGELOG.
2019-02-22 00:37:56 -05:00
Jakub Sobon
0df7387862
Widgets can now register for global keyboard events.
2019-02-22 00:33:55 -05:00
Jakub Sobon
4f4c990e78
Merge pull request #145 from mum4k/runewidth
...
Fixing the width of characters whose context is known.
2019-02-22 00:20:24 -05:00
Jakub Sobon
f1a83ecd22
Adding licences.
2019-02-22 00:10:48 -05:00
Jakub Sobon
102e098dac
Updating CHANGELOG.
...
And fixing a lint error.
2019-02-22 00:04:08 -05:00
Jakub Sobon
3b2abce00b
Defining exceptions to the East Asian ambiguous cell width.
2019-02-21 23:59:31 -05:00
Jakub Sobon
793925feb8
Migrating all calls to the runewidth wrapper.
2019-02-21 23:24:42 -05:00
Jakub Sobon
43e15c302e
A wrapper over the external runewidth package.
2019-02-21 23:24:30 -05:00
Jakub Sobon
c9e65178e6
Merge pull request #143 from mum4k/eds
...
An event distribution system.
2019-02-21 02:00:30 -05:00
Jakub Sobon
006c021f63
Also throttling repetitive events to focus and widgets.
2019-02-21 01:44:31 -05:00
Jakub Sobon
60aaa7d8bb
Updating CHANGELOG.
2019-02-21 01:21:47 -05:00
Jakub Sobon
5a51763b2d
Throttling repetitive events towards screen redraw.
...
Redrawing the screen is the most expansive operation, we don't want to
do it every time an event happens (imagine fast scrolling mouse wheel).
Also adding missing licences.
2019-02-21 01:20:07 -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
bb648be6d5
Adding a throttled event queue.
2019-02-21 00:40:35 -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
8780433b62
Moving container to EDS.
2019-02-20 23:36:58 -05:00
Jakub Sobon
0026a67307
The EDS now reports the number of processed events.
...
Useful for synchronization in tests.
2019-02-20 23:36:17 -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
37d557d30f
Switching container to EDS.
...
TODO: rewrite tests to use Subscribe().
2019-02-20 02:20:11 -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
b79c3fef2d
Switching termdash to EDS.
2019-02-20 01:18:44 -05:00
Jakub Sobon
adb11e8358
Documenting EDS.
2019-02-20 00:52:51 -05:00
Jakub Sobon
286e5abd2f
Errors are no longer a special case in the EDS.
...
And changing event queue so that Pullers don't have to process an error.
2019-02-20 00:20:58 -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
b53dce0412
Adding licences.
2019-02-19 00:23:15 -05:00
Jakub Sobon
a6ea1565a7
Adding a test with misbehaving receiver.
2019-02-19 00:19:23 -05:00
Jakub Sobon
2ffbe5be94
An event distribution system.
...
Allows multiple subscribers, supports filtering and doesn't block on
slow subscribers.
2019-02-19 00:12:59 -05:00
Jakub Sobon
772fdae7cc
Moving eventqueue into new event directory.
2019-02-18 22:56:20 -05:00