+}
+}
+
+
+//-----------------------------------------------------------------------------
+// wxRadioBox
+//-----------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxRadioBox,wxControl)
+
+void wxRadioBox::Init()
+{
+ m_needParent = true;
+ m_acceptsFocus = true;
+
+ m_hasFocus =
+ m_lostFocus = false;
+}
+
+bool wxRadioBox::Create( wxWindow *parent, wxWindowID id,
+ const wxString& title,
+ const wxPoint &pos, const wxSize &size,
+ const wxArrayString& choices, int majorDim,
+ long style, const wxValidator& validator,
+ const wxString &name )
+{
+ wxCArrayString chs(choices);
+
+ return Create( parent, id, title, pos, size, chs.GetCount(),
+ chs.GetStrings(), majorDim, style, validator, name );
+}
+
+bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
+ const wxPoint &pos, const wxSize &size,
+ int n, const wxString choices[], int majorDim,
+ long style, const wxValidator& validator,
+ const wxString &name )
+{
+ if (!PreCreation( parent, pos, size ) ||
+ !CreateBase( parent, id, pos, size, style, validator, name ))
+ {
+ wxFAIL_MSG( wxT("wxRadioBox creation failed") );
+ return false;
+ }
+
+ m_widget = GTKCreateFrame(title);
+ wxControl::SetLabel(title);
+
+ // majorDim may be 0 if all trailing parameters were omitted, so don't
+ // assert here but just use the correct value for it
+ SetMajorDim(majorDim == 0 ? n : majorDim, style);
+
+
+ unsigned int num_of_cols = GetColumnCount();
+ unsigned int num_of_rows = GetRowCount();
+
+ GtkRadioButton *rbtn = (GtkRadioButton*) NULL;
+
+ GtkWidget *table = gtk_table_new( num_of_rows, num_of_cols, FALSE );
+ gtk_table_set_col_spacings( GTK_TABLE(table), 1 );
+ gtk_table_set_row_spacings( GTK_TABLE(table), 1 );
+ gtk_widget_show( table );
+ gtk_container_add( GTK_CONTAINER(m_widget), table );
+
+ wxString label;
+ GSList *radio_button_group = (GSList *) NULL;
+ for (unsigned int i = 0; i < (unsigned int)n; i++)