Get rid of wxMenu::m_startRadioGroup in wxOSX.

This code was probably copied from wxUniv but was wrong as we can't rely on
the items being always inserted in order. This commit on its own fixes
removing the first radio group menu item but it also makes possible to
properly implement the insertion of new items in the middle of an existing
radio group which couldn't be done with m_startRadioGroup approach at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-07-16 14:10:26 +00:00
parent f86a4930f2
commit 3b28ca6503
4 changed files with 71 additions and 39 deletions

View File

@@ -46,6 +46,9 @@ public:
virtual void SetBitmap(const wxBitmap& bitmap) ;
virtual const wxBitmap& GetBitmap() const { return m_bitmap; }
// Implementation only from now on.
// update the os specific representation
void UpdateItemBitmap() ;
void UpdateItemText() ;
@@ -56,6 +59,19 @@ public:
void SetRadioGroupStart(int start);
void SetRadioGroupEnd(int end);
// return true if this is the starting item of a radio group
bool IsRadioGroupStart() const;
// get the start of the radio group this item belongs to: should not be
// called for the starting radio group item itself because it doesn't have
// this information
int GetRadioGroupStart() const;
// get the end of the radio group this item belongs to: should be only
// called for the starting radio group item, i.e. if IsRadioGroupStart() is
// true
int GetRadioGroupEnd() const;
wxMenuItemImpl* GetPeer() { return m_peer; }
private:
void UncheckRadio() ;