1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/motif/bmpbuttn.h 3// Purpose: wxBitmapButton class 4// Author: Julian Smart 5// Modified by: 6// Created: 17/09/98 7// RCS-ID: $Id: bmpbuttn.h 41020 2006-09-05 20:47:48Z VZ $ 8// Copyright: (c) Julian Smart 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_BMPBUTTN_H_ 13#define _WX_BMPBUTTN_H_ 14 15#include "wx/motif/bmpmotif.h" 16 17#define wxDEFAULT_BUTTON_MARGIN 4 18 19class WXDLLEXPORT wxBitmapButton: public wxBitmapButtonBase 20{ 21 DECLARE_DYNAMIC_CLASS(wxBitmapButton) 22public: 23 wxBitmapButton(); 24 virtual ~wxBitmapButton(); 25 wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, 26 const wxPoint& pos = wxDefaultPosition, 27 const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW, 28 const wxValidator& validator = wxDefaultValidator, 29 const wxString& name = wxButtonNameStr) 30 { 31 Create(parent, id, bitmap, pos, size, style, validator, name); 32 } 33 34 bool Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, 35 const wxPoint& pos = wxDefaultPosition, 36 const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW, 37 const wxValidator& validator = wxDefaultValidator, 38 const wxString& name = wxButtonNameStr); 39 40 virtual void SetLabel(const wxBitmap& bitmap) 41 { 42 SetBitmapLabel(bitmap); 43 } 44 virtual void SetLabel(const wxString& label) 45 { 46 wxControl::SetLabel(label); 47 } 48 49 virtual void SetBitmapLabel(const wxBitmap& bitmap); 50 51 void SetBitmapSelected(const wxBitmap& sel); 52 void SetBitmapFocus(const wxBitmap& focus); 53 void SetBitmapDisabled(const wxBitmap& disabled); 54 55 // Implementation 56 void DoSetBitmap(); 57 virtual void ChangeBackgroundColour(); 58 virtual wxSize DoGetBestSize() const; 59 60protected: 61 wxBitmap m_bmpNormalOriginal; // May be different from m_buttonBitmap 62 // if m_buttonBitmap has been changed 63 // to reflect button background colour 64 wxBitmap m_bmpSelectedOriginal; 65 wxBitmap m_bmpDisabledOriginal; 66 67 wxBitmapCache m_bitmapCache; 68 69 WXPixmap m_insensPixmap; 70}; 71 72#endif 73// _WX_BMPBUTTN_H_ 74