I fixed the bug i mentioned in the previous post. Now there is no more space between two lines of tabs.


But the tabs hadn't the newest look.

Image from the AHIG

So I investigated. Eric Bachard told me about some undocumented functions and flags to have tabs with MacOSX10.4 look. After some other and deeper investigations, i found how to have them.

I then modified some parts of the platform independent part of VCL to have tabs centered, and to have VCL which asks for the tab size to the native part of it by using getNativeControlRegion. I still have to remove bold text for focused tab which is in the platform independent part of VCL although it is a platform dependent behavior.

Now tabs are drawn correctly, behave normally, and respect fully the AHIG. Their normal height is 20 pixel and a space of 12 pixels is left between the text and the border.

But with this style of tabs, there's a problem. When there are too much tabs, two lines of tabs are drawn, and the result is a bit dirty:

So i don't know yet which style of tabs is most adapted to OOo.

The patch (which contains also a bugfix to prevent AquaSalGraphics::hitTestNativeControl from crashing)
To have the old style of tabs just uncomment //#define OLD_TAB_STYLE