+void wxButton::SetLabel(const wxString& label)
+{
+ if ( GetId() == wxID_HELP || HasFlag(wxBU_NOTEXT) )
+ {
+ // just store the label internally but don't really use it for the
+ // button
+ m_labelOrig =
+ m_label = label;
+ return;
+ }
+
+ wxButtonBase::SetLabel(label);
+}
+
+wxBitmap wxButton::DoGetBitmap(State which) const
+{
+ return m_bitmaps[which];
+}
+
+void wxButton::DoSetBitmap(const wxBitmap& bitmap, State which)
+{
+ m_bitmaps[which] = bitmap;
+
+ if ( which == State_Normal )
+ m_peer->SetBitmap(bitmap);
+ else if ( which == State_Pressed )
+ {
+ wxButtonImpl* bi = dynamic_cast<wxButtonImpl*> (m_peer);
+ if ( bi )
+ bi->SetPressedBitmap(bitmap);
+ }
+ InvalidateBestSize();
+}
+
+void wxButton::DoSetBitmapPosition(wxDirection dir)
+{
+ m_peer->SetBitmapPosition(dir);
+ InvalidateBestSize();
+}
+