]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdVectorFilterString.cxx
#3465 Spin in combobox Box and FilterString (find strings)
[bbtk.git] / packages / std / src / bbstdVectorFilterString.cxx
index 23adb9d14197dfa08339e8b498f6eb526cbccb4c..1973e7be5fbeddf50e10d6d2742c7a4232e3fc6f 100644 (file)
@@ -31,6 +31,53 @@ void VectorFilterString::ConnectionRepetitions( std::vector<std::string> vIn,std
        vOut->push_back(std::to_string(acum));
 }
 
+void VectorFilterString::FilterByFindinIn0()
+{
+       std::vector<std::string> vOut0;
+       std::vector<std::string> vOut1;
+       std::vector<std::string> vOut2;
+       std::vector<std::string> vOut3;
+       std::vector<std::string> vOut4;
+       std::vector<std::string> vOut5;
+       std::vector<std::string> vOut6;
+       std::vector<std::string> vOut7;
+       std::vector<std::string> vOut8;
+       std::vector<std::string> vOut9;
+
+       int i,size = bbGetInputIn0().size();
+       int pos;
+       for (i=0; i<size; i++)
+       {
+               pos=bbGetInputIn0()[i].find( bbGetInputsk1());
+               if (  pos  >= 0)
+               {
+                       vOut0.push_back( bbGetInputIn0()[i] );
+                       if ( i < bbGetInputIn1().size() ) { vOut1.push_back( bbGetInputIn1()[i] ); }
+                       if ( i < bbGetInputIn2().size() ) { vOut2.push_back( bbGetInputIn2()[i] ); }
+                       if ( i < bbGetInputIn3().size() ) { vOut3.push_back( bbGetInputIn3()[i] ); }
+                       if ( i < bbGetInputIn4().size() ) { vOut4.push_back( bbGetInputIn4()[i] ); }
+                       if ( i < bbGetInputIn5().size() ) { vOut5.push_back( bbGetInputIn5()[i] ); }
+                       if ( i < bbGetInputIn6().size() ) { vOut6.push_back( bbGetInputIn6()[i] ); }
+                       if ( i < bbGetInputIn7().size() ) { vOut7.push_back( bbGetInputIn7()[i] ); }
+                       if ( i < bbGetInputIn8().size() ) { vOut8.push_back( bbGetInputIn8()[i] ); }
+                       if ( i < bbGetInputIn9().size() ) { vOut9.push_back( bbGetInputIn9()[i] ); }
+               } // if pos
+       } // for i
+       
+       bbSetOutputOut0( vOut0 );
+       bbSetOutputOut1( vOut1 );
+       bbSetOutputOut2( vOut2 );
+       bbSetOutputOut3( vOut3 );
+       bbSetOutputOut4( vOut4 );
+       bbSetOutputOut5( vOut5 );
+       bbSetOutputOut6( vOut6 );
+       bbSetOutputOut7( vOut7 );
+       bbSetOutputOut8( vOut8 );
+       bbSetOutputOut9( vOut9 );
+       
+}
+
+
 void VectorFilterString::Process()
 {
 
@@ -83,7 +130,11 @@ void VectorFilterString::Process()
                bbSetOutputOut9( vOut9 );
        }
 
-       
+
+       if (bbGetInputType()==2) 
+       {
+               FilterByFindinIn0();
+       }
 
 }
 //===== 
@@ -95,7 +146,8 @@ void VectorFilterString::bbUserSetDefaultValues()
 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
 //    Here we initialize the input 'In' to 0
    bbSetInputType(0);
-  
+   bbSetInputsk1("");
+   bbSetInputsk2("");
 }
 //===== 
 // 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)