EVALUATION
There are actually three types of separators that we need to worry about:
- Region.SEPARATOR
- Region.POPUP_MENU_SEPARATOR
- Region.TOOL_BAR_SEPARATOR
There are some problems that affect all 3 of these, and others that are specific
to just JToolBar.Separator. This bug report will deal with the latter, but all
the issues will be fixed together under this bugid (as well as related bug
6365773).
The general problem is that GTKPainter.paintSeparatorBackground() currently
only deals with horizontal separators, and has no logic for vertical ones.
So we need to add some code there that checks the orientation of the separator
and, depending on the result, calls one of paintHline() or paintVline().
For JToolBar.Separators, as described in this bug report, we need to do some
special calculations to position the visible separator properly. The native
GtkToolBar code uses some hardcoded values to do this, so we don't have much
choice but to simulate that code in GTKPainter.paintSeparatorBackground().
The size of the separator is dependent on the "space-size" style property of
the GtkToolBar class.
For all other separators, we need to use the "x/y thickness" properties to
determine the proper dimensions/insets of the separator, and then account
for those properly in GTKPainter.paintSeparatorBackground().
|