]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/radiobox.cpp
missing commit
[wxWidgets.git] / src / msw / radiobox.cpp
index de869045c1114c5a63bb391dd69d3a23f7da0d90..70665bdf845c7c589b698c79312223a75deab9f5 100644 (file)
@@ -81,7 +81,7 @@ wxEND_FLAGS( wxRadioBoxStyle )
 IMPLEMENT_DYNAMIC_CLASS_XTI(wxRadioBox, wxControl,"wx/radiobox.h")
 
 wxBEGIN_PROPERTIES_TABLE(wxRadioBox)
-    wxEVENT_PROPERTY( Select , wxEVT_COMMAND_RADIOBOX_SELECTED , wxCommandEvent )
+    wxEVENT_PROPERTY( Select , wxEVT_RADIOBOX , wxCommandEvent )
     wxPROPERTY_FLAGS( WindowStyle , wxRadioBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
 wxEND_PROPERTIES_TABLE()
 
@@ -203,7 +203,7 @@ bool wxRadioBox::Create(wxWindow *parent,
         wxWindowIDRef subid = NewControlId();
 
         HWND hwndBtn = ::CreateWindow(wxT("BUTTON"),
-                                      choices[i].wx_str(),
+                                      choices[i].t_str(),
                                       styleBtn,
                                       0, 0, 0, 0,   // will be set in SetSize()
                                       GetHwndOf(parent),
@@ -252,6 +252,10 @@ bool wxRadioBox::Create(wxWindow *parent,
     // Now that we have items determine what is the best size and set it.
     SetInitialSize(size);
 
+    // And update all the buttons positions to match it.
+    const wxSize actualSize = GetSize();
+    PositionAllButtons(pos.x, pos.y, actualSize.x, actualSize.y);
+
     return true;
 }
 
@@ -373,7 +377,7 @@ void wxRadioBox::Command(wxCommandEvent & event)
 
 void wxRadioBox::SendNotificationEvent()
 {
-    wxCommandEvent event(wxEVT_COMMAND_RADIOBOX_SELECTED, m_windowId);
+    wxCommandEvent event(wxEVT_RADIOBOX, m_windowId);
     event.SetInt( m_selectedButton );
     event.SetString(GetString(m_selectedButton));
     event.SetEventObject( this );
@@ -494,7 +498,7 @@ void wxRadioBox::DoSetItemToolTip(unsigned int item, wxToolTip *tooltip)
     // we have already checked for the item to be valid in wxRadioBoxBase
     const HWND hwndRbtn = (*m_radioButtons)[item];
     if ( tooltip != NULL )
-        tooltip->Add(hwndRbtn);
+        tooltip->AddOtherWindow(hwndRbtn);
     else // unset the tooltip
         wxToolTip::Remove(hwndRbtn, 0, wxRect(0,0,0,0));
         // the second parameter can be zero since it's ignored by Remove()
@@ -625,6 +629,12 @@ void wxRadioBox::DoMoveWindow(int x, int y, int width, int height)
 {
     wxStaticBox::DoMoveWindow(x, y, width, height);
 
+    PositionAllButtons(x, y, width, height);
+}
+
+void
+wxRadioBox::PositionAllButtons(int x, int y, int width, int WXUNUSED(height))
+{
     wxSize maxSize = GetMaxButtonSize();
     int maxWidth = maxSize.x,
         maxHeight = maxSize.y;