]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/ownerdrw.h
replace use of 'long/int bitmapType' with 'wxBitmapType bitmapType' in richtext and...
[wxWidgets.git] / include / wx / ownerdrw.h
index a8b5a1b8adb988ba2967fd8707d7703c9d40630b..be2ae25d581d836e50a9a3e3967fa014ef66c8bc 100644 (file)
 #ifndef   _OWNERDRW_H
 #define   _OWNERDRW_H
 
 #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"
 
 #include "wx/bitmap.h"
 #include "wx/colour.h"
 // element or one unchangeable bitmap otherwise.
 // ----------------------------------------------------------------------------
 
 // 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
 {
 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)
 
   // 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
     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 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:
   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
 
   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
   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 ----"---"---"----
 
   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_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
 };
 
             m_nMarginWidth; // space occupied by bitmap to the left of the item
 };