]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/radiobox.cpp
Fixed GetIcon to keep up with return type change on all other platforms.
[wxWidgets.git] / src / mac / classic / radiobox.cpp
index 9fe0e52e8f9ce657fa1a52de62927561c5d681ae..39bd6b2855fce0886b661da0ceb4e038012d9a0e 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        radiobox.cpp
+// Name:        src/mac/classic/radiobox.cpp
 // Purpose:     wxRadioBox
 // Author:      Stefan Csomor
 // Modified by: JS Lair (99/11/15) first implementation
@@ -9,11 +9,6 @@
 // Licence:       wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "radioboxbase.h"
-#pragma implementation "radiobox.h"
-#endif
-
 //-------------------------------------------------------------------------------------
 //         headers
 //-------------------------------------------------------------------------------------
 #include "wx/radiobut.h"
 #include "wx/mac/uma.h"
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
-#endif
 
 //-------------------------------------------------------------------------------------
 //         ¥ wxRadioBox()
 //-------------------------------------------------------------------------------------
 // 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 )
@@ -54,7 +47,6 @@ wxRadioBox::wxRadioBox()
 {
     m_noItems = 0;
     m_noRowsOrCols = 0;
-    m_majorDim = 0 ;
     m_radioButtonCycle = NULL;
 }
 
@@ -121,10 +113,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
     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 ;
@@ -188,7 +177,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;
@@ -220,7 +209,7 @@ wxString wxRadioBox::GetString(int item) const
     int i;
     wxRadioButton *current;
 
-    if ((item < 0) || (item >= m_noItems))
+    if (!IsValid(item))
         return wxEmptyString;
 
     i = 0;
@@ -277,10 +266,10 @@ void wxRadioBox::SetLabel(const wxString& label)
 
 void wxRadioBox::SetString(int item,const wxString& label)
 {
-       int i;
+    int i;
     wxRadioButton *current;
 
-    if ((item < 0) || (item >= m_noItems))
+    if (!IsValid(item))
         return;
     i=0;
     current=m_radioButtonCycle;
@@ -302,7 +291,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;
@@ -327,7 +316,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();
     }
@@ -339,20 +329,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);
 }
 
 //-------------------------------------------------------------------------------------
@@ -408,9 +398,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
@@ -439,7 +429,7 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
     totWidth  = GetColumnCount() * (maxWidth + charWidth) + charWidth;
 
     // only change our width/height if asked for
-    if ( width == -1 )
+    if ( width == wxDefaultCoord )
     {
         if ( sizeFlags & wxSIZE_AUTO_WIDTH )
             width = totWidth ;
@@ -447,7 +437,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 = totHeight ;
@@ -475,7 +465,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)
             {
@@ -532,43 +522,10 @@ wxSize wxRadioBox::DoGetBestSize() const
         totHeight = totHeight + 10; //how many exactly should this be to meet the HIG?
     }
     // handle radio box title as well
-    GetTextExtent(GetTitle(), &eachWidth, NULL);
+    GetTextExtent(GetLabel(), &eachWidth, NULL);
     eachWidth  = (int)(eachWidth + RADIO_SIZE) + 3 * charWidth ;
     if (totWidth < eachWidth)
         totWidth = eachWidth;
 
     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;
-    }
-}