m_needParent = TRUE;
m_acceptsFocus = TRUE;
- PreCreation( parent, id, pos, size, style, name );
-
-#if wxUSE_VALIDATORS
- SetValidator( validator );
-#endif
+ if (!PreCreation( parent, pos, size ) ||
+ !CreateBase( parent, id, pos, size, style, validator, name ))
+ {
+ wxFAIL_MSG( _T("wxRadioBox creation failed") );
+ return FALSE;
+ }
m_widget = gtk_frame_new( title.mbc_str() );
wxSize res( 0, 0 );
- if (m_windowStyle & wxRA_HORIZONTAL)
+ int num_of_cols = 0;
+ int num_of_rows = 0;
+ if (HasFlag(wxRA_SPECIFY_COLS))
{
-
- for (int j = 0; j < m_majorDim; j++)
+ num_of_cols = m_majorDim;
+ num_of_rows = num_per_major;
+ }
+ else
+ {
+ num_of_cols = num_per_major;
+ num_of_rows = m_majorDim;
+ }
+
+ if ( HasFlag(wxRA_SPECIFY_COLS) ||
+ (HasFlag(wxRA_SPECIFY_ROWS) && (num_of_cols > 1)) )
+ {
+ for (int j = 0; j < num_of_cols; j++)
{
y = 15;
int max_len = 0;
- wxNode *node = m_boxes.Nth( j*num_per_major );
- for (int i1 = 0; i1< num_per_major; i1++)
+ wxNode *node = m_boxes.Nth( j*num_of_rows );
+ for (int i1 = 0; i1< num_of_rows; i1++)
{
GtkWidget *button = GTK_WIDGET( node->Data() );
GtkLabel *label = GTK_LABEL( GTK_BUTTON(button)->child );
// we don't know the max_len before
- node = m_boxes.Nth( j*num_per_major );
- for (int i2 = 0; i2< num_per_major; i2++)
+ node = m_boxes.Nth( j*num_of_rows );
+ for (int i2 = 0; i2< num_of_rows; i2++)
{
GtkWidget *button = GTK_WIDGET( node->Data() );
node = node->Next();
}
res.x = x+4;
- res.y = 42;
+ res.y = 40;
}
return res;
gtk_widget_hide( button );
}
-wxString wxRadioBox::GetStringSelection(void) const
+wxString wxRadioBox::GetStringSelection() const
{
wxCHECK_MSG( m_widget != NULL, _T(""), _T("invalid radiobox") );
return TRUE;
}
-int wxRadioBox::Number(void) const
+int wxRadioBox::Number() const
{
return m_boxes.Number();
}
-int wxRadioBox::GetNumberOfRowsOrCols(void) const
+int wxRadioBox::GetNumberOfRowsOrCols() const
{
return 1;
}