]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/radiobox.cpp
added more stuff to wxBase: zipstrm, zstream, fs_*, mstream
[wxWidgets.git] / src / mac / radiobox.cpp
index 492c93133afb9bd2161adb2700fca191d66fd8c4..416ba0b18f8e20ad9690ef5395b1ff4340b96ce7 100644 (file)
@@ -20,9 +20,7 @@
 #include "wx/radiobox.h"
 #include <wx/mac/uma.h>
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
-#endif
 
 #pragma mark -
 #pragma mark ### Constructors & destructor ###
@@ -420,7 +418,7 @@ void wxRadioBox::SetFocus()
 //-------------------------------------------------------------------------------------
 // Simulates the effect of the user issuing a command to the item
 
-#define RADIO_SIZE 20
+#define RADIO_SIZE 40
 
 void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
 {
@@ -431,6 +429,8 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
 
        int x_current, y_current;
        int x_offset,y_offset;
+    int widthOld, heightOld;
+    GetSize(&widthOld, &heightOld);
 
        x_offset = x;
        y_offset = y;
@@ -465,7 +465,24 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
        totHeight = GetNumVer() * (maxHeight + charHeight/2) + charHeight*3/2;
        totWidth  = GetNumHor() * (maxWidth + charWidth) + charWidth;
 
-       wxControl::DoSetSize(x_offset,y_offset,totWidth,totHeight,wxSIZE_AUTO);
+    // only change our width/height if asked for
+    if ( width == -1 )
+    {
+        if ( sizeFlags & wxSIZE_AUTO_WIDTH )
+            width = totWidth ;
+        else
+            width = widthOld;
+    }
+
+    if ( height == -1 )
+    {
+        if ( sizeFlags & wxSIZE_AUTO_HEIGHT )
+            height = totHeight ;
+        else
+            height = heightOld;
+    }
+
+       wxControl::DoSetSize(x_offset,y_offset,width,height,wxSIZE_AUTO);
 
 // arrange radiobuttons