Commit Graph

608 Commits

Author SHA1 Message Date
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
Jakub Sobon be2c870089
Merge pull request #140 from mum4k/rolling-zoom
Roll the zoom with the axis when XAxisUnscaled is provided.
2019-02-18 22:49:30 -05:00
Jakub Sobon a8a965c555
Remove the debug hooks. 2019-02-18 22:35:30 -05:00
Jakub Sobon cecf39a9c7
Roll the zoom with the axis when XAxisUnscaled is provided. 2019-02-18 22:33:25 -05:00
Jakub Sobon ea22ed0ac2
Merge pull request #138 from mum4k/fully-unzoom
Fixing invalid zooming behaviors.
2019-02-18 19:01:01 -05:00
Jakub Sobon 5b89dbc1a0
Undo the experiments in the LineChart demo. 2019-02-18 18:50:55 -05:00
Jakub Sobon 38ec4a9e1b
Fixing invalid zooming behaviors.
- stay unzoomed when we hit the largest view.
- correctly normalize zoom values when the base axis is in motion.
- test coverage for the edge cases.

Fixes #136
2019-02-18 18:48:19 -05:00
Jakub Sobon 171faac232
Merge pull request #137 from mum4k/highlight-at-least-two
Don't zoom when only a single column was highlighted.
2019-02-18 15:23:08 -05:00
Jakub Sobon ec8160ef40
Don't zoom when only a single column was highlighted. 2019-02-18 15:13:45 -05:00
Jakub Sobon 55e86a80d2
Adding a Sourcegraph badge. 2019-02-18 02:30:41 -05:00
Jakub Sobon 857ff48e32
Merge pull request #134 from mum4k/lint
Adding golint to Travis.
2019-02-18 02:22:40 -05:00
Jakub Sobon 705db137bc
Fixing existing Lint issues. 2019-02-18 02:14:14 -05:00
Jakub Sobon b26a531747
Adding golint to Travis. 2019-02-18 02:05:59 -05:00
Jakub Sobon 2ab7083a53
Merge pull request #133 from mum4k/linechart-zoom
The LineChart widget now supports zooming the content
2019-02-18 01:49:04 -05:00
Jakub Sobon a87c9c1b6f
Adding new LineChart recording that shows the zoom. 2019-02-18 01:35:12 -05:00
Jakub Sobon 72b3ac4ff9
The LineChart widget now supports zoom. 2019-02-18 01:28:30 -05:00
Jakub Sobon 4a7c5d9f48
Object that tracks the zoom state for LineChart. 2019-02-18 00:54:35 -05:00
Jakub Sobon d5b04946d2
The XDetails object now maintains its creation properties. 2019-02-17 21:24:23 -05:00
Jakub Sobon 7c3794691c
Remove logging from numbers. 2019-02-17 17:57:38 -05:00
Jakub Sobon aec5012daa
Functions that splits a number by a ratio. 2019-02-17 17:56:14 -05:00
Jakub Sobon 0acf555aab
Only set options in cells within the specified area. 2019-02-17 16:14:53 -05:00
Jakub Sobon e677c1fe1a
Braille method that sets cell options in an area. 2019-02-17 16:09:44 -05:00
Jakub Sobon e3858d93f5
Move ratio related functions from area to numbers. 2019-02-17 15:46:29 -05:00
Jakub Sobon 3615294c34
Method that returns the underlying cell area. 2019-02-16 16:34:54 -05:00
Jakub Sobon 4981ad23e2
Method on Braille canvas that just sets cell options. 2019-02-16 16:03:44 -05:00
Jakub Sobon 66599a4d12
Merge pull request #130 from mum4k/bug-adaptive-and-custom
Make the Y axis adaptive when custom scale is provided
2019-02-16 01:22:31 -05:00
Jakub Sobon d2533da9cf
Make the Y axis adaptive when custom scale is provided. 2019-02-16 01:12:08 -05:00
Jakub Sobon 73a6514fee
Merge pull request #129 from mum4k/unscaled-x
LineChart now has an option that disables scaling of the X axis
2019-02-16 01:10:21 -05:00