Commit Graph

42 Commits

Author SHA1 Message Date
Trevor Slocum d7f1e2ab2a Add SetVisible and GetVisible to all widgets 2020-10-19 19:05:03 -07:00
Trevor Slocum 4ac48a9748 Replace FormItem.SetAttributes with individual methods 2020-10-09 08:37:54 -07:00
Trevor Slocum ed5e6d94dd Remove return values from methods which return their primitive (breaks chaining) 2020-10-07 16:35:21 -07:00
Trevor Slocum 6b34a95e75 Print text using []byte instead of string, calculate string width using runewidth instead of uniseg 2020-10-06 13:16:37 -07:00
Trevor Slocum db81e43e00 Remove wrapper methods 2020-10-02 16:28:32 -07:00
Trevor Slocum 357a49e9e7 Do not set focus-related style attributes by default 2020-09-29 13:24:12 -07:00
Trevor Slocum a709a929d9 Fix FormItem.SetAttributes race condition
Resolves #35.
2020-09-28 22:34:38 -07:00
Andreas Bieber 70857602a5 feat(FormItem): Replace `SetFormAttributes` with `SetAttributes`
BREAKING CHANGE:
`SetFormAttributes` has been removed. To migrate your project, use `SetAttributes` which expects any combination of attribute setters.
Example:
`formItem.SetAttributes(cview.WithLabelWidth(10), cview.WithLabelColor(tcell.ColorYellow))`
or
`formItem.SetAttributes(cview.WithBackgroundColor(tcell.ColorBlack))`
2020-09-23 20:54:48 +02:00
Andreas Bieber 9142563f22 feat(inputfield): Add ability to show a note below the inputfield 2020-09-23 20:54:48 +02:00
Andreas Bieber 41a24756f9 feat(FormItems): Allow specifying colors for focused state 2020-09-23 20:46:31 +02:00
Andreas Bieber e6bd3c5db9 feat(checkbox): Increase checkbox width by 2 cols 2020-09-23 20:46:07 +02:00
Andreas Bieber a6bb544c20 feat(checkbox): Add `SetCheckedRune` 2020-09-23 20:45:59 +02:00
Trevor Slocum 8292f9baf2 Upgrade tcell to v2
Resolves #32.
2020-08-30 08:37:17 -07:00
Trevor Slocum cdeff20296 Use sync.RWMutex in all widgets
Resolves #30.
2020-08-02 10:06:34 -07:00
Trevor Slocum 49536324ce Rename Keys.SelectAlt to Keys.Select2 2020-06-10 09:52:50 -07:00
Trevor Slocum 777d2f09fc Use Keys shortcuts with Button, CheckBox, Grid and Table 2020-05-18 19:49:25 -07:00
Trevor Slocum 48c31ff1a0 Remove wiki references 2020-04-26 16:59:33 -07:00
Trevor Slocum de0eb1ea89 Rename CheckBox 2020-04-26 16:55:45 -07:00
rivo 1f765c8695 Merge pull request #422 from rivo/mouse
Add mouse support
2020-03-30 10:22:55 -07:00
Trevor Slocum e29d4b73b9 Make cview thread-safe 2020-03-25 14:32:57 +00:00
Trevor Slocum 5f880bc2c7 Migrate to GitLab 2020-01-22 15:28:19 -08:00
Trevor Slocum 51704b9844 Add documentation for GetChildren methods 2020-01-16 22:34:51 -08:00
Trevor Slocum c90e430fdf Add optional message displayed after Checkbox 2020-01-05 09:41:15 -08:00
Daniel P. Berrangé 697baf37a8 Add support for displaying text next to a checkbox
When building forms the label field is typically quite short, just one
or two words. For checkboxes it is often desirable to have a longer
descriptive piece of text. This is not practical to use as a label and
in many applications would more commonly be placed to the right of the
checkbox.

This adds support for a "SetMessage()" method which provides support
for text adjacent to the checkbox

As an example, this form shows one usage pattern, where the checkbox
is used to require case sensitive matching of the author name query.
In this case the checkbox label is an empty string, and the message
text is used instead:

 ╔════════════ User filtering ════════════════════╗
 ║                                                ║
 ║    Age:   ________                             ║
 ║                                                ║
 ║ Author:   ______________                       ║
 ║                                                ║
 ║           X Case sensitive                     ║
 ║                                                ║
 ║   Apply     Cancel                             ║
 ╚════════════════════════════════════════════════╝

Another pattern is where there are a series of checkboxes, all
related to the same attribute. Thus they have a common form
label but different message text

 ╔════════════ Request filtering ═════════════════╗
 ║                                                ║
 ║    State:    X Opened                          ║
 ║                                                ║
 ║              _ Closed                          ║
 ║                                                ║
 ║              _ Merged                          ║
 ║                                                ║
 ║              X Locked                          ║
 ║                                                ║
 ║   Apply     Cancel                             ║
 ╚════════════════════════════════════════════════╝

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-01-05 09:27:00 -08:00
Chris Miller a52eae5a0d Refactor EventMouse 2020-01-01 20:24:34 -08:00
Chris Miller ad59b43801 Get mouse actions rather than just mouse state 2020-01-01 20:18:40 -08:00
Chris Miller 5b47ba1f32 More mouse handling for primitives 2020-01-01 20:18:40 -08:00
Trevor Slocum b61132eddf Fork tview as cview
See FORK.md for details
2019-12-30 15:18:26 -08:00
Oliver 00de4610ae Added custom higlight styles to Table. Resolves #154 2018-09-05 10:39:21 +02:00
Oliver f855bee020 Separated form item "done" function from "finished" function. Resolves #39 2018-04-19 21:34:03 +02:00
Oliver 5bd22542e5 For Form.GetFormItemByLabel() to work, we must not modify the label text. Fixes #94, fixes #99 2018-04-09 21:07:03 +02:00
Oliver 761e3d72da Added Primitive demo to go along with the GitHub Wiki entry on how to create your own primitive. 2018-03-19 21:25:30 +01:00
Oliver 4db30f9ed4 "FieldLength" is now "FieldWidth" everywhere for clarity and consistency. Sorry for this breaking change. It is better in the long run. 2018-01-17 21:17:59 +01:00
Oliver aa25839cfa Introduced horizontal item alignment in forms. Resolves #33 2018-01-16 20:45:54 +01:00
Oliver 626453b2a6 All primitives now offer a way to intercept all key events sent to them. Also made the global key event intercept handler more general/consistent. Resolves #22 2018-01-14 21:29:34 +01:00
Oliver 61d8ea30f8 Added support for wide unicode characters (e.g. Chinese). Resolves #9 2018-01-11 15:45:52 +01:00
Oliver 3fbea7a99b Added a listener for changes in input fields. Also in the Form. Fixes #4. 2018-01-10 10:40:51 +01:00
Oliver 2874294d89 Added Styles variable with default colors for primitives. 2018-01-10 09:44:21 +01:00
Oliver e4f97a6436 Added links to Wiki to documentation. Also replaced screenshot with GIF screencast. 2018-01-07 16:39:06 +01:00
Oliver 9659be0e90 No need to explicitly hide the cursor in no-cursor primitives. 2017-12-28 22:19:36 +01:00
Oliver 8eb4c5ef48 Added TextView. All subclasses of Box now also have inside padding. 2017-12-21 18:08:53 +01:00
Oliver dad7891c89 Added Checkbox, Modal, and Pages. 2017-12-20 20:54:49 +01:00