biolab / biolab/orange-widget-base

[OWBaseWidget] Best way of giving the option to change the width of control area

Open
#297 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.