]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/menuitem.h
More work on getting wxLisBox events right
[wxWidgets.git] / include / wx / motif / menuitem.h
index d2c865aa66c2d5869041104224155369d73ff155..e8b114573a66bcfaf1a3e764336aa57f25112d49 100644 (file)
@@ -1,28 +1,26 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        menuitem.h
+// Name:        wx/motif/menuitem.h
 // Purpose:     wxMenuItem class
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     11.11.97
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_MOTIF_MENUITEM_H
 #define _WX_MOTIF_MENUITEM_H
 
-#ifdef __GNUG__
-    #pragma interface "menuitem.h"
-#endif
+#include "wx/bitmap.h"
 
-class WXDLLEXPORT wxMenuBar;
+class WXDLLIMPEXP_FWD_CORE wxMenuBar;
 
 // ----------------------------------------------------------------------------
 // wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour
 // ----------------------------------------------------------------------------
 
-class wxMenuItem : public wxMenuItemBase
+class WXDLLIMPEXP_CORE wxMenuItem : public wxMenuItemBase
 {
 public:
     // ctor & dtor
@@ -30,19 +28,24 @@ public:
                int id = wxID_SEPARATOR,
                const wxString& text = wxEmptyString,
                const wxString& help = wxEmptyString,
-               bool isCheckable = FALSE,
+               wxItemKind kind = wxITEM_NORMAL,
                wxMenu *subMenu = (wxMenu *)NULL);
-    ~wxMenuItem();
+    virtual ~wxMenuItem();
 
     // accessors (some more are inherited from wxOwnerDrawn or are below)
-    virtual void SetText(const wxString& label);
-    virtual void Enable(bool enable = TRUE);
-    virtual void Check(bool check = TRUE);
-
-    void DeleteSubMenu();
+    virtual void SetItemLabel(const wxString& label);
+    virtual void Enable(bool enable = true);
+    virtual void Check(bool check = true);
+    // included SetBitmap and GetBitmap as copied from the GTK include file
+    // I'm not sure if this works but it silences the linker in the
+    // menu sample.
+    //     JJ
+    virtual void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; }
+    virtual const wxBitmap& GetBitmap() const { return m_bitmap; }
 
     // implementation from now on
-    void CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMenu);
+    void CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMenu,
+                     size_t index);
     void DestroyItem(bool full);
 
     WXWidget GetButtonWidget() const { return m_buttonWidget; }
@@ -57,6 +60,7 @@ private:
     WXWidget    m_buttonWidget;
     wxMenuBar*  m_menuBar;
     wxMenu*     m_topMenu;        // Top-level menu e.g. popup-menu
+    wxBitmap  m_bitmap; // Bitmap for menuitem, if any
 
     DECLARE_DYNAMIC_CLASS(wxMenuItem)
 };