]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/radiobox.cpp
Added code to show off wxDbGrid (contributed by Paul and Roger Gammans) in wxUSE_NEW_...
[wxWidgets.git] / src / mac / carbon / radiobox.cpp
index 1f74fae6d21774cfdc4b900d3f616e3b0862b39f..905618716f44a98ec8c67a70b9337cf387541af9 100644 (file)
@@ -18,7 +18,8 @@
 #endif
 
 #include "wx/radiobox.h"
-#include <wx/mac/uma.h>
+#include "wx/radiobut.h"
+#include "wx/mac/uma.h"
 
 #if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
@@ -31,6 +32,22 @@ IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
 //             ¥ wxRadioBox()
 //-------------------------------------------------------------------------------------
 // Default constructor
+BEGIN_EVENT_TABLE(wxRadioBox, wxControl)
+EVT_RADIOBUTTON( -1 , wxRadioBox::OnRadioButton )
+END_EVENT_TABLE()
+
+void wxRadioBox::OnRadioButton( wxCommandEvent &outer )
+{
+  if ( outer.IsChecked() )
+  {
+    wxCommandEvent event(wxEVT_COMMAND_RADIOBOX_SELECTED, m_windowId);
+    int i = GetSelection() ;
+    event.SetInt( i );
+    event.SetString( GetString( i ) );
+    event.SetEventObject( this );
+    ProcessCommand(event);
+  }
+}
 
 wxRadioBox::wxRadioBox()
 {
@@ -97,15 +114,18 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
        
        MacPreControlCreate( parent , id ,  label , pos , size ,style, val , name , &bounds , title ) ;
 
-       m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , true , 0 , 0 , 1, 
+       m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, 
                kControlGroupBoxTextTitleProc , (long) this ) ;
        
        MacPostControlCreate() ;
 
     for (i = 0; i < n; i++)
     {
-        wxRadioButton *radBtn = new wxRadioButton(this, NewControlId(),choices[i],wxPoint(5,20*i+10));
-        m_radioButtonCycle=radBtn->AddInCycle(m_radioButtonCycle);
+        wxRadioButton *radBtn = new wxRadioButton(this, NewControlId(),choices[i],wxPoint(5,20*i+10),
+          wxDefaultSize , i == 0 ? wxRB_GROUP : 0 ) ;
+        if ( i == 0 )
+          m_radioButtonCycle = radBtn ;
+//        m_radioButtonCycle=radBtn->AddInCycle(m_radioButtonCycle);
     }
 
        SetSelection(0);