implemented radio menu items for wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -13,8 +13,8 @@
|
||||
#ifndef _WX_FEATURES_H_
|
||||
#define _WX_FEATURES_H_
|
||||
|
||||
// radio menu items are currently only implemented in wxGTK
|
||||
#if defined(__WXGTK__) // || defined(__WXMSW__)
|
||||
// radio menu items are currently only implemented in wxGTK and wxMSW
|
||||
#if defined(__WXGTK__) || defined(__WXMSW__)
|
||||
#define wxHAS_RADIO_MENU_ITEMS
|
||||
#else
|
||||
#undef wxHAS_RADIO_MENU_ITEMS
|
||||
|
@@ -72,7 +72,8 @@ public:
|
||||
wxItemKind GetKind() const { return m_kind; }
|
||||
|
||||
virtual void SetCheckable(bool checkable) { m_kind = wxItem_Check; }
|
||||
bool IsCheckable() const { return m_kind == wxItem_Check; }
|
||||
bool IsCheckable() const
|
||||
{ return m_kind == wxItem_Check || m_kind == wxItem_Radio; }
|
||||
|
||||
bool IsSubMenu() const { return m_subMenu != NULL; }
|
||||
void SetSubMenu(wxMenu *menu) { m_subMenu = menu; }
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: menu.h
|
||||
// Name: wx/msw/menu.h
|
||||
// Purpose: wxMenu, wxMenuBar classes
|
||||
// Author: Julian Smart
|
||||
// Modified by: Vadim Zeitlin (wxMenuItem is now in separate file)
|
||||
@@ -63,6 +63,8 @@ public:
|
||||
// implementation only from now on
|
||||
// -------------------------------
|
||||
|
||||
virtual void Attach(wxMenuBarBase *menubar);
|
||||
|
||||
bool MSWCommand(WXUINT param, WXWORD id);
|
||||
|
||||
// semi-private accessors
|
||||
@@ -91,9 +93,15 @@ private:
|
||||
// common part of Append/Insert (behaves as Append is pos == (size_t)-1)
|
||||
bool DoInsertOrAppend(wxMenuItem *item, size_t pos = (size_t)-1);
|
||||
|
||||
// terminate the current radio group, if any
|
||||
void EndRadioGroup();
|
||||
|
||||
// if TRUE, insert a breal before appending the next item
|
||||
bool m_doBreak;
|
||||
|
||||
// the position of the first item in the current radio group or -1
|
||||
int m_startRadioGroup;
|
||||
|
||||
// the menu handle of this menu
|
||||
WXHMENU m_hMenu;
|
||||
|
||||
|
@@ -60,7 +60,19 @@ public:
|
||||
// menu handle depending on what we're
|
||||
int GetRealId() const;
|
||||
|
||||
// mark item as belonging to the given radio group
|
||||
void SetRadioGroup(int start, int end)
|
||||
{
|
||||
m_startRadioGroup = start;
|
||||
m_endRadioGroup = end;
|
||||
}
|
||||
|
||||
private:
|
||||
// the positions of the first and last items of the radio group this item
|
||||
// belongs to or -1
|
||||
int m_startRadioGroup,
|
||||
m_endRadioGroup;
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxMenuItem)
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user