]> git.saurik.com Git - wxWidgets.git/commitdiff
Invalidate best size when the bitmap or bitmap position changes. Add GetBitmapMargins
authorRobin Dunn <robin@alldunn.com>
Mon, 1 Mar 2010 23:20:35 +0000 (23:20 +0000)
committerRobin Dunn <robin@alldunn.com>
Mon, 1 Mar 2010 23:20:35 +0000 (23:20 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/button.h
include/wx/osx/button.h
src/gtk/button.cpp
src/msw/button.cpp
src/osx/button_osx.cpp

index b6827dc00282702caaaf1459d58af76f9be72ba4..49613d09dbaa39dfe672f7913d5985a78ff17209 100644 (file)
@@ -109,7 +109,8 @@ public:
     // set the margins around the image
     void SetBitmapMargins(wxCoord x, wxCoord y) { DoSetBitmapMargins(x, y); }
     void SetBitmapMargins(const wxSize& sz) { DoSetBitmapMargins(sz.x, sz.y); }
-
+    wxSize GetBitmapMargins() { return DoGetBitmapMargins(); }
+    
     // set the image position relative to the text, i.e. wxLEFT means that the
     // image is to the left of the text (this is the default)
     void SetBitmapPosition(wxDirection dir);
index 75108eeb248a5f8d43a77a31b5b8262cf96721be..5b189fc940fb1a14fbb7635cdca0229081aaf9c5 100644 (file)
@@ -65,6 +65,7 @@ protected:
     {
         m_marginX = x;
         m_marginY = y;
+        InvalidateBestSize();
     }
     
     // the margins around the bitmap
index 8fe4d861bb69e1997da6f0e2032890311d4aa734..88e29ac4f310bb3b297b8dbbb21c76d63e4feba9 100644 (file)
@@ -664,6 +664,7 @@ void wxButton::DoSetBitmapPosition(wxDirection dir)
         }
 
         gtk_button_set_image_position(GTK_BUTTON(m_widget), gtkpos);
+        InvalidateBestSize();
     }
 #endif // GTK+ 2.10+
 }
index 4f9f577f78cb6233fafc39f2fcf6904e3e87945b..407981a03a3061dc0a9de3ebc684ed6649df9c2f 100644 (file)
@@ -1040,6 +1040,7 @@ void wxButton::DoSetBitmapMargins(wxCoord x, wxCoord y)
     wxCHECK_RET( m_imageData, "SetBitmap() must be called first" );
 
     m_imageData->SetBitmapMargins(x, y);
+    InvalidateBestSize();
 }
 
 void wxButton::DoSetBitmapPosition(wxDirection dir)
@@ -1047,6 +1048,7 @@ void wxButton::DoSetBitmapPosition(wxDirection dir)
     wxCHECK_RET( m_imageData, "SetBitmap() must be called first" );
 
     m_imageData->SetBitmapPosition(dir);
+    InvalidateBestSize();
 }
 
 // ----------------------------------------------------------------------------
index b61d2963842926c0824a1cfad00888ebfb7614a8..2fef7837da5d6f14205874287c05f04d2eddd496 100644 (file)
@@ -104,11 +104,13 @@ void wxButton::DoSetBitmap(const wxBitmap& bitmap, State which)
         if ( bi )
             bi->SetPressedBitmap(bitmap);
     }
+    InvalidateBestSize();
 }
 
 void wxButton::DoSetBitmapPosition(wxDirection dir)
 {
     m_peer->SetBitmapPosition(dir);
+    InvalidateBestSize();
 }
 
 wxWindow *wxButton::SetDefault()