]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/radiobox.cpp
making implementation independent of a wx-peer of that control
[wxWidgets.git] / src / mac / carbon / radiobox.cpp
index be78021cf1987aea1c3dc12f36c75d151bad4f69..07210463af8ebfb808090a9c3f8bae1dccf659e3 100644 (file)
@@ -37,7 +37,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
 //-------------------------------------------------------------------------------------
 // Default constructor
 BEGIN_EVENT_TABLE(wxRadioBox, wxControl)
-EVT_RADIOBUTTON( -1 , wxRadioBox::OnRadioButton )
+EVT_RADIOBUTTON( wxID_ANY , wxRadioBox::OnRadioButton )
 END_EVENT_TABLE()
 
 void wxRadioBox::OnRadioButton( wxCommandEvent &outer )
@@ -140,7 +140,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
     if ( bounds.bottom <= bounds.top )
         bounds.bottom = bounds.top + 100 ;
 
-    m_peer = new wxMacControl() ;
+    m_peer = new wxMacControl(this) ;
 
     verify_noerr(CreateGroupBoxControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()),&bounds, CFSTR("") ,
         true /*primary*/ , m_peer->GetControlRefAddr() ) ) ;
@@ -199,7 +199,7 @@ bool wxRadioBox::Enable(int item, bool enable)
     int i;
     wxRadioButton *current;
 
-    if ((item < 0) || (item >= m_noItems))
+    if (!IsValid(item))
         return false;
 
     i = 0;
@@ -231,7 +231,7 @@ wxString wxRadioBox::GetString(int item) const
     int i;
     wxRadioButton *current;
 
-    if ((item < 0) || (item >= m_noItems))
+    if (!IsValid(item))
         return wxEmptyString;
 
     i = 0;
@@ -291,7 +291,7 @@ void wxRadioBox::SetString(int item,const wxString& label)
        int i;
     wxRadioButton *current;
 
-    if ((item < 0) || (item >= m_noItems))
+    if (!IsValid(item))
         return;
     i=0;
     current=m_radioButtonCycle;
@@ -313,7 +313,7 @@ void wxRadioBox::SetSelection(int item)
     int i;
     wxRadioButton *current;
 
-    if ((item < 0) || (item >= m_noItems))
+    if (!IsValid(item))
         return;
     i=0;
     current=m_radioButtonCycle;
@@ -338,7 +338,8 @@ bool wxRadioBox::Show(bool show)
     wxControl::Show(show);
 
     current=m_radioButtonCycle;
-       for (i=0;i<m_noItems;i++) {
+    for (i=0;i<m_noItems;i++)
+    {
         current->Show(show);
         current=current->NextInCycle();
     }
@@ -350,20 +351,20 @@ bool wxRadioBox::Show(bool show)
 //-------------------------------------------------------------------------------------
 // Shows or hides the given button
 
-void wxRadioBox::Show(int item, bool show)
+bool wxRadioBox::Show(int item, bool show)
 {
-       int i;
+    int i;
     wxRadioButton *current;
 
-    if ((item < 0) || (item >= m_noItems))
-        return;
+    if (!IsValid(item))
+        return false;
     i=0;
     current=m_radioButtonCycle;
     while (i!=item) {
         i++;
         current=current->NextInCycle();
     }
-    current->Show(show);
+    return current->Show(show);
 }
 
 //-------------------------------------------------------------------------------------
@@ -419,9 +420,9 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
     x_offset = x;
     y_offset = y;
     GetPosition(&x_current, &y_current);
-    if ((x == -1) && !(sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
+    if ((x == wxDefaultCoord) && !(sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
         x_offset = x_current;
-    if ((y == -1)&& !(sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
+    if ((y == wxDefaultCoord)&& !(sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
         y_offset = y_current;
 
     // define size
@@ -444,7 +445,7 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
         eachHeight[i] = (int)((3*eachHeight[i])/2);
         if (maxWidth<eachWidth[i]) maxWidth = eachWidth[i];
         if (maxHeight<eachHeight[i]) maxHeight = eachHeight[i];
-          }
+    }
 
     totHeight = GetRowCount() * ( maxHeight ) ;
     totWidth  = GetColumnCount() * (maxWidth + charWidth) ;
@@ -452,7 +453,7 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
     wxSize sz = DoGetSizeFromClientSize( wxSize( totWidth , totHeight ) ) ;
 
     // only change our width/height if asked for
-    if ( width == -1 )
+    if ( width == wxDefaultCoord )
     {
         if ( sizeFlags & wxSIZE_AUTO_WIDTH )
             width = sz.x ;
@@ -460,7 +461,7 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
             width = widthOld;
     }
 
-    if ( height == -1 )
+    if ( height == wxDefaultCoord )
     {
         if ( sizeFlags & wxSIZE_AUTO_HEIGHT )
             height = sz.y ;