#ifndef _WX_UNIV_MENU_H_
#define _WX_UNIV_MENU_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "univmenu.h"
#endif
// fwd declarations
class WXDLLEXPORT wxMenuInfo;
-WX_DECLARE_OBJARRAY(wxMenuInfo, wxMenuInfoArray);
-
-class wxPopupMenuWindow;
+WX_DECLARE_EXPORTED_OBJARRAY(wxMenuInfo, wxMenuInfoArray);
+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()
friend class wxPopupMenuWindow;
DECLARE_DYNAMIC_CLASS(wxMenu)