]> git.saurik.com Git - wxWidgets.git/commitdiff
Implement wxBitmapButton::DoGetBestSize
authorRobin Dunn <robin@alldunn.com>
Tue, 16 Mar 2004 22:17:07 +0000 (22:17 +0000)
committerRobin Dunn <robin@alldunn.com>
Tue, 16 Mar 2004 22:17:07 +0000 (22:17 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/toback24.txt
include/wx/mac/bmpbuttn.h
src/mac/bmpbuttn.cpp
src/mac/carbon/bmpbuttn.cpp

index 5f986684029a4004c51be364155886176e74bfe8..0e4720d8748ded10cfd070d89e22f88e57c82c43 100644 (file)
@@ -278,6 +278,34 @@ Checking in src/msw/tbar95.cpp;
 new revision: 1.121; previous revision: 1.120
 done
 
+
+38. Implement wxBitmapButton::DoGetBestSize
+
+Checking in include/wx/gtk/bmpbuttn.h;
+/pack/cvsroots/wxwidgets/wxWidgets/include/wx/gtk/bmpbuttn.h,v  <--  bmpbuttn.h
+new revision: 1.24; previous revision: 1.23
+done
+Checking in src/gtk/bmpbuttn.cpp;
+/pack/cvsroots/wxwidgets/wxWidgets/src/gtk/bmpbuttn.cpp,v  <--  bmpbuttn.cpp
+new revision: 1.46; previous revision: 1.45
+done
+Checking in include/wx/msw/bmpbuttn.h;
+/pack/cvsroots/wxwidgets/wxWidgets/include/wx/msw/bmpbuttn.h,v  <--  bmpbuttn.h
+new revision: 1.12; previous revision: 1.11
+done
+Checking in src/msw/bmpbuttn.cpp;
+/pack/cvsroots/wxwidgets/wxWidgets/src/msw/bmpbuttn.cpp,v  <--  bmpbuttn.cpp
+new revision: 1.45; previous revision: 1.44
+done
+Checking in include/wx/mac/bmpbuttn.h;
+/pack/cvsroots/wxwidgets/wxWidgets/include/wx/mac/bmpbuttn.h,v  <--  bmpbuttn.h
+new revision: 1.10; previous revision: 1.9
+done
+Checking in src/mac/bmpbuttn.cpp;
+/pack/cvsroots/wxwidgets/wxWidgets/src/mac/bmpbuttn.cpp,v  <--  bmpbuttn.cpp
+new revision: 1.26; previous revision: 1.25
+done
+
 =======
 
 
index 178c273ee925fad9cdb2ea75ea825b429b29007f..28a91ed93f218e4c1d7f883ed4fa780cf5d03712 100644 (file)
@@ -56,6 +56,9 @@ public:
   virtual void DrawButtonFocus( WXHDC dc, int left, int top, int right, int bottom, bool sel );
   virtual void DrawButtonDisable( WXHDC dc, int left, int top, int right, int bottom, bool with_marg );
 */
+
+protected:
+    virtual wxSize DoGetBestSize() const;    
 };
 
 #endif
index 4f067315139fa05c96fb3363b2f78ed597a8aad3..f6ce4dd00c3779b42b9493566343856db820a056 100644 (file)
@@ -51,11 +51,14 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
     int width = size.x;
     int height = size.y;
 
-    if ( width == -1 && bitmap.Ok())
-        width = bitmap.GetWidth() + 2*m_marginX;
-
-    if ( height == -1 && bitmap.Ok())
-        height = bitmap.GetHeight() + 2*m_marginY;
+    if ( bitmap.Ok() )
+    {
+        wxSize newSize = DoGetBestSize();
+        if ( width == -1 )
+            width = newSize.x;
+        if ( height == -1 )
+            height = newSize.y;
+    }
 
     Rect bounds ;
     Str255 title ;
@@ -97,3 +100,14 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
     }
 }
 
+
+wxSize wxBitmapButton::DoGetBestSize() const
+{
+    wxSize best;
+    if (m_bmpNormal.Ok())
+    {
+        best.x = m_bmpNormal.GetWidth() + 2*m_marginX;
+        best.y = m_bmpNormal.GetHeight() + 2*m_marginY;
+    }
+    return best;
+}
index 4f067315139fa05c96fb3363b2f78ed597a8aad3..f6ce4dd00c3779b42b9493566343856db820a056 100644 (file)
@@ -51,11 +51,14 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
     int width = size.x;
     int height = size.y;
 
-    if ( width == -1 && bitmap.Ok())
-        width = bitmap.GetWidth() + 2*m_marginX;
-
-    if ( height == -1 && bitmap.Ok())
-        height = bitmap.GetHeight() + 2*m_marginY;
+    if ( bitmap.Ok() )
+    {
+        wxSize newSize = DoGetBestSize();
+        if ( width == -1 )
+            width = newSize.x;
+        if ( height == -1 )
+            height = newSize.y;
+    }
 
     Rect bounds ;
     Str255 title ;
@@ -97,3 +100,14 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
     }
 }
 
+
+wxSize wxBitmapButton::DoGetBestSize() const
+{
+    wxSize best;
+    if (m_bmpNormal.Ok())
+    {
+        best.x = m_bmpNormal.GetWidth() + 2*m_marginX;
+        best.y = m_bmpNormal.GetHeight() + 2*m_marginY;
+    }
+    return best;
+}