]> git.saurik.com Git - wxWidgets.git/commit - tests/menu/menu.cpp
Rewrote wxMSW radio menu items code to support not only appending them.
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 10 May 2011 08:50:38 +0000 (08:50 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 10 May 2011 08:50:38 +0000 (08:50 +0000)
commit89511b42686033f8cb7e8a110580847bc2470b08
tree24fc27f34d017cd8d421c47ec8e037f62b2ee16a
parenta6ca624a270e4dae1dfa6f47c96e2ee935a42fa1
Rewrote wxMSW radio menu items code to support not only appending them.

Previously the radio menu items could only be appended to a menu in wxMSW,
inserting them (either in an existing radio group or to start a new one) not
only didn't work but could even result in crashes because invalid iterators in
the menu items list could be used.

Fix this by storing the ranges of all radio groups in wxMenu itself instead of
storing the information about the radio group an item belongs to in the item
itself and by updating this data whenever a new radio item is inserted. Also
get rid of the notion of "current radio group" in wxMenu which doesn't really
make any sense.

Finally add a unit test checking that inserting radio items works as expected.

Closes #13200.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
include/wx/msw/menu.h
include/wx/msw/menuitem.h
src/msw/menu.cpp
src/msw/menuitem.cpp
tests/menu/menu.cpp