X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/42e69d6b435a4dd5415caf3750db62cf45b6f373..f8c4475a3e579655f6a962822824596a7a9cfb66:/include/wx/msw/menu.h?ds=sidebyside diff --git a/include/wx/msw/menu.h b/include/wx/msw/menu.h index f01dafd080..3e6aad81d7 100644 --- a/include/wx/msw/menu.h +++ b/include/wx/msw/menu.h @@ -18,6 +18,7 @@ #include "wx/defs.h" #include "wx/event.h" +#include "wx/dynarray.h" class WXDLLEXPORT wxMenuItem; class WXDLLEXPORT wxMenuBar; @@ -35,8 +36,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 @@ -125,21 +141,26 @@ public: void Attach(wxMenuBar *menubar); void Detach(); +#if wxUSE_ACCEL size_t GetAccelCount() const { return m_accelKeyCodes.GetCount(); } 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 @@ -159,8 +180,10 @@ private: wxWindow *m_pInvokingWindow; void* m_clientData; +#if wxUSE_ACCEL // the accelerators data wxArrayInt m_accelKeyCodes, m_accelFlags, m_accelIds; +#endif // wxUSE_ACCEL }; // ---------------------------------------------------------------------------- @@ -212,7 +235,7 @@ public: // notifications: return FALSE to prevent the menu from being // appended/deleted - virtual bool OnAppend(wxMenu *menu, const char *title); + virtual bool OnAppend(wxMenu *menu, const wxChar *title); virtual bool OnDelete(wxMenu *menu, int index); // item search @@ -245,8 +268,11 @@ public: // attach to a frame void Attach(wxFrame *frame); +#if wxUSE_ACCEL // get the accel table for the menus const wxAcceleratorTable& GetAccelTable() const { return m_accelTable; } +#endif // wxUSE_ACCEL + // get the menu handle WXHMENU GetHMenu() const { return m_hMenu; } @@ -265,8 +291,10 @@ protected: wxFrame *m_menuBarFrame; WXHMENU m_hMenu; +#if wxUSE_ACCEL // the accelerator table for all accelerators in all our menus wxAcceleratorTable m_accelTable; +#endif // wxUSE_ACCEL }; #endif // _WX_MENU_H_