X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/51d2fa37c431389260d70805f06e0158d85bdb3a..1b895132c960415872de82c1d47589b6b55cecee:/include/wx/ownerdrw.h?ds=inline diff --git a/include/wx/ownerdrw.h b/include/wx/ownerdrw.h index 7d388880bb..be2ae25d58 100644 --- a/include/wx/ownerdrw.h +++ b/include/wx/ownerdrw.h @@ -12,11 +12,9 @@ #ifndef _OWNERDRW_H #define _OWNERDRW_H -#if wxUSE_OWNER_DRAWN +#include "wx/defs.h" -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "ownerdrw.h" -#endif +#if wxUSE_OWNER_DRAWN #include "wx/bitmap.h" #include "wx/colour.h" @@ -31,14 +29,14 @@ // element or one unchangeable bitmap otherwise. // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxOwnerDrawn +class WXDLLIMPEXP_CORE wxOwnerDrawn { public: // ctor & dtor wxOwnerDrawn(const wxString& str = wxEmptyString, bool bCheckable = false, bool bMenuItem = false); // FIXME kludge for colors - virtual ~wxOwnerDrawn() { } + virtual ~wxOwnerDrawn(); // fix appearance void SetFont(const wxFont& font) @@ -140,6 +138,13 @@ public: virtual bool OnDrawItem(wxDC& dc, const wxRect& rc, wxODAction act, wxODStatus stat); protected: + // return true if this is a menu item + bool IsMenuItem() const; + + // get the font to use, whether m_font is set or not + wxFont GetFontToUse() const; + + wxString m_strName, // label for a manu item m_strAccel; // the accel string ("Ctrl-F17") if any @@ -148,7 +153,8 @@ private: static size_t ms_nLastMarginWidth; // handy for aligning all items bool m_bCheckable, // used only for menu or check listbox items - m_bOwnerDrawn; // true if something is non standard + m_bOwnerDrawn, // true if something is non standard + m_isMenuItem; // true if this is a menu item wxFont m_font; // font to use for drawing wxColour m_colText, // color ----"---"---"---- @@ -158,7 +164,6 @@ private: m_bmpDisabled; size_t m_nHeight, // font height - m_nMinHeight, // minimum height, as determined by user's system settings m_nMarginWidth; // space occupied by bitmap to the left of the item };