X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d08504dfa577c3510b150d19b9539fea3df24fce..e4c903b2ea42fe104ef50d0ea6028f14d8309dfa:/include/wx/msw/menu.h diff --git a/include/wx/msw/menu.h b/include/wx/msw/menu.h index 0ce964a495..84c3631620 100644 --- a/include/wx/msw/menu.h +++ b/include/wx/msw/menu.h @@ -67,10 +67,7 @@ public: bool MSWCommand(WXUINT param, WXWORD id); - // semi-private accessors - // get the window which contains this menu - wxWindow *GetWindow() const; - // get the menu handle + // get the native menu handle WXHMENU GetHMenu() const { return m_hMenu; } #if wxUSE_ACCEL @@ -91,6 +88,25 @@ public: wxAcceleratorTable *CreateAccelTable() const; #endif // wxUSE_ACCEL +#if wxUSE_OWNER_DRAWN + + int GetMaxAccelWidth() + { + if (m_maxAccelWidth == -1) + CalculateMaxAccelWidth(); + return m_maxAccelWidth; + } + + void ResetMaxAccelWidth() + { + m_maxAccelWidth = -1; + } + +private: + void CalculateMaxAccelWidth(); + +#endif // wxUSE_OWNER_DRAWN + protected: virtual wxMenuItem* DoAppend(wxMenuItem *item); virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item); @@ -126,6 +142,9 @@ private: // the max width of menu items bitmaps int m_maxBitmapWidth; + + // the max width of menu items accels + int m_maxAccelWidth; #endif // wxUSE_OWNER_DRAWN DECLARE_DYNAMIC_CLASS_NO_COPY(wxMenu) @@ -135,25 +154,6 @@ private: // Menu Bar (a la Windows) // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxMenuInfo : public wxObject -{ -public : - wxMenuInfo() { m_menu = NULL; } - virtual ~wxMenuInfo() { } - - void Create( wxMenu *menu , const wxString &title ) - { m_menu = menu; m_title = title; } - wxMenu* GetMenu() const { return m_menu; } - wxString GetTitle() const { return m_title; } -private : - wxMenu *m_menu; - wxString m_title; - - DECLARE_DYNAMIC_CLASS(wxMenuInfo) -}; - -WX_DECLARE_EXPORTED_LIST(wxMenuInfo, wxMenuInfoList ); - class WXDLLIMPEXP_CORE wxMenuBar : public wxMenuBarBase { public: @@ -167,9 +167,6 @@ public: virtual ~wxMenuBar(); // menubar construction - bool Append( wxMenuInfo *info ) { return Append( info->GetMenu() , info->GetTitle() ); } - const wxMenuInfoList& GetMenuInfos() const; - virtual bool Append( wxMenu *menu, const wxString &title ); virtual bool Insert(size_t pos, wxMenu *menu, const wxString& title); virtual wxMenu *Replace(size_t pos, wxMenu *menu, const wxString& title); @@ -215,9 +212,6 @@ protected: // common part of all ctors void Init(); - wxArrayString m_titles; - wxMenuInfoList m_menuInfos; - WXHMENU m_hMenu; // Return the MSW position for a wxMenu which is sometimes different from