#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 ###
//-------------------------------------------------------------------------------------
// Enables or disables the entire radiobox
-void wxRadioBox::Enable(bool enable)
+bool wxRadioBox::Enable(bool enable)
{
int i;
wxRadioButton *current;
- wxControl::Enable(enable);
+ if (!wxControl::Enable(enable))
+ return (false);
current=m_radioButtonCycle;
for (i=0;i<m_noItems;i++) {
current->Enable(enable);
current=current->NextInCycle();
}
+ return (true);
}
//-------------------------------------------------------------------------------------
i++;
current=current->NextInCycle();
}
- return current->Enable(enable);
}
//-------------------------------------------------------------------------------------
// 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)
{
int x_current, y_current;
int x_offset,y_offset;
+ int widthOld, heightOld;
+ GetSize(&widthOld, &heightOld);
x_offset = x;
y_offset = y;
totHeight = GetNumVer() * (maxHeight + charHeight/2) + charHeight*3/2;
totWidth = GetNumHor() * (maxWidth + charWidth) + charWidth;
- wxControl::DoSetSize(x_offset,y_offset,totWidth,totHeight);
+ // 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