class WXDLLEXPORT wxMenuInfo;
WX_DECLARE_OBJARRAY(wxMenuInfo, wxMenuInfoArray);
-class wxPopupMenuWindow;
-
+class WXDLLEXPORT wxMenuGeometryInfo;
+class WXDLLEXPORT wxPopupMenuWindow;
class WXDLLEXPORT wxRenderer;
-// ----------------------------------------------------------------------------
-// wxMenu helper classes, used in implementation only
-// ----------------------------------------------------------------------------
-
-// used by wxRenderer
-class WXDLLEXPORT wxMenuGeometryInfo
-{
-public:
- // get the total size of the menu
- virtual wxSize GetSize() const = 0;
-
- virtual ~wxMenuGeometryInfo();
-};
-
// ----------------------------------------------------------------------------
// wxMenu
// ----------------------------------------------------------------------------
// common part of all ctors
void Init();
+ // terminate the current radio group, if any
+ void EndRadioGroup();
+
// the exact menu geometry is defined by a struct derived from this one
// which is opaque and defined by the renderer
wxMenuGeometryInfo *m_geometry;
wxAcceleratorTable m_accelTable;
#endif // wxUSE_ACCEL
+ // the position of the first item in the current radio group or -1
+ int m_startRadioGroup;
+
// it calls out OnDismiss()
-#ifdef __WXMAC__
friend class wxPopupMenuWindow;
-#else
- friend wxPopupMenuWindow;
-#endif
DECLARE_DYNAMIC_CLASS(wxMenu)
};
bool m_shouldShowMenu;
// it calls out ProcessMouseEvent()
-#ifdef __WXMAC__
friend class wxPopupMenuWindow;
-#else
- friend wxPopupMenuWindow;
-#endif
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxMenuBar)