Disable() does not disable child controls in wxOSX
|Reported by:||eco||Owned by:||csomor|
Simple to reproduce. Add a "Disable();" to any of the samples' windows with child controls. You'll see that the children remain visible enabled and you are able to interact with them. Nothing seems to happen at all when you call Disable() on a wxFrame or wxScrolledWindow (the two that I tested).
I looked into it a little bit seeing if I could make a patch.
window.mm's wxWidgetCocoaImple::Enable( bool enable ) has a branch that checks if the NSView responds to setEnabled. This check is false so setEnabled is never called on the target view.
Unfortunately I know very little about Cocoa and am not sure what to do. Seems like I'll have to go through and disable every child control manually but having Disable() work like it does on Windows would be prefered.
Change History (7)
comment:4 Changed 22 months ago by SC
- Resolution set to fixed
- Status changed from accepted to closed