enh(ui): use a 3 columns system for SParameters
Description
Right now, SParameters use a 6 columns system with a QGridLayout to display the components. The first is for the label, the second is for the minimum value of the slider (if applicable), the third is for the slider, the first spinbox and other components, the fourth is for the minimum value of the slider and the second spinbox, the fifth is for the current value of the slider and the third spinbox, the sixth is for the reset button (if applicable). This allows for the components to be elegantly aligned on the same column. That's the intent, anyway. When one of the parameters is a slider, then it will take as much space as possible. Then, the spinbox in the first position will have the same width as the slider, while the other two will have less space. See an example from ExSParameters:
As you can see, the first spinbox in 2 Double and 3 Double is big, while the second and third spinboxes are so small we can't read the number inside. This is because the slider will take as much space as possible, the spinbox in the same column will have the same width, and the other spinboxes will have the minimum possible width. The spinboxes would benefit to have the same size.
Proposal
My proposal would be to use a 3 columns system instead of a 6 columns system. The first would be for the label, the third for the reset button, and the second for anything else. This means that the components won't necessarily be aligned, but should increase readability for the multiple spinboxes case.
Functional specifications
There will be the same grid layout as before, but with only 3 columns. The first for the label and the third for the reset button. The second column layout is a sub grid layout, where the number of columns depend on the type of parameter. Each parameter organize itself independently of the other parameters. See a schema below, where the red lines are the "global" columns and the green lines are the "local" columns:
Technical specifications
The "global" QGridLayout will have its number of columns reduced to 3. The first column will contain the label as before, and the last the reset button. Inside the second column, there may be a sub QGridLayout which will manage the layout of the parameter. Its number of columns depend on the type of the parameter: 2 if it's two spinboxes, 3 if it's three spinboxes and 4 if it's a slider.
Test plan
Check if it looks good in the applications which use SParameters.