]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/radiobox.cpp
Now uses the version number when doing a cleandll
[wxWidgets.git] / src / gtk1 / radiobox.cpp
index b85671aaa8c3e57585e758178a9b241b07fb3d4d..5328d1565d88f02905e80f01fbec69f20faf860a 100644 (file)
@@ -85,11 +85,12 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     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() );
 
@@ -184,16 +185,29 @@ wxSize wxRadioBox::LayoutItems()
 
     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 );
@@ -210,8 +224,8 @@ wxSize wxRadioBox::LayoutItems()
 
             // 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() );