]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/menu.h
Fixes for 16-bit compilation
[wxWidgets.git] / include / wx / msw / menu.h
index c36a5fced286f1f9aa958acc7261b1740f14fe4e..9d2ca80bd8f63c33d8b8c0b511def5d4b1063b85 100644 (file)
 #include "wx/defs.h"
 #include "wx/event.h"
 #include "wx/dynarray.h"
+#include "wx/string.h"
+
+#if wxUSE_ACCEL
+#include "wx/accel.h"
+#endif // wxUSE_ACCEL
 
 class WXDLLEXPORT wxMenuItem;
 class WXDLLEXPORT wxMenuBar;
@@ -36,8 +41,23 @@ class WXDLLEXPORT wxMenu : public wxEvtHandler
     DECLARE_DYNAMIC_CLASS(wxMenu)
 
 public:
-    // ctor & dtor
-    wxMenu(const wxString& title = wxEmptyString, const wxFunction func = NULL);
+    // ctors & dtor
+    wxMenu(const wxString& title,
+           const wxFunction func)
+    {
+        Init(title, func);
+    }
+
+    wxMenu( long WXUNUSED(style) )
+    {
+       Init( wxEmptyString );
+    }
+
+    wxMenu(const wxString& title = wxEmptyString, long WXUNUSED(style) = 0)
+    {
+        Init(title);
+    }
+
     virtual ~wxMenu();
 
     // construct menu
@@ -131,18 +151,21 @@ public:
     size_t CopyAccels(wxAcceleratorEntry *accels) const;
 #endif // wxUSE_ACCEL
 
-#ifdef WXWIN_COMPATIBILITY
+    wxFunction GetCallback() const { return m_callback; }
     void Callback(const wxFunction func) { m_callback = func; }
+    wxFunction        m_callback;
 
+#ifdef WXWIN_COMPATIBILITY
     // compatibility: these functions are deprecated
     bool Enabled(int id) const { return IsEnabled(id); }
     bool Checked(int id) const { return IsChecked(id); }
 
-private:
-    wxFunction        m_callback;
 #endif // WXWIN_COMPATIBILITY
 
 private:
+    // common part of all ctors
+    void Init(const wxString& title, const wxFunction func = NULL );
+
     bool              m_doBreak;
 
     // This is used when m_hMenu is NULL because we don't want to
@@ -189,6 +212,10 @@ public:
     // menubar construction
     WXHMENU Create();
     void Append(wxMenu *menu, const wxString& title);
+    void Insert(int pos, wxMenu * menu, const wxString& title);
+    void ReplaceMenu(int pos, wxMenu * new_menu, const wxString& title);
+    int  FindMenu(const wxString& title);
+    void Detach();
     virtual void Delete(wxMenu *menu, int index = 0); /* Menu not destroyed */
 
     // state control
@@ -258,14 +285,14 @@ public:
         // get the menu handle
     WXHMENU GetHMenu() const { return m_hMenu; }
 
-protected:
-    // common part of all ctors
-    void Init();
-
     // if the menubar is modified, the display is not updated automatically,
     // call this function to update it (m_menuBarFrame should be !NULL)
     void Refresh();
 
+protected:
+    // common part of all ctors
+    void Init();
+
     wxEvtHandler *m_eventHandler;
     int           m_menuCount;
     wxMenu      **m_menus;