]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/radiobox.cpp
Fixed OpenWatcom (strange) scope related crash.
[wxWidgets.git] / src / mac / classic / radiobox.cpp
index 672267db79ca67f19564d738c21c68d061615b21..52cfa6c4bac75a4305b4ac5f1fa4a7cb6ff94d56 100644 (file)
@@ -6,16 +6,18 @@
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
-// Licence:       wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 //-------------------------------------------------------------------------------------
 //         headers
 //-------------------------------------------------------------------------------------
 
-#include "wx/defs.h"
-#include "wx/arrstr.h"
+#include "wx/wxprec.h"
+
+#if wxUSE_RADIOBOX
 
+#include "wx/arrstr.h"
 #include "wx/radiobox.h"
 #include "wx/radiobut.h"
 #include "wx/mac/uma.h"
@@ -37,7 +39,7 @@ void wxRadioBox::OnRadioButton( wxCommandEvent &outer )
         wxCommandEvent event(wxEVT_COMMAND_RADIOBOX_SELECTED, m_windowId);
         int i = GetSelection() ;
         event.SetInt( i );
-        event.SetString( GetString( i ) );
+        event.SetString(GetString(i));
         event.SetEventObject( this );
         ProcessCommand(event);
     }
@@ -47,7 +49,6 @@ wxRadioBox::wxRadioBox()
 {
     m_noItems = 0;
     m_noRowsOrCols = 0;
-    m_majorDim = 0 ;
     m_radioButtonCycle = NULL;
 }
 
@@ -110,14 +111,11 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
 
     int i;
 
-    m_noItems = n;
+    m_noItems = (unsigned int)n;
     m_noRowsOrCols = majorDim;
     m_radioButtonCycle = NULL;
 
-    if (majorDim==0)
-        m_majorDim = n ;
-    else
-        m_majorDim = majorDim ;
+    SetMajorDim(majorDim == 0 ? n : majorDim, style);
 
     Rect bounds ;
     Str255 title ;
@@ -157,14 +155,12 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
 
 bool wxRadioBox::Enable(bool enable)
 {
-    int i;
-    wxRadioButton *current;
-
     if (!wxControl::Enable(enable))
         return false;
 
-    current = m_radioButtonCycle;
-    for (i = 0; i < m_noItems; i++) {
+    wxRadioButton *current = m_radioButtonCycle;
+    for (unsigned int i = 0; i < m_noItems; i++)
+    {
         current->Enable(enable);
         current = current->NextInCycle();
     }
@@ -172,21 +168,19 @@ bool wxRadioBox::Enable(bool enable)
 }
 
 //-------------------------------------------------------------------------------------
-//         ¥ Enable(int, bool)
+//         ¥ Enable(unsigned int, bool)
 //-------------------------------------------------------------------------------------
 // Enables or disables an given button
 
-bool wxRadioBox::Enable(int item, bool enable)
+bool wxRadioBox::Enable(unsigned int item, bool enable)
 {
-    int i;
-    wxRadioButton *current;
-
     if (!IsValid(item))
         return false;
 
-    i = 0;
-    current = m_radioButtonCycle;
-    while (i != item) {
+    unsigned int i = 0;
+    wxRadioButton *current = m_radioButtonCycle;
+    while (i != item)
+    {
         i++;
         current = current->NextInCycle();
     }
@@ -208,15 +202,14 @@ wxString wxRadioBox::GetLabel() const
 //-------------------------------------------------------------------------------------
 // Returns the label for the given button
 
-wxString wxRadioBox::GetString(int item) const
+wxString wxRadioBox::GetString(unsigned int item) const
 {
-    int i;
     wxRadioButton *current;
 
     if (!IsValid(item))
         return wxEmptyString;
 
-    i = 0;
+    unsigned int i = 0;
     current = m_radioButtonCycle;
     while (i != item) {
         i++;
@@ -268,16 +261,15 @@ void wxRadioBox::SetLabel(const wxString& label)
 //-------------------------------------------------------------------------------------
 // Sets the label of a given button
 
-void wxRadioBox::SetString(int item,const wxString& label)
+void wxRadioBox::SetString(unsigned int item,const wxString& label)
 {
-    int i;
-    wxRadioButton *current;
-
     if (!IsValid(item))
         return;
-    i=0;
-    current=m_radioButtonCycle;
-    while (i!=item) {
+
+    unsigned int i=0;
+    wxRadioButton *current=m_radioButtonCycle;
+    while (i!=item)
+    {
         i++;
         current=current->NextInCycle();
     }
@@ -314,13 +306,12 @@ void wxRadioBox::SetSelection(int item)
 
 bool wxRadioBox::Show(bool show)
 {
-    int i;
     wxRadioButton *current;
 
     wxControl::Show(show);
 
     current=m_radioButtonCycle;
-    for (i=0;i<m_noItems;i++)
+    for (unsigned int i=0; i<m_noItems; i++)
     {
         current->Show(show);
         current=current->NextInCycle();
@@ -329,19 +320,17 @@ bool wxRadioBox::Show(bool show)
 }
 
 //-------------------------------------------------------------------------------------
-//         ¥ Show(int, bool)
+//         ¥ Show(unsigned int, bool)
 //-------------------------------------------------------------------------------------
 // Shows or hides the given button
 
-bool wxRadioBox::Show(int item, bool show)
+bool wxRadioBox::Show(unsigned int item, bool show)
 {
-    int i;
-    wxRadioButton *current;
-
     if (!IsValid(item))
         return false;
-    i=0;
-    current=m_radioButtonCycle;
+
+    unsigned int i = 0;
+    wxRadioButton *current=m_radioButtonCycle;
     while (i!=item) {
         i++;
         current=current->NextInCycle();
@@ -389,7 +378,7 @@ void wxRadioBox::SetFocus()
 
 void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
 {
-    int i;
+    unsigned int i;
     wxRadioButton *current;
 
     // define the position
@@ -427,7 +416,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 + charHeight/2) + charHeight ;
     totWidth  = GetColumnCount() * (maxWidth + charWidth) + charWidth;
@@ -469,7 +458,7 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
     current=m_radioButtonCycle;
     for ( i = 0 ; i < m_noItems; i++)
     {
-        if (i&&((i%m_majorDim)==0)) // not to do for the zero button!
+        if (i&&((i%GetMajorDim())==0)) // not to do for the zero button!
         {
             if (m_windowStyle & wxRA_VERTICAL)
             {
@@ -508,7 +497,7 @@ wxSize wxRadioBox::DoGetBestSize() const
     maxWidth = -1;
     maxHeight = -1;
 
-    for (int i = 0 ; i < m_noItems; i++)
+    for (unsigned int i = 0 ; i < m_noItems; i++)
     {
         GetTextExtent(GetString(i), &eachWidth, &eachHeight);
         eachWidth  = (int)(eachWidth + RADIO_SIZE) ;
@@ -533,36 +522,5 @@ wxSize wxRadioBox::DoGetBestSize() const
 
     return wxSize(totWidth, totHeight);
 }
-//-------------------------------------------------------------------------------------
-//         ¥ GetNumVer
-//-------------------------------------------------------------------------------------
-// return the number of buttons in the vertical direction
 
-int wxRadioBox::GetRowCount() const
-{
-    if ( m_windowStyle & wxRA_SPECIFY_ROWS )
-    {
-        return m_majorDim;
-    }
-    else
-    {
-        return (m_noItems + m_majorDim - 1)/m_majorDim;
-    }
-}
-
-//-------------------------------------------------------------------------------------
-//         ¥ GetNumHor
-//-------------------------------------------------------------------------------------
-// return the number of buttons in the horizontal direction
-
-int wxRadioBox::GetColumnCount() const
-{
-    if ( m_windowStyle & wxRA_SPECIFY_ROWS )
-    {
-        return (m_noItems + m_majorDim - 1)/m_majorDim;
-    }
-    else
-    {
-        return m_majorDim;
-    }
-}
+#endif // wxUSE_RADIOBOX