#if wxUSE_RADIOBOX
-#include "wx/arrstr.h"
#include "wx/radiobox.h"
-#include "wx/radiobut.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/radiobut.h"
+ #include "wx/arrstr.h"
+#endif
+
#include "wx/mac/uma.h"
IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
BEGIN_EVENT_TABLE(wxRadioBox, wxControl)
-EVT_RADIOBUTTON( wxID_ANY , wxRadioBox::OnRadioButton )
+ EVT_RADIOBUTTON( wxID_ANY , wxRadioBox::OnRadioButton )
END_EVENT_TABLE()
{
wxCommandEvent event( wxEVT_COMMAND_RADIOBOX_SELECTED, m_windowId );
int i = GetSelection() ;
- event.SetInt( i );
- event.SetString( GetString( i ) );
+ event.SetInt(i);
+ event.SetString(GetString(i));
event.SetEventObject( this );
- ProcessCommand( event );
+ ProcessCommand(event);
}
}
int i;
- m_noItems = (size_t)n;
+ m_noItems = (unsigned int)n;
m_noRowsOrCols = majorDim;
m_radioButtonCycle = NULL;
SetMajorDim( majorDim == 0 ? n : majorDim, style );
- m_label = label;
+ m_labelOrig = m_label = label;
Rect bounds = wxMacGetBoundsForControl( this, pos, size );
if ( bounds.right <= bounds.left )
wxRadioButton *radBtn = new wxRadioButton(
this,
wxID_ANY,
- wxStripMenuCodes(choices[i]),
+ GetLabelText(choices[i]),
wxPoint( 5, 20 * i + 10 ),
wxDefaultSize,
i == 0 ? wxRB_GROUP : 0 );
return false;
current = m_radioButtonCycle;
- for (size_t i = 0; i < m_noItems; i++)
+ for (unsigned int i = 0; i < m_noItems; i++)
{
current->Enable( enable );
current = current->NextInCycle();
// 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;
+ unsigned int i = 0;
+ wxRadioButton *current = m_radioButtonCycle;
while (i != item)
{
i++;
return current->Enable( enable );
}
+bool wxRadioBox::IsItemEnabled(unsigned int item) const
+{
+ if (!IsValid( item ))
+ return false;
+
+ unsigned int i = 0;
+ wxRadioButton *current = m_radioButtonCycle;
+ while (i != item)
+ {
+ i++;
+ current = current->NextInCycle();
+ }
+
+ return current->IsEnabled();
+}
+
// Returns the radiobox label
//
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)
{
// 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;
+ unsigned int i = 0;
+ wxRadioButton *current = m_radioButtonCycle;
while (i != item)
{
i++;
wxRadioButton *current;
current = m_radioButtonCycle;
- for (size_t i=0; i<m_noItems; i++)
+ for (unsigned int i=0; i<m_noItems; i++)
{
current->Show( show );
current = current->NextInCycle();
// 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++;
return current->Show( show );
}
+bool wxRadioBox::IsItemShown(unsigned int item) const
+{
+ if (!IsValid( item ))
+ return false;
+
+ unsigned int i = 0;
+ wxRadioButton *current = m_radioButtonCycle;
+ while (i != item)
+ {
+ i++;
+ current = current->NextInCycle();
+ }
+
+ return current->IsShown();
+}
+
+
// Simulates the effect of the user issuing a command to the item
//
void wxRadioBox::Command( wxCommandEvent& event )
//
void wxRadioBox::SetFocus()
{
- int i;
wxRadioButton *current;
- i = 0;
current = m_radioButtonCycle;
while (!current->GetValue())
{
- i++;
current = current->NextInCycle();
}
maxWidth = -1;
maxHeight = -1;
- for (size_t i = 0 ; i < m_noItems; i++)
+ for (unsigned int i = 0 ; i < m_noItems; i++)
{
- GetTextExtent( GetString( i ), &eachWidth[i], &eachHeight[i] );
+ GetTextExtent(GetString(i), &eachWidth[i], &eachHeight[i] );
eachWidth[i] = (int)(eachWidth[i] + RADIO_SIZE);
eachHeight[i] = (int)((3 * eachHeight[i]) / 2);
maxWidth = -1;
maxHeight = -1;
- for (size_t i = 0 ; i < m_noItems; i++)
+ for (unsigned int i = 0 ; i < m_noItems; i++)
{
- GetTextExtent( GetString( i ), &eachWidth, &eachHeight, NULL, NULL, &font );
+ GetTextExtent(GetString(i), &eachWidth, &eachHeight, NULL, NULL, &font );
eachWidth = (int)(eachWidth + RADIO_SIZE);
eachHeight = (int)((3 * eachHeight) / 2);
if (maxWidth < eachWidth)