X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83df96d63a52ebb08b9e32549dc255354b4a18d0..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/motif/bmpbuttn.h diff --git a/include/wx/motif/bmpbuttn.h b/include/wx/motif/bmpbuttn.h index 68a92fb886..40ff8f5b17 100644 --- a/include/wx/motif/bmpbuttn.h +++ b/include/wx/motif/bmpbuttn.h @@ -1,34 +1,27 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: bmpbuttn.h +// Name: wx/motif/bmpbuttn.h // Purpose: wxBitmapButton class // Author: Julian Smart // Modified by: // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_BMPBUTTN_H_ #define _WX_BMPBUTTN_H_ -#ifdef __GNUG__ -#pragma interface "bmpbuttn.h" -#endif - -#include "wx/button.h" - -WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr; +#include "wx/motif/bmpmotif.h" #define wxDEFAULT_BUTTON_MARGIN 4 -class WXDLLEXPORT wxBitmapButton: public wxButton +class WXDLLIMPEXP_CORE wxBitmapButton: public wxBitmapButtonBase { - DECLARE_DYNAMIC_CLASS(wxBitmapButton) public: wxBitmapButton(); - ~wxBitmapButton(); - inline wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, + 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, @@ -36,58 +29,31 @@ public: { Create(parent, id, bitmap, pos, size, style, validator, name); } - + bool Create(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); - - inline wxBitmap& GetBitmapLabel() const { return (wxBitmap&) m_buttonBitmap; } - inline wxBitmap& GetBitmapSelected() const { return (wxBitmap&) m_buttonBitmapSelected; } - inline wxBitmap& GetBitmapFocus() const { return (wxBitmap&) m_buttonBitmapFocus; } - inline wxBitmap& GetBitmapDisabled() const { return (wxBitmap&) m_buttonBitmapDisabled; } - - void SetBitmapSelected(const wxBitmap& sel); - void SetBitmapFocus(const wxBitmap& focus); - void SetBitmapDisabled(const wxBitmap& disabled); - - inline void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; } - inline int GetMarginX() { return m_marginX; } - inline int GetMarginY() { return m_marginY; } - + // Implementation - void DoSetBitmap(); virtual void ChangeBackgroundColour(); - + protected: - wxBitmap m_buttonBitmapFocus; - wxBitmap m_buttonBitmap; - wxBitmap m_buttonBitmapOriginal; // May be different from m_buttonBitmap - // if m_buttonBitmap has been changed - // to reflect button background colour - wxBitmap m_buttonBitmapSelected; - wxBitmap m_buttonBitmapSelectedOriginal; - - wxBitmap m_buttonBitmapDisabled; - wxBitmap m_buttonBitmapDisabledOriginal; - - int m_marginX; - int m_marginY; - + 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_