#if wxUSE_OWNER_DRAWN
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "ownerdrw.h"
-#endif
-
#include "wx/bitmap.h"
#include "wx/colour.h"
#include "wx/font.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)
m_bmpUnchecked = bmpUnchecked;
m_bOwnerDrawn = true; }
- void SetBitmap(const wxBitmap& bmpChecked)
- { m_bmpChecked = bmpChecked;
- m_bOwnerDrawn = true; }
+ void SetBitmap(const wxBitmap& bmp, bool bChecked = true)
+ {
+ if ( bChecked )
+ m_bmpChecked = bmp;
+ else
+ m_bmpUnchecked = bmp;
+ m_bOwnerDrawn = true;
+ }
void SetDisabledBitmap( const wxBitmap& bmpDisabled )
{ m_bmpDisabled = bmpDisabled;
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
};