X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/67fdb6f9af36cba7a0b06e61be320ce914dc3f4f..1bd122ddfa1d4d3e5f87ecb1e7dd317439fb6593:/include/wx/msw/menu.h diff --git a/include/wx/msw/menu.h b/include/wx/msw/menu.h index 60f660ccc7..f19beacbf7 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); @@ -120,6 +136,17 @@ private: wxAcceleratorArray m_accels; #endif // wxUSE_ACCEL +#if wxUSE_OWNER_DRAWN + // true if the menu has any ownerdrawn items + bool m_ownerDrawn; + + // 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) };