]> Creatis software - bbtk.git/blobdiff - packages/wx/src/bbwxComboBox.cxx
#3385 BBTK Bug New Normal - box FilesFromDirectory CreateImage InvertCrop ComboBox...
[bbtk.git] / packages / wx / src / bbwxComboBox.cxx
index c075b701deaacff1bc4fd0753ac4fed913966bab..06ec5912e0d115e929e31be9711424aab6d10a51 100644 (file)
@@ -58,10 +58,9 @@ namespace bbwx
     mBox(box),
     mTypeForm(typeForm)
   {
-       wxPanel         *panel          = this;
        itemcontainer                   = NULL;
-       int i;
-
+       wxPanel                 *panel  = this;
+       int                     i;
     //---------------------------------------------------------------------
     // 2) Insertion of the components in the window
     
@@ -83,7 +82,6 @@ namespace bbwx
                wxChoice *wxchoice = new wxChoice ( panel , -1, wxDefaultPosition,wxSize(sizeX,sizeY));
                itemcontainer=wxchoice;
                sizer->Add( wxchoice,1,wxGROW ); 
-
                Connect( wxchoice->GetId(), 
                  wxEVT_COMMAND_CHOICE_SELECTED, (wxObjectEventFunction) (void (wxPanel::*)(wxEvent&))&ComboBoxWidget::OnComboBox ); 
        }
@@ -123,9 +121,7 @@ namespace bbwx
                mBox->bbSetOutputOut( iSelection );
                mBox->bbSetOutputOutString(    bbtk::wx2std( itemcontainer->GetString(iSelection) )     );
                mBox->bbSignalOutputModification();
-
                VerifyDeselect(iSelection);
-
                if (mTypeForm==0) 
                { 
                        wxChoice *wxchoise=(wxChoice *)itemcontainer;
@@ -138,25 +134,27 @@ namespace bbwx
        } // if iSelection
   }
 
-  //--------------------------------------------------------------------------
-  void ComboBoxWidget::OnComboBox(wxEvent& event)
-  {
+//--------------------------------------------------------------------------
+void ComboBoxWidget::OnComboBox(wxEvent& event)
+{
        OnComboBoxSelection( itemcontainer->GetSelection() );
-  }
+}
+
 //--------------------------------------------------------------------------
-  void ComboBoxWidget::FillItems( int iSelection, std::vector< std::string > lstIn )
+void ComboBoxWidget::FillItems( int iSelection, std::vector< std::string > lstIn )
+{
+       int i;
+       itemcontainer->Clear();
+       for (i=0;i<lstIn.size(); i++)
        {
-               int i;
-               itemcontainer->Clear();
-       for (i=0;i<lstIn.size(); i++)
-       {
-                       itemcontainer->Append(  bbtk::std2wx( lstIn[i] )  ); 
-               } // for i
-               if (iSelection>=0) itemcontainer->SetSelection(iSelection);
-       } 
+               itemcontainer->Append(  bbtk::std2wx( lstIn[i] )  ); 
+       } // for i
+       if (iSelection>=0) itemcontainer->SetSelection(iSelection);
+} 
 
 BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx,ComboBox)
 BBTK_BLACK_BOX_IMPLEMENTATION(ComboBox,bbtk::WxBlackBox);
+
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
 //===== 
@@ -174,7 +172,6 @@ void ComboBox::Process()
     { 
        bbSetOutputOutString( bbGetInputIn()[ iSelection ] );
     } // if iSelection
-
        w->VerifyDeselect(iSelection);
 }
 //===== 
@@ -191,7 +188,10 @@ void ComboBox::CreateWidget(wxWindow* parent)
                                bbGetInputForm(),
                                                        bbGetInputWinWidth(), bbGetInputWinHeight()  );
    bbSetOutputOut( bbGetInputSelection() );
-   bbSetOutputOutString( bbGetInputIn()[ bbGetInputSelection() ] );
+   if (bbGetInputIn().size()> bbGetInputSelection() )
+   {
+          bbSetOutputOutString( bbGetInputIn()[ bbGetInputSelection() ] );
+   } // if InputIn size
    bbSetOutputWidget( w );
 }
 //=====