biolab / biolab/orange-widget-base
[OWBaseWidget] Best way of giving the option to change the width of control area
- Dominant language
- Python
- Stars
- 28
- Forks
- 62
- PR merge metrics
- No merged PRs in 30d
Description
When designing Orange widgets, we want to give the opportunity to the user to change the width of the control area (since the forms can be a bit complex). See example below:
https://github.com/user-attachments/assets/06d90d8b-f6a3-417a-b3a4-53a0977caed1
Unfortunately, the splitter from `OWBaseWidget` is only a toggle button: it hides/shows the control area but the user can't tune the width of the control area:
https://github.com/user-attachments/assets/1b32ca7f-33fe-45f6-a991-c3aab0bd3d87
In essence, I'd like to replace the custom splitter with a regular `QSplitter`. But the instantiation and the use of the splitter is very internal so it is not easy to do.
I wonder what is the best way to proceed? Could the `splitter` be made public so it can be changed? Or give the option in `OWBaseWidget` to have a toggle or resize type of splitter?
Contributor guide
Research direction
Start at OWBaseWidget's internal splitter and compare its current toggle behavior with a regular QSplitter. Determine whether exposing the splitter or adding a selectable toggle/resize mode provides the clearest widget API, then verify that users can resize the control area as well as hide or show it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100