int GetValue();
void OnRadioButton(wxEvent& event);
+ void AddElements(std::vector<wxString> lstIn, int In, wxString title);
private:
RadioButton *mBox;
int MAX_RADIOBUTTON;
wxRadioButton *mwxRadioButton[10];
+
+ wxFlexGridSizer *sizer;
};
//------------------------------------------------------------------------
wxPanel( parent, -1) ,
mBox(box)
{
- wxPanel *panel = this;
+
+/*
MAX_RADIOBUTTON = lstIn.size();
+ wxPanel *panel = this;
int i;
long style=wxRB_GROUP;
for (i=0;i<MAX_RADIOBUTTON; i++)
if (In==i)
{
mwxRadioButton[i]->SetValue(true);
- }
- else
- {
+ } else {
mwxRadioButton[i]->SetValue(false);
}
Connect( mwxRadioButton[i]->GetId(),
(wxObjectEventFunction)
(void (wxPanel::*)(wxEvent&))
&RadioButtonWidget::OnRadioButton );
- }
- else
- {
+ } else {
mwxRadioButton[i]=NULL;
- }
- }
+ } // if
+ } // for
//---------------------------------------------------------------------
// 2) Insertion of the components in the window
// We use a FlexGridSizer
- wxFlexGridSizer *sizer = new wxFlexGridSizer(1);
+
+//EED 2018-04-18
+// wxFlexGridSizer *sizer = new wxFlexGridSizer(1);
+ sizer = new wxFlexGridSizer(1);
+
if (title!=_T(""))
{
sizer->Add( new wxStaticText(panel,-1, title ) );
// panel->SetAutoLayout(true);
// panel->Layout();
+*/
}
//-------------------------------------------------------------------------
mBox->bbSignalOutputModification("Out");
}
+
+ //--------------------------------------------------------------------------
+ void RadioButtonWidget::AddElements( std::vector<wxString> lstIn ,int In, wxString title)
+ {
+ DestroyChildren();
+
+ MAX_RADIOBUTTON = lstIn.size();
+ wxPanel *panel = this;
+ int i;
+ long style=wxRB_GROUP;
+ for (i=0;i<MAX_RADIOBUTTON; i++)
+ {
+ if ( lstIn[i]!=_T(""))
+ {
+ //---------------------------------------------------------------------
+ // 1) Creation of the components of the widget
+ // Any top level sub-widget must have the panel returned by panel
+ // for parent
+ mwxRadioButton[i] = new wxRadioButton( panel, -1, lstIn[i],wxDefaultPosition, wxDefaultSize, style);
+ style=0;
+ if (In==i)
+ {
+ mwxRadioButton[i]->SetValue(true);
+ } else {
+ mwxRadioButton[i]->SetValue(false);
+ }
+ Connect( mwxRadioButton[i]->GetId(),
+ wxEVT_COMMAND_RADIOBUTTON_SELECTED,
+ (wxObjectEventFunction)
+ (void (wxPanel::*)(wxEvent&))
+ &RadioButtonWidget::OnRadioButton );
+ } else {
+ mwxRadioButton[i]=NULL;
+ } // if
+ } // for
+
+ //---------------------------------------------------------------------
+ // 2) Insertion of the components in the window
+
+ // We use a FlexGridSizer
+
+//EED 2018-04-18
+// wxFlexGridSizer *sizer = new wxFlexGridSizer(1);
+ sizer = new wxFlexGridSizer(1);
+
+ if (title!=_T(""))
+ {
+ sizer->Add( new wxStaticText(panel,-1, title ) );
+ }
+ for (i=0;i<MAX_RADIOBUTTON; i++)
+ {
+ if (mwxRadioButton[i]!=NULL)
+ {
+ sizer->Add( mwxRadioButton[i],1,wxGROW );
+ }
+ }
+ sizer->AddGrowableCol(0);
+ panel->SetSizer(sizer);
+
+// panel->SetAutoLayout(true);
+// panel->Layout();
+
+
+
+ }
+
+
//--------------------------------------------------------------------------
//-------------------------------------------------------------------------
//--------------------------------------------------------------------------
{
bbtkDebugMessageInc("Core",9,"RadioButton::Process()"<<std::endl);
bbtkDebugDecTab("Core",9);
+
+
+ std::vector<wxString> lstIn;
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn0()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn1()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn2()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn3()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn4()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn5()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn6()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn7()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn8()) );
+ lstIn.push_back( bbtk::std2wx(bbGetInputIn9()) );
+
+
+ ( (RadioButtonWidget*)bbGetOutputWidget() )->AddElements(lstIn, bbGetInputIn() , bbtk::std2wx(bbGetInputTitle()) );
+
+
}
/**
RadioButtonWidget *w = new RadioButtonWidget(
this,
// bbGetWxParent(),
- parent,
+ parent,
bbGetInputIn() ,
bbtk::std2wx(bbGetInputTitle()),
lstIn );