Dave Pearson
2e540548f8
Add a test that removed selected selections are removed from selected
2023-05-24 09:19:56 +01:00
Dave Pearson
9d6e977e0e
Test messages when toggling a selection via user input
2023-05-24 09:15:43 +01:00
Dave Pearson
56103c52e7
Ensure we log any OptionList messages in the messages test
...
We don't actually want to see them, we don't expect to see them, so here I
make a point of logging them so we can be sure we *don't* see them.
2023-05-24 09:09:40 +01:00
Dave Pearson
50d77b231f
Add tests for the wrong sized tuple
...
While type checking picks this up, not everyone uses type checking.
2023-05-23 16:45:53 +01:00
Dave Pearson
9f6d35b871
Start unit tests for the actual selected property
2023-05-23 16:26:28 +01:00
Dave Pearson
c448fa1ea0
Add unit tests for selection list messages
2023-05-23 15:48:34 +01:00
Dave Pearson
f9780d0346
Add basic selection list creation unit tests
2023-05-23 15:13:46 +01:00
Dave Pearson
d38780ba97
Ensure we don't try and post messages before the widget is ready
2023-05-23 11:45:31 +01:00
Dave Pearson
d5799377a2
Document _selected
...
It's not for public consumption, but it's useful for anyone reading the code.
2023-05-23 11:31:07 +01:00
Dave Pearson
bee438bc53
Get the selection value tracker in place before calling the superclass
2023-05-23 11:30:04 +01:00
Dave Pearson
fefb33a23b
Add a docstring to the internal copy of the selection value
2023-05-23 11:07:45 +01:00
Dave Pearson
81abac1c68
Tidy up some docstrings
...
Mainly adding missing return values, that sort of thing.
2023-05-23 10:46:00 +01:00
Dave Pearson
23d899935f
Correct a docstring
2023-05-23 10:36:59 +01:00
Dave Pearson
ff404e2bbf
Only refresh on deselect if something was deselected
2023-05-23 10:35:48 +01:00
Dave Pearson
d861cced97
Improve how the _all methods work
...
Deciding if there was a change when turning all on or off by looking at the
before an after counts was fine, but it's not a sensible way of seeing if
there was a change during a toggle. So this swaps things up a bit and has
the core selection changing methods return a flag to say if they actually
made a change or not.
2023-05-23 10:33:39 +01:00
Dave Pearson
db273ea9ff
Add a method for toggling all options
2023-05-23 10:26:16 +01:00
Dave Pearson
a4148d028b
Add a method for deselecting all options
2023-05-23 10:22:01 +01:00
Dave Pearson
3ce04c814a
Add a method of selecting all selection options
2023-05-23 10:20:00 +01:00
Dave Pearson
a2fc3fad43
Add a method to apply a state change to all selection options
2023-05-23 10:19:20 +01:00
Dave Pearson
4c9afca8fd
Add a docstring for the component classes.
2023-05-23 10:02:07 +01:00
Dave Pearson
195e9b4021
Add the docstring for the bindings
2023-05-23 09:50:44 +01:00
Dave Pearson
ca07d7a58d
Fill in the blanks with docstrings
...
Adding back docstrings from overriding methods. Initially I was thinking it
made sense to keep them empty, allowing for any inheriting of the
docs (if/when our documentation generation system does that); but in most
cases there's a subtle difference in what's supported in terms of parameters
or return values so it makes sense to tweak the docs a wee bit.
2023-05-23 09:47:45 +01:00
Dave Pearson
607939e41d
Merge pull request #2626 from davep/option-list-typo-fix
...
Fix a copy/pasteo in an option list docstring
2023-05-23 09:45:37 +01:00
Dave Pearson
10bccfd9ee
Fix a copy/pasteo in an option list docstring
2023-05-23 09:27:40 +01:00
Dave Pearson
9e6bf085b8
Extend add_option so that it accepts selections and selection tuples
2023-05-23 09:24:29 +01:00
Will McGugan
be49aabefe
remove markup, simplify repr ( #2623 )
...
* remove markup, simplify repr
* changelog
* remove rendundant repr (thanks Paul)
* changelog
2023-05-22 20:26:37 +01:00
Dave Pearson
f530efda2a
Extend SelectionList.add_options to better support the selection list
2023-05-22 15:58:08 +01:00
Dave Pearson
55f887e66e
Merge pull request #2610 from davep/directory-tree-alt-path
...
Let child classes of DirectoryTree override Path creation
2023-05-22 15:56:50 +01:00
Dave Pearson
68250e6ce3
Override _remove_option to update the selected values
...
The developer could remove an option that is selected, so we need to catch
that this has happened and update the collection of selected values.
2023-05-22 15:25:11 +01:00
Dave Pearson
189181ba33
Add support for sending a message when the selection list changes
...
The developer using this may wish to react to UI changes being made, but
they may also want to just know when the collection of selected values has
changed -- this could happen via code so won't get any UI/IO messages. So
this adds a message that is always sent when a change to the collection of
selected values happens.
2023-05-22 15:23:11 +01:00
Dave Pearson
a25ef78a7f
Fully hint the type of the selection list in mesages
2023-05-22 15:02:32 +01:00
Dave Pearson
13e796bfea
Ensure selections are only one line in length
2023-05-22 14:56:21 +01:00
Rodrigo Girão Serrão
724fedc442
Merge pull request #2621 from Textualize/leave-footer-push-modal-screen
...
Leave footer when pushing modal screen
2023-05-22 14:43:05 +01:00
Rodrigo Girão Serrão
d48a127ffe
Merge pull request #2540 from Textualize/screen-modes
...
Implements screen modes
2023-05-22 14:27:35 +01:00
Rodrigo Girão Serrão
c64111bcb5
Add property alias.
...
Related comment: https://github.com/Textualize/textual/pull/2540\#discussion_r1196634789
2023-05-22 14:21:11 +01:00
Dave Pearson
51d1dade5c
Ensure access to options is actually access to selections
2023-05-22 14:18:20 +01:00
Dave Pearson
07515e22c8
Add an interface for changing selections from code
2023-05-22 14:01:09 +01:00
Rodrigo Girão Serrão
c32d5d3c25
Add regression test for #2606 .
2023-05-22 13:53:58 +01:00
Dave Pearson
dae0cd7c02
Raise a widget-specific exception when given a bad option
2023-05-22 13:21:25 +01:00
Dave Pearson
1d925da551
Ensure selection casting works in earlier Pythons
2023-05-22 13:20:49 +01:00
Dave Pearson
127d93a260
Remove a couple of annoying type errors
...
The code worked and was fine, but pyright was getting upset at the typing.
This clears that up.
2023-05-22 13:13:37 +01:00
Rodrigo Girão Serrão
33a470f569
Fix footer highlight when pushing modal.
2023-05-22 11:45:40 +01:00
Dave Pearson
424c30fcf1
Add a method of getting at the selected values
2023-05-22 11:40:03 +01:00
Dave Pearson
6bc2a6ebd2
Add support for a selection message
...
In doing so, change up how the toggling happens.
2023-05-22 11:25:56 +01:00
Dave Pearson
41b1c08db5
Docstring tweak
2023-05-22 11:16:17 +01:00
Dave Pearson
4dab6d3b57
Start the SelectionList messages
...
It would be nice to just inherit form the OptionList messages, but the
naming of the properties wouldn't quite make sense, and there's also the
generic typing issue too. So here I start to spin up my own messages down
here.
Also, as an initial use of this, grab the OptionList highlight message and
turn it onto one of out own.
2023-05-22 11:09:18 +01:00
Rodrigo Girão Serrão
5c1c62edd0
Merge pull request #2607 from Textualize/placeholder-cycle
...
Placeholder color cycle
2023-05-22 10:50:11 +01:00
Rodrigo Girão Serrão
4e86e655d6
Merge branch 'main' into placeholder-cycle
2023-05-22 10:43:12 +01:00
Rodrigo Girão Serrão
5e04a4d4de
Add description to work decorator. ( #2605 )
...
* Add description to work decorator.
* Fix stutter.
2023-05-22 10:32:23 +01:00
Dave Pearson
a570b4403e
Swap the order of the prompt and value for selection items
...
Mostly I feel it makes sense to have the value first, and the actual prompt
second (based on no reason at all); but given that Select does it prompt
then value, this should conform to the same approach.
2023-05-22 10:30:22 +01:00