X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/717a57c2fabb054c8f00dc5dae70df1d03cfe532..e81a301cbdc8729b0a71fa5dfd7124bf59368673:/include/wx/msw/menu.h diff --git a/include/wx/msw/menu.h b/include/wx/msw/menu.h index 31e2488996..310586e498 100644 --- a/include/wx/msw/menu.h +++ b/include/wx/msw/menu.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: menu.h +// Name: wx/msw/menu.h // Purpose: wxMenu, wxMenuBar classes // Author: Julian Smart // Modified by: Vadim Zeitlin (wxMenuItem is now in separate file) @@ -49,20 +49,22 @@ public: virtual void SetTitle(const wxString& title); - // MSW-specific - bool ProcessCommand(wxCommandEvent& event); - -#ifdef WXWIN_COMPATIBILITY + // deprecated functions +#if wxUSE_MENU_CALLBACK wxMenu(const wxString& title, const wxFunction func) : wxMenuBase(title) { + Init(); + Callback(func); } -#endif // WXWIN_COMPATIBILITY +#endif // wxUSE_MENU_CALLBACK // implementation only from now on // ------------------------------- + virtual void Attach(wxMenuBarBase *menubar); + bool MSWCommand(WXUINT param, WXWORD id); // semi-private accessors @@ -71,10 +73,6 @@ public: // get the menu handle WXHMENU GetHMenu() const { return m_hMenu; } - // attach/detach menu to/from wxMenuBar - void Attach(wxMenuBar *menubar); - void Detach(); - #if wxUSE_ACCEL // called by wxMenuBar to build its accel table from the accels of all menus bool HasAccels() const { return !m_accels.IsEmpty(); } @@ -95,9 +93,15 @@ private: // common part of Append/Insert (behaves as Append is pos == (size_t)-1) bool DoInsertOrAppend(wxMenuItem *item, size_t pos = (size_t)-1); + // terminate the current radio group, if any + void EndRadioGroup(); + // if TRUE, insert a breal before appending the next item bool m_doBreak; + // the position of the first item in the current radio group or -1 + int m_startRadioGroup; + // the menu handle of this menu WXHMENU m_hMenu; @@ -131,16 +135,12 @@ public: virtual wxMenu *Replace(size_t pos, wxMenu *menu, const wxString& title); virtual wxMenu *Remove(size_t pos); - virtual int FindMenuItem(const wxString& menuString, - const wxString& itemString) const; - virtual wxMenuItem* FindItem( int id, wxMenu **menu = NULL ) const; - virtual void EnableTop( size_t pos, bool flag ); virtual void SetLabelTop( size_t pos, const wxString& label ); virtual wxString GetLabelTop( size_t pos ) const; // compatibility: these functions are deprecated -#ifdef WXWIN_COMPATIBILITY +#if WXWIN_COMPATIBILITY void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; } wxEvtHandler *GetEventHandler() { return m_eventHandler; } @@ -150,15 +150,8 @@ public: // implementation from now on WXHMENU Create(); - int FindMenu(const wxString& title); - void Detach(); - - // returns TRUE if we're attached to a frame - bool IsAttached() const { return m_menuBarFrame != NULL; } - // get the frame we live in - wxFrame *GetFrame() const { return m_menuBarFrame; } - // attach to a frame - void Attach(wxFrame *frame); + virtual void Detach(); + virtual void Attach(wxFrame *frame); #if wxUSE_ACCEL // get the accel table for all the menus @@ -179,13 +172,12 @@ protected: // common part of all ctors void Init(); -#ifdef WXWIN_COMPATIBILITY +#if WXWIN_COMPATIBILITY wxEvtHandler *m_eventHandler; #endif // WXWIN_COMPATIBILITY wxArrayString m_titles; - wxFrame *m_menuBarFrame; WXHMENU m_hMenu; #if wxUSE_ACCEL