diff --git a/include/wx/qt/anybutton.h b/include/wx/qt/anybutton.h index 1d07bc5b3b..f8cc359f97 100644 --- a/include/wx/qt/anybutton.h +++ b/include/wx/qt/anybutton.h @@ -26,11 +26,12 @@ public: // -------------- virtual void SetLabel( const wxString &label ); - virtual void DoSetBitmap(const wxBitmap& bitmap, State which); virtual QWidget *GetHandle() const; protected: + virtual wxBitmap DoGetBitmap(State state) const wxOVERRIDE; + virtual void DoSetBitmap(const wxBitmap& bitmap, State which) wxOVERRIDE; QPushButton *m_qtPushButton; @@ -39,6 +40,7 @@ protected: private: typedef wxAnyButtonBase base_type; + wxBitmap m_bitmap; wxDECLARE_NO_COPY_CLASS(wxAnyButton); }; diff --git a/src/qt/anybutton.cpp b/src/qt/anybutton.cpp index 216b796979..dc56780af2 100644 --- a/src/qt/anybutton.cpp +++ b/src/qt/anybutton.cpp @@ -58,6 +58,8 @@ void wxAnyButton::QtSetBitmap( const wxBitmap &bitmap ) QPixmap *pixmap = bitmap.GetHandle(); m_qtPushButton->setIcon( QIcon( *pixmap )); m_qtPushButton->setIconSize( pixmap->rect().size() ); + + m_bitmap = bitmap; } void wxAnyButton::SetLabel( const wxString &label ) @@ -70,6 +72,11 @@ QWidget *wxAnyButton::GetHandle() const return m_qtPushButton; } +wxBitmap wxAnyButton::DoGetBitmap(State state) const +{ + return state == State_Normal ? m_bitmap : wxNullBitmap; +} + void wxAnyButton::DoSetBitmap(const wxBitmap& bitmap, State which) { switch ( which )