beeware / beeware/toga

Add a setter for `Table.selection`

Open
#2,702 8 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
9h 45m
Merged PRs (30d)
58

Description

### What is the problem or limitation you are having?

I can't unselect `Row` after selecting it on `toga.Table()`

### Describe the solution you'd like

I use the `on_select` action on `toga.Table()` to move from the parent page into the children pages.
The `Row` will be selected and the page changed.
So, when I get back, I can't select the same `Row` again unless selecting a different Row and then go back to the wanted `Row`.

### Describe alternatives you've considered

I think `unselect([Row])` => unselect multiple `Row` and `unselect(None)` => unselect all`[Row]` on `toga.Table()`

### Additional context

Related:
* https://github.com/beeware/toga/issues/2239

Contributor guide

Open the contributing guide

Research direction

Start by reading the toga.Table selection API and the related issue #2239 to understand the existing selection behavior. Define the setter or unselection behavior so a selected Row can be cleared and selected again after returning from another page; done when the requested Table selection cases work consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.