Yes, padding would be a better fit, but offset is compatible with SynEdit properties. Unfortunately, the SynEdit component already has the LeftOffset and RightOffset properties, which should be paddings, not offsets. So here you can choose either a word that correctly describes the part's behavior or one that is compatible with existing properties.
Those offsets are only for the overall gutter, and afaik act as padding (since they are part of the gutter). The gutter parts don't have any, yet.
IMHO that is way to much to be there as default (build in). I can see that as an add on package.
I am not against having options... I have added more than my fair share. Yet that one to me looks like way to much.
And why so much detail on the gutter? Then the same options could be needed for the grid in the object inspector; placing of the main menu; component palette, ...
In any case:
1) Changes to SynEdit.I am fine with a "padding functionality (separate left/right" to be added to gutter parts.
- I prefer them named padding, even if that is out of line with the naming on the main gutter.
- If needs must, they can go as Offset (by name, but function as padding)
IMHO they should react to mouse events. But I'll accept it either way.
The gutter part for the icons can have an additional "ColumnSpacing".
I will apply a patch/merge-request for such changes
2) Changes to the IDE2a) Small...I do not see options for re-ordering.
- We have already visibility for "line numbers" / "separator" (negative index)
+ "fold" part depends on folding enabled. But can have an additional checkbox, as folding can and does work without the gutter part.
+ "changes" can have a checkbox *OR* width-spin (allowing 0 to hide)
+ "icons" can have a checkbox *OR* column count (allowing 0 to hide)
+ "fold", "line", "icons" can each have one "spacing" (i.e. all together 3 value, one for each).
For the "icons" the spacing also applies between the icons (same spacing as for left/right)
That is more than I was prepared for earlier.
Ideally they get added on the "Editor > Display" page. That is where the existing options are.
They can either be all visible at the same time (that may fill up the page), or have one "selector" (drop-down / combo - though combo may be to much height), and then show the controls for that gutter-part (controls as specified above / including existing controls).
I will apply a patch/merge-request for such changes (including subset)
For the graphics layout, a mockup may be good for discussion.
For the EditorOptions this should be new *published* properties.
2b) Big...Anything more than the above... (yet based on the SynEdit changes from point 1)
Either
- A plug-in in a package of its own, via OPM
- Any other team member things its worth while and wants to apply it.