]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/menuitem.h
avoid a bug in Carbon headers
[wxWidgets.git] / include / wx / univ / menuitem.h
index 784433f95fcafeb255629ab9924db0aba53035bc..9f8e53306779dc850f8ecbdb9eaee4767094e363 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_UNIV_MENUITEM_H_
 #define _WX_UNIV_MENUITEM_H_
 
 #ifndef _WX_UNIV_MENUITEM_H_
 #define _WX_UNIV_MENUITEM_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "univmenuitem.h"
 #endif
 
     #pragma interface "univmenuitem.h"
 #endif
 
@@ -28,7 +28,7 @@ public:
                int id = wxID_SEPARATOR,
                const wxString& name = wxEmptyString,
                const wxString& help = wxEmptyString,
                int id = wxID_SEPARATOR,
                const wxString& name = wxEmptyString,
                const wxString& help = wxEmptyString,
-               bool isCheckable = FALSE,
+               wxItemKind kind = wxITEM_NORMAL,
                wxMenu *subMenu = (wxMenu *)NULL);
     virtual ~wxMenuItem();
 
                wxMenu *subMenu = (wxMenu *)NULL);
     virtual ~wxMenuItem();
 
@@ -48,6 +48,11 @@ public:
     const wxBitmap& GetBitmap(bool checked = TRUE) const
       { return checked ? m_bmpChecked : m_bmpUnchecked; }
 
     const wxBitmap& GetBitmap(bool checked = TRUE) const
       { return checked ? m_bmpChecked : m_bmpUnchecked; }
 
+    // mark item as belonging to the given radio group
+    void SetAsRadioGroupStart();
+    void SetRadioGroupStart(int start);
+    void SetRadioGroupEnd(int end);
+
     // wxUniv-specific methods for implementation only starting from here
 
     // get the accel index of our label or -1 if none
     // wxUniv-specific methods for implementation only starting from here
 
     // get the accel index of our label or -1 if none
@@ -89,6 +94,19 @@ protected:
     wxBitmap m_bmpChecked,
              m_bmpUnchecked;
 
     wxBitmap m_bmpChecked,
              m_bmpUnchecked;
 
+    // the positions of the first and last items of the radio group this item
+    // belongs to or -1: start is the radio group start and is valid for all
+    // but first radio group items (m_isRadioGroupStart == FALSE), end is valid
+    // only for the first one
+    union
+    {
+        int start;
+        int end;
+    } m_radioGroup;
+
+    // does this item start a radio group?
+    bool m_isRadioGroupStart;
+
     // the position of the accelerator in our label, -1 if none
     int m_indexAccel;
 
     // the position of the accelerator in our label, -1 if none
     int m_indexAccel;