// 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/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)
//-------------------------------------------------------------------------------------
// Default constructor
BEGIN_EVENT_TABLE(wxRadioBox, wxControl)
-EVT_RADIOBUTTON( wxID_ANY , wxRadioBox::OnRadioButton )
+ EVT_RADIOBUTTON( wxID_ANY , wxRadioBox::OnRadioButton )
END_EVENT_TABLE()
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);
}
int i;
- m_noItems = n;
+ m_noItems = (unsigned int)n;
m_noRowsOrCols = majorDim;
m_radioButtonCycle = NULL;
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();
}
}
//-------------------------------------------------------------------------------------
-// ¥ 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();
}
//-------------------------------------------------------------------------------------
// 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++;
//-------------------------------------------------------------------------------------
// 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();
}
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();
}
//-------------------------------------------------------------------------------------
-// ¥ 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();
void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
- int i;
+ unsigned int i;
wxRadioButton *current;
// define the position
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;
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) ;
return wxSize(totWidth, totHeight);
}
+
+#endif // wxUSE_RADIOBOX