]> git.saurik.com Git - wxWidgets.git/commitdiff
Next take at radioboxes
authorRobert Roebling <robert@roebling.de>
Mon, 26 Jul 1999 19:03:53 +0000 (19:03 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 26 Jul 1999 19:03:53 +0000 (19:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/scroll/scroll.cpp
src/gtk/radiobox.cpp
src/gtk1/radiobox.cpp

index cb167d00ed3773df43b9ca61fdbdb7dc9b6b625f..8107e5e22ce8afbcdf3c6fbad13756700289163f 100644 (file)
@@ -99,6 +99,8 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
   
   (void) new wxRadioBox( this, -1, "This", wxPoint(10,200), wxDefaultSize, 5, choices, 2, wxRA_SPECIFY_COLS );
 
+  (void) new wxRadioBox( this, -1, "This", wxPoint(10,300), wxDefaultSize, 5, choices, 2, wxRA_SPECIFY_ROWS );
+
   wxListCtrl *m_listCtrl = new wxListCtrl(
        this, -1, wxPoint(200, 10), wxSize(180, 120),
        wxLC_REPORT | wxSUNKEN_BORDER | wxLC_SINGLE_SEL );
index b85671aaa8c3e57585e758178a9b241b07fb3d4d..e1977ab2a4fbc6494c796b3e03378cdc6ba9710a 100644 (file)
@@ -184,16 +184,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 +223,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() );
 
index b85671aaa8c3e57585e758178a9b241b07fb3d4d..e1977ab2a4fbc6494c796b3e03378cdc6ba9710a 100644 (file)
@@ -184,16 +184,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 +223,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() );