I have to put a wxPanel between the MapperFrame and the
widgets to be able to catch keypresses. I've been told
it is also required on win32, else there is no window
background.
Old hierarchy: (bound parent - sizer - {sizer contents})
MapperFrame - gsizer - {bar panel, canvas}
bar panel and canvas are children of MapperFrame
New hierarchy:
MapperWin - gsizer - {bar panel, canvas}
with MapperWin a wxPanel subclass, only child of the
MapperFrame. bar panel and canvas are children of
MapperWin.
Note that the bar panel is a wxPanel containing more
widgets, bound to bsizer, which keeps up the aspect of
the bar panel children.
Important files:
main.(cpp|h) - the App and the Frame
win.(cpp|h) - the Panel parent, and the widgets setup.
Patching instructions:
cd mapper4; patch -p0 < path/to/panel.patch
The patch itself.