X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9df8c2df09b78461a52f8b6d12ee9f3475e8c3da..8fb3a512a85572ebf4b4f46eaf536727dfe4e01e:/include/wx/msw/menu.h diff --git a/include/wx/msw/menu.h b/include/wx/msw/menu.h index c36a5fced2..9d2ca80bd8 100644 --- a/include/wx/msw/menu.h +++ b/include/wx/msw/menu.h @@ -19,6 +19,11 @@ #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;