]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/bmpbuttn.h
applied heavily modified patch 1116702: support for specifying disabled toolbar image...
[wxWidgets.git] / include / wx / bmpbuttn.h
index 884796042a14c03ea49cf34c05014df17af4205a..442369808ce56b0300e6718e550d927034a0a5b7 100644 (file)
 #ifndef _WX_BMPBUTTON_H_BASE_
 #define _WX_BMPBUTTON_H_BASE_
 
+#include "wx/defs.h"
+
 #if wxUSE_BMPBUTTON
 
 #include "wx/bitmap.h"
 #include "wx/button.h"
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxButtonNameStr;
+extern WXDLLEXPORT_DATA(const wxChar*) wxButtonNameStr;
 
 // ----------------------------------------------------------------------------
 // wxBitmapButton: a button which shows bitmaps instead of the usual string.
@@ -27,7 +29,10 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxButtonNameStr;
 class WXDLLEXPORT wxBitmapButtonBase : public wxButton
 {
 public:
-    wxBitmapButtonBase() { m_marginX = m_marginY = 0; }
+    wxBitmapButtonBase()
+        : m_bmpNormal(), m_bmpSelected(), m_bmpFocus(), m_bmpDisabled()
+        , m_marginX(0), m_marginY(0)
+        { }
 
     // set the bitmaps
     void SetBitmapLabel(const wxBitmap& bitmap)
@@ -56,9 +61,13 @@ public:
     int GetMarginX() const { return m_marginX; }
     int GetMarginY() const { return m_marginY; }
 
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
+
+
 protected:
     // function called when any of the bitmaps changes
-    virtual void OnSetBitmap() { }
+    virtual void OnSetBitmap() { InvalidateBestSize(); Refresh(); }
 
     // the bitmaps for various states
     wxBitmap m_bmpNormal,
@@ -69,10 +78,13 @@ protected:
     // the margins around the bitmap
     int m_marginX,
         m_marginY;
+
 private:
     // Prevent Virtual function hiding warnings
     void SetLabel(const wxString& rsLabel)
-    { wxWindowBase::SetLabel(rsLabel); }
+        { wxWindowBase::SetLabel(rsLabel); }
+
+    DECLARE_NO_COPY_CLASS(wxBitmapButtonBase)
 };
 
 #if defined(__WXUNIVERSAL__)
@@ -85,10 +97,10 @@ private:
     #include "wx/gtk/bmpbuttn.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/bmpbuttn.h"
+#elif defined(__WXCOCOA__)
+    #include "wx/cocoa/bmpbuttn.h"
 #elif defined(__WXPM__)
     #include "wx/os2/bmpbuttn.h"
-#elif defined(__WXSTUBS__)
-    #include "wx/stubs/bmpbuttn.h"
 #endif
 
 #endif // wxUSE_BMPBUTTON