Please try the current code in wxGTK and let me know if it works.
sorry but I was unable to test it on wxGTK as the organization of the component sources isn't the usual one.
In order to be able to submit it as part of wxWidgets, it should really have the following structure:
Code: Select all
|---- treelistctrl.h = declares wxTreeListCtrlBase
| |---- treelistctrl.h = declares wxTreeListCtrl + GTK helpers
|---- treelistctrl.h = declares wxTreeListCtrl + MSW helpers
| |---- treelistctrlcmn.cpp = declares all platform-independent functions
| |---- treelistctrl.cpp = declares GTK specific functions
| |---- treelistctrl.cpp = declares MSW specific functions
If you organize the MSW / common parts, I can create the GTK part. However I really need to have a clean treelistctrlcmn.cpp which does not contains #ifdef __WXMSW__ #endif.
All those parts should be embedded in platform-specific functions.
BTW, sorry for the ignorant question but is wxRendererNative the only way to draw the MSW native header ?
I mean: in wxWidgets only wxUniv code uses wxRenderer AFAIK while platform-specific code should always wrap platform-specific controls.
I.e. if wxMSW has a native control for the header window, it should be used instead of wxRenderer.... just like wxGTK won't use the wxRendererNative class for drawing wxTreeListCtrl but rather will wrap the GTK+ native GtkTreeView control.