#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.
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)
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,
// 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__)
#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