X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7e548f6b13a27eee6f2740d922cab636f0b305e0..c29e714c378d7e3164d71e2c306d990802fe678b:/include/wx/ownerdrw.h diff --git a/include/wx/ownerdrw.h b/include/wx/ownerdrw.h index a8b5a1b8ad..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) @@ -131,7 +129,8 @@ public: wxODDisabled = 0x0004, // item is to be drawn as disabled wxODChecked = 0x0008, // item is to be checked wxODHasFocus = 0x0010, // item has the keyboard focus - wxODDefault = 0x0020 // item is the default item + wxODDefault = 0x0020, // item is the default item + wxODHidePrefix= 0x0100 // hide keyboard cues (w2k and xp only) }; // virtual functions to implement drawing (return true if processed) @@ -139,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 @@ -147,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 ----"---"---"---- @@ -157,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 };