#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"
// 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)
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)
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
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 ----"---"---"----
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
};