#define wxDEFAULT_BUTTON_MARGIN 4
-class WXDLLEXPORT wxBitmapButton: public wxBitmapButtonBase
+class WXDLLIMPEXP_CORE wxBitmapButton: public wxBitmapButtonBase
{
- DECLARE_DYNAMIC_CLASS(wxBitmapButton)
public:
wxBitmapButton();
- ~wxBitmapButton();
+ virtual ~wxBitmapButton();
wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxButtonNameStr);
- virtual void SetLabel(const wxBitmap& bitmap)
- {
- SetBitmapLabel(bitmap);
- }
- virtual void SetLabel(const wxString& label)
- {
- wxControl::SetLabel(label);
- }
-
- virtual void SetBitmapLabel(const wxBitmap& bitmap);
-
- void SetBitmapSelected(const wxBitmap& sel);
- void SetBitmapFocus(const wxBitmap& focus);
- void SetBitmapDisabled(const wxBitmap& disabled);
-
// Implementation
- void DoSetBitmap();
virtual void ChangeBackgroundColour();
- virtual wxSize DoGetBestSize() const;
protected:
- wxBitmap m_bmpNormalOriginal; // May be different from m_buttonBitmap
- // if m_buttonBitmap has been changed
- // to reflect button background colour
- wxBitmap m_bmpSelectedOriginal;
- wxBitmap m_bmpDisabledOriginal;
+ virtual wxSize DoGetBestSize() const;
+
+ virtual void DoSetBitmap(const wxBitmap& bitmap, State which);
+ virtual void OnSetBitmap();
+
+ // original bitmaps may be different from the ones we were initialized with
+ // if they were changed to reflect button background colour
+ wxBitmap m_bitmapsOriginal[State_Max];
wxBitmapCache m_bitmapCache;
WXPixmap m_insensPixmap;
+
+ DECLARE_DYNAMIC_CLASS(wxBitmapButton)
};
-#endif
-// _WX_BMPBUTTN_H_
+#endif // _WX_BMPBUTTN_H_