Commit Graph

67 Commits

Author SHA1 Message Date
Jakub Sobon 09d8a5b0d9
Add missing test coverage for negative MaxTextCells. 2021-04-03 17:12:35 -04:00
Jakub Sobon 4238ac6f76
Implements a buffer limit for the Text widget. (#301)
See issue #293 where memory and performance can degrade with a high number of lines written to the Text widget. 

This is a very simplistic implementation to limit the possible length the text buffer can grow to with the `maxContent` option. 

Default value of -1 means there's no limit and therefore behaviour should remain standard.

It has been working in our test app and allows the use of the Text widget to monitor logs (ie tail) and therefore doesn't bloat over time, but happy to adjust as required.
2021-04-03 17:04:53 -04:00
Jakub Sobon dd6acb15e1
Give metadata about events to widgets. 2020-11-24 22:03:58 -05:00
Jakub Sobon 3e476963e8
Changing Blue color in demos to a more readable shade. 2020-11-14 01:41:29 -05:00
Jakub Sobon 9719c5f17a
Merge pull request #251 from dyc3/font-modifiers
add font modifier cell options: bold, italic, underline.
2020-11-14 00:06:56 -05:00
Jakub Sobon b2c182063b
Formatting files and adding test coverage. 2020-11-13 02:29:25 -05:00
“Carson 50310f4d29 add font modifier cell options: bold, italic, underline. 2020-11-12 15:54:58 -05:00
dank c3220f04f1
added the ability to change the scrolling runes 2020-10-13 00:42:25 -04:00
dank 8a316e6c1b
added the ability to swap the scrolling runes 2020-10-13 00:40:58 -04:00
Jakub Sobon 06eb7623bd
Modifying imports 'internal' -> 'private'. 2020-04-10 15:26:45 -04:00
Donald Wilson ceea79f7ce Change MaxUint32 to MaxInt32
This change was implemented to address the following message, reported by the raspberry pi golang compiler (v1.12):

/home/pi/go/pkg/mod/github.com/mum4k/termdash@v0.9.0/widgets/text/scroll.go:119:29: constant 4294967295 overflows int
2019-05-21 05:20:19 -04:00
Jakub Sobon 10d4a55348
Provide metadata to widgets when drawing. 2019-04-03 23:13:18 -04:00
Jakub Sobon 4237512047
Merge pull request #177 from mum4k/release-0-8-0
Release v0.8.0
2019-03-30 02:35:15 -04:00
Jakub Sobon cd44225552
Fixing a typo. 2019-03-09 00:13:41 -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 2742487fc0
The text widget now wraps at words. 2019-03-02 17:56:37 -05:00
Jakub Sobon c43e453038
Text validation moved to the wrap package. 2019-03-02 17:46:03 -05:00
Jakub Sobon 87cab66617
Simplifying the text widget.
This results in a better line wrapping abstraction which now works on
cells. Cells contain both the rune and the cell options which were
awkward to track separately.
2019-02-28 00:50:16 -05:00
Jakub Sobon 61aca3fb62
Removing Text's dependency on wrap.Needed.
It was rune based and thus incompatible with word wrapping.
2019-02-25 00:33:27 -05:00
Jakub Sobon 54c5dff63e
Factoring the line wrapping logic out of the text widget.
It will be needed for the Table too.
2019-02-24 23:10:52 -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 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 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 0df7387862
Widgets can now register for global keyboard events. 2019-02-22 00:33:55 -05:00
Jakub Sobon 793925feb8
Migrating all calls to the runewidth wrapper. 2019-02-21 23:24:42 -05:00
Jakub Sobon 38a2a36234
Adding Text Write option that atomically replaces the text content. 2019-02-15 00:40:15 -05:00
Jakub Sobon 2784a1c7a0
Constructor of Text now returns an error. 2019-02-15 00:20:20 -05:00
Jakub Sobon e44d70b568
Merge pull request #101 from mum4k/segment-display
Segment display
2019-02-06 23:46:50 -05:00
Jakub Sobon 38aae8e556
Switching text to attrrange. 2019-02-04 21:41:04 -05:00
Jakub Sobon 34a715fc1d
Fixing a comment. 2019-02-03 23:39:29 -05:00
Andrea Manzini ceae209ba2 cleanup lint issues 2019-01-19 16:16:19 +01:00
Jakub Sobon c18a940df4
Adding a demo of a more complete dashboard. 2019-01-15 22:40:44 -05:00
Jakub Sobon 964d676e31
Allowing container.Option to report an error. 2019-01-14 00:08:20 -05:00
Jakub Sobon 5d5c7c1e38
Adding missing licences. 2018-06-24 23:51:26 -04:00
Jakub Sobon 367af3f86d
Merge branch 'text-widget/5/widget' into text-widget/6/wide-runes 2018-05-27 16:21:14 +01:00
Jakub Sobon 126cb00247
Rename newText field to contentChanged. 2018-05-27 16:15:56 +01:00
Jakub Sobon 06097229a9
Merge branch 'text-widget/4/scroll-tracker' into text-widget/5/widget 2018-05-27 16:12:25 +01:00
Jakub Sobon 6ab8088f51
Improving comments to make the scroll.go file more understandable. 2018-05-27 16:11:18 +01:00