]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/ownerdrw.h
implement wxBitmapButton::DoGetBestSize
[wxWidgets.git] / include / wx / ownerdrw.h
index 64d4f2b67d72fa4a89351e731e5a6a1e021e986e..6adb938d1b3aa0425335a2a845bfa51d29db1a16 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     11.11.97
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef   _OWNERDRW_H
@@ -14,7 +14,7 @@
 
 #if wxUSE_OWNER_DRAWN
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "ownerdrw.h"
 #endif
 
@@ -67,9 +67,16 @@ public:
       { m_bmpChecked = bmpChecked;
         m_bOwnerDrawn = TRUE; }
 
+  void SetDisabledBitmap( const wxBitmap& bmpDisabled )
+      { m_bmpDisabled = bmpDisabled;
+        m_bOwnerDrawn = TRUE; }
+
   const wxBitmap& GetBitmap(bool bChecked = TRUE) const
       { return (bChecked ? m_bmpChecked : m_bmpUnchecked); }
 
+  const wxBitmap& GetDisabledBitmap() const
+      { return m_bmpDisabled; }
+
   // the height of the menu checkmark (or bitmap) is determined by the font
   // for the current item, but the width should be always the same (for the
   // items to be aligned), so by default it's taken to be the same as for
@@ -102,6 +109,9 @@ public:
   // want to change, say, the color for the item but only if it is owner-drawn
   // (see wxMenuItem::wxMenuItem for example)
   bool IsOwnerDrawn() const { return m_bOwnerDrawn;   }
+
+  // switch on/off owner-drawing the item
+  void SetOwnerDrawn(bool ownerDrawn = TRUE) { m_bOwnerDrawn = ownerDrawn; }
   void ResetOwnerDrawn() { m_bOwnerDrawn = FALSE;  }
 
 public:
@@ -143,7 +153,8 @@ private:
   wxColour  m_colText,      // color ----"---"---"----
             m_colBack;      // background color
   wxBitmap  m_bmpChecked,   // bitmap to put near the item
-            m_bmpUnchecked; // (checked is used also for 'uncheckable' items)
+            m_bmpUnchecked, // (checked is used also for 'uncheckable' items)
+            m_bmpDisabled;
 
   size_t    m_nHeight,      // font height
             m_nMinHeight,   // minimum height, as determined by user's system settings