#include "../wxsheaders.h"
#include "wxsradiobox.h"
#include "../wxsglobals.h"
WXS_ST_BEGIN(wxsRadioBoxStyles)
WXS_ST_CATEGORY("wxRadioBox")
WXS_ST(wxRA_SPECIFY_ROWS)
WXS_ST(wxRA_SPECIFY_COLS)
#ifdef __PALMOS__
WXS_ST(wxRA_USE_CHECKBOX)
#endif
WXS_ST_DEFAULTS()
WXS_ST_END(wxsRadioBoxStyles)
WXS_EV_BEGIN(wxsRadioBoxEvents)
WXS_EVI(EVT_RADIOBOX,wxCommandEvent,Change)
WXS_EV_DEFAULTS()
WXS_EV_END(wxsRadioBoxEvents)
// Constructor
//wxRadioBox(wxWindow* parent, wxWindowID id, const wxString& label, const wxPoint& point = wxDefaultPosition, const wxSize& size = wxDefaultSize, int n = 0, const wxString choices[] = NULL, int majorDimension = 0, long style = wxRA_SPECIFY_COLS, const wxValidator& validator = wxDefaultValidator, const wxString& name = "radioBox")
wxsDWDefineBegin(wxsRadioBoxBase,wxRadioBox,
/* This code only avoids generating some warnings - it won't be used anywhere */
ThisWidget = new wxRadioBox(parent,id,_T(""),pos,size,0,NULL,1,style);
)
wxsDWDefStr(label,"Label:","");
#ifdef __NO_PROPGRID
wxsDWDefIntX(defaultChoice,"selection","Default:",-1)
#else
wxsDWDefIntX(defaultChoice,"selection","",-1)
#endif
wxsDWDefStrArrayX(arrayChoices,"content","item","Choices:",defaultChoice,-1)
wxsDWDefInt(dimension,"Dimension:",1)
wxsDWDefineEnd()
wxWindow* wxsRadioBox::MyCreatePreview(wxWindow* Parent)
{
if ( dimension < 1 ) dimension = 1;
wxRadioBox* Preview = new wxRadioBox(Parent,-1,label,
GetPosition(),GetSize(),arrayChoices,dimension,GetStyle());
if ( defaultChoice >= 0 ) Preview->SetSelection(defaultChoice);
PreviewApplyDefaults(Preview);
return Preview;
}
wxString wxsRadioBox::GetProducingCode(wxsCodeParams& Params)
{
if ( dimension < 1 ) dimension = 1;
const CodeDefines& CDefs = GetCodeDefines();
if ( arrayChoices.Count() == 0 )
{
return wxString::Format(_T("%s = new wxRadioBox(%s,%s,%s,%s,%s,0,NULL,%d,%s);"),
GetBaseParams().VarName.c_str(),
Params.ParentName.c_str(),
GetBaseParams().IdName.c_str(),
GetWxString(label).c_str(),
CDefs.Pos.c_str(),
CDefs.Size.c_str(),
dimension,
CDefs.Style.c_str());
}
wxString Code;
Code.Printf(_T("wxString wxRadioBoxChoices%d[%d];\n"),Params.UniqueNumber,arrayChoices.Count());
for ( size_t i = 0; i < arrayChoices.Count(); ++i )
{
Code.Append( wxString::Format(_T("wxRadioBoxChoices%d[%d] = %s;\n"),Params.UniqueNumber,i,GetWxString(arrayChoices[i]).c_str()) );
}
Code.Append ( wxString::Format(_T("%s = new wxRadioBox(%s,%s,%s,%s,%s,%d,wxRadioBoxChoices%d,%d,%s);"),
GetBaseParams().VarName.c_str(),
Params.ParentName.c_str(),
GetBaseParams().IdName.c_str(),
GetWxString(label).c_str(),
CDefs.Pos.c_str(),
CDefs.Size.c_str(),
arrayChoices.Count(),
Params.UniqueNumber,
dimension,
CDefs.Style.c_str()) );
if ( defaultChoice >= 0 )
{
Code.Append( wxString::Format(_T("%s->SetSelection(%d);"),GetBaseParams().VarName.c_str(),defaultChoice) );
}
Code << CDefs.InitCode;
return Code;
}
syntax highlighted by Code2HTML, v. 0.9.1