Now almost all controls are native on OOo on Mac. But some have still the old Windows style: list views with their sub controls were part of them. I investigated and looked everywhere in VCL, but I didn't find any trace of listviews nor headbar (of listviews) nor nodes... In fact, I couldn't find them there. Philipp Lohmann told me that these controls are in the svtools module. Later, Herbert Duerr explained me that more complex controls are implemented in this module, but the border between these two modules is vague as some controls in svtools could be in vcl and vice versa.

Once the good module found, it was not so difficult to add support for native controls in listviews. The one I will talk about in this post, is the first I committed (to aquavcl03). In fact, this one is two controls: nodes and nets.

A node is a little square with a plus or a minus in it (on MacOS it's a triangle directed to bottom or right) according to whether the list item is collapsed or not. The net is the line which link up hierarchical list view items by their nodes.

I added calls to native drawing functions in svtools, and the corresponding code in native part of vcl.

As usual, some screenshots (Aqua look on the right):


Preferences/option dialog


Bibliography panel