]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxGUIPackageBrowser2.cxx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkWxGUIPackageBrowser2.cxx
index cd511f725b2e2f8b8e69648d213925057bd51d14..7fde9202edb143b53f2088bb449f33ec76bd1736 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIPackageBrowser2.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/10/03 11:40:48 $
-  Version:   $Revision: 1.23 $
+  Date:      $Date: 2010/10/11 06:30:33 $
+  Version:   $Revision: 1.24 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -1026,24 +1026,64 @@ namespace bbtk
     const Factory::PackageMapType& M = mFactory->GetPackageMap();
     Factory::PackageMapType::const_iterator i;
     for (i=M.begin();i!=M.end();++i)
-      {
-       Package::Pointer P = i->second;
-       if (P->GetName() == "user") continue;
-
-       Package::DescriptorMapType::iterator j;
-       for (j=P->GetDescriptorMap().begin();
-            j!=P->GetDescriptorMap().end();
-            ++j)
-         {
-           //      std::cout << "Insert "<<j->second->GetTypeName()<<std::endl;
-           if (IsVisible(j->second))
-             mBoxList->Insert(j->second);
-         }
-      }
+    {
+        Package::Pointer P = i->second;
+        if (P->GetName() == "user") continue;
+
+        Package::DescriptorMapType::iterator j;
+        for (j=P->GetDescriptorMap().begin();
+             j!=P->GetDescriptorMap().end();
+             ++j)
+        {
+            //     std::cout << "Insert "<<j->second->GetTypeName()<<std::endl;
+            if (IsVisible(j->second))
+              mBoxList->Insert(j->second);
+        }// for Descriptor
+    }// for package
     mBoxList->Show();
   }
   //================================================================
 
+ bool WxGUIPackageBrowser2::findnpos(const std::string &strA, const std::string &strB )
+ {
+    if ((strB=="") || (strA=="") )
+    {
+        return false;
+    }
+
+    bool ok=false;
+    int i,size;
+    std::string strAA=strA;
+    std::string strBB=strB;
+
+
+    size=strAA.length();
+    for (i=0;i<size;i++)
+    {
+        if ((strAA[i]>='A')&&(strAA[i]<='Z'))
+        {
+            strAA[i]=strAA[i]+32;
+        }
+    }
+
+    size=strBB.length();
+    for (i=0;i<size;i++)
+    {
+        if ((strBB[i]>='A')&&(strBB[i]<='Z'))
+        {
+            strBB[i]=strBB[i]+32;
+        }
+    }
+
+
+     if ( strAA.find(strBB) == std::string::npos )
+     {
+         ok=true;
+     }
+
+     return ok;
+ }
+
   //================================================================
   bool WxGUIPackageBrowser2::IsVisible(BlackBoxDescriptor::Pointer d)
   {
@@ -1052,117 +1092,169 @@ namespace bbtk
     if ((!mShowAdaptorsFilter->IsChecked())&&
        ((d->GetKind()==BlackBoxDescriptor::ADAPTOR)||
         (d->GetKind()==BlackBoxDescriptor::DEFAULT_ADAPTOR)))
-      return false;
+    {
+        return false;
+    }
+
     if ((!mShowGUIsFilter->IsChecked())&&
        ((d->GetKind()==BlackBoxDescriptor::GUI)||
         (d->GetKind()==BlackBoxDescriptor::DEFAULT_GUI)))
-      return false;
-    if (d->GetPackage()->GetName().find( wx2std(mPackageFilter->GetValue()) )
-       == std::string::npos ) return false;
-   if (d->GetTypeName().find( wx2std(mNameFilter->GetValue()) )
-       == std::string::npos ) return false;
-   if (d->GetDescription().find( wx2std(mDescriptionFilter->GetValue()) )
-       == std::string::npos ) return false;
-   if (d->GetCategory().find( wx2std(mCategoryFilter->GetValue()) )
-       == std::string::npos ) return false;
-   if (!mShowWidgetsFilter->IsChecked())
-     {
-       bool found = false;
-       const BlackBoxDescriptor::OutputDescriptorMapType& imap =
-        d->GetOutputDescriptorMap();
-       BlackBoxDescriptor::OutputDescriptorMapType::const_iterator in;
-       for ( in = imap.begin();  in != imap.end(); ++in )
-        {
-          if (in->second->GetName() == "Widget" )
-            {
-              found = true;
-              break;
-            }
-        }
-       if (found) return false;
-     }
-   if (mInputTypeFilter->GetValue().size()>0)
-     {
-       std::string s = wx2std(mInputTypeFilter->GetValue());
-       bool found = false;
-       const BlackBoxDescriptor::InputDescriptorMapType& imap =
-        d->GetInputDescriptorMap();
-       BlackBoxDescriptor::InputDescriptorMapType::const_iterator in;
-       for ( in = imap.begin();  in != imap.end(); ++in )
-        {
-          if (in->second->GetTypeName().find(s)!=std::string::npos)
-            {
-              found = true;
-              break;
-            }
-        }
-       if (!found) return false;
+    {
+        return false;
+    }
+
+//EED    if (d->GetPackage()->GetName().find( wx2std(mPackageFilter->GetValue()) ) == std::string::npos )
+    if ( findnpos(d->GetPackage()->GetName(),wx2std(mPackageFilter->GetValue())) == true )
+    {
+        return false;
+    }
+
+//EED    if (d->GetTypeName().find( wx2std(mNameFilter->GetValue()) ) == std::string::npos )
+    if ( findnpos(d->GetTypeName(),wx2std(mNameFilter->GetValue())) == true )
+    {
+        return false;
+    }
+
+//EED    if (d->GetDescription().find( wx2std(mDescriptionFilter->GetValue()) ) == std::string::npos )
+    if ( findnpos(d->GetDescription(),wx2std(mDescriptionFilter->GetValue())) == true )
+    {
+        return false;
+    }
+
+//EED    if (d->GetCategory().find( wx2std(mCategoryFilter->GetValue()) ) == std::string::npos )
+    if ( findnpos(d->GetCategory(),wx2std(mCategoryFilter->GetValue())) == true )
+    {
+        return false;
+    }
+
+    if (!mShowWidgetsFilter->IsChecked())
+    {
+        bool found = false;
+        const BlackBoxDescriptor::OutputDescriptorMapType& imap = d->GetOutputDescriptorMap();
+        BlackBoxDescriptor::OutputDescriptorMapType::const_iterator in;
+        for ( in = imap.begin();  in != imap.end(); ++in )
+        {
+            if (in->second->GetName() == "Widget" )
+            {
+                found = true;
+                break;
+            }
+        }
+        if (found)
+        {
+            return false;
+        }
+    }
+
+    if (mInputTypeFilter->GetValue().size()>0)
+    {
+        std::string s = wx2std(mInputTypeFilter->GetValue());
+        bool found = false;
+        const BlackBoxDescriptor::InputDescriptorMapType& imap = d->GetInputDescriptorMap();
+        BlackBoxDescriptor::InputDescriptorMapType::const_iterator in;
+        for ( in = imap.begin();  in != imap.end(); ++in )
+        {
+//EED           if (in->second->GetTypeName().find(s)!=std::string::npos)
+                if ( findnpos( in->second->GetTypeName() , s ) == true )
+            {
+                found = true;
+                break;
+            }
+        }
+        if (!found)
+        {
+            return false;
+        }
      }
-   if (mOutputTypeFilter->GetValue().size()>0)
-     {
-       std::string s = wx2std(mOutputTypeFilter->GetValue());
-       bool found = false;
-       const BlackBoxDescriptor::OutputDescriptorMapType& imap =
-        d->GetOutputDescriptorMap();
-       BlackBoxDescriptor::OutputDescriptorMapType::const_iterator in;
-       for ( in = imap.begin();  in != imap.end(); ++in )
-        {
-          if (in->second->GetTypeName().find(s)!=std::string::npos)
-            {
-              found = true;
-              break;
-            }
-        }
-       if (!found) return false;
+
+    if (mOutputTypeFilter->GetValue().size()>0)
+    {
+        std::string s = wx2std(mOutputTypeFilter->GetValue());
+        bool found = false;
+        const BlackBoxDescriptor::OutputDescriptorMapType& imap = d->GetOutputDescriptorMap();
+        BlackBoxDescriptor::OutputDescriptorMapType::const_iterator in;
+        for ( in = imap.begin();  in != imap.end(); ++in )
+        {
+ //EED      if (in->second->GetTypeName().find(s)!=std::string::npos)
+            if ( findnpos( in->second->GetTypeName() , s ) == true )
+            {
+                found = true;
+                break;
+            }
+        }
+        if (!found)
+        {
+            return false;
+        }
      }
-   if (mInputNatureFilter->GetValue().size()>0)
-     {
-       std::string s = wx2std(mInputNatureFilter->GetValue());
-       bool found = false;
-       const BlackBoxDescriptor::InputDescriptorMapType& imap =
-        d->GetInputDescriptorMap();
-       BlackBoxDescriptor::InputDescriptorMapType::const_iterator in;
-       for ( in = imap.begin();  in != imap.end(); ++in )
-        {
-          if (in->second->GetNature().find(s)!=std::string::npos)
-            {
-              found = true;
-              break;
-            }
-        }
-       if (!found) return false;
+
+    if (mInputNatureFilter->GetValue().size()>0)
+    {
+        std::string s = wx2std(mInputNatureFilter->GetValue());
+        bool found = false;
+        const BlackBoxDescriptor::InputDescriptorMapType& imap = d->GetInputDescriptorMap();
+        BlackBoxDescriptor::InputDescriptorMapType::const_iterator in;
+        for ( in = imap.begin();  in != imap.end(); ++in )
+        {
+//EED            if (in->second->GetNature().find(s)!=std::string::npos)
+            if ( findnpos( in->second->GetNature() , s ) == true )
+            {
+                found = true;
+                break;
+            }
+        }
+        if (!found)
+        {
+            return false;
+        }
      }
-   if (mOutputNatureFilter->GetValue().size()>0)
-     {
-       std::string s = wx2std(mOutputNatureFilter->GetValue());
-       bool found = false;
-       const BlackBoxDescriptor::OutputDescriptorMapType& imap =
-        d->GetOutputDescriptorMap();
-       BlackBoxDescriptor::OutputDescriptorMapType::const_iterator in;
-       for ( in = imap.begin();  in != imap.end(); ++in )
-        {
-          if (in->second->GetNature().find(s)!=std::string::npos)
-            {
-              found = true;
-              break;
-            }
-        }
-       if (!found) return false;
+
+    if (mOutputNatureFilter->GetValue().size()>0)
+    {
+        std::string s = wx2std(mOutputNatureFilter->GetValue());
+        bool found = false;
+        const BlackBoxDescriptor::OutputDescriptorMapType& imap = d->GetOutputDescriptorMap();
+        BlackBoxDescriptor::OutputDescriptorMapType::const_iterator in;
+        for ( in = imap.begin();  in != imap.end(); ++in )
+        {
+//EED            if (in->second->GetNature().find(s)!=std::string::npos)
+            if ( findnpos( in->second->GetNature() , s ) == true )
+            {
+                found = true;
+                break;
+            }
+        }
+        if (!found)
+        {
+            return false;
+        }
      }
+
     return true;
+
   }
   //========================================================================
 
   //========================================================================
   BEGIN_EVENT_TABLE(WxGUIPackageBrowser2, wxPanel)
-    EVT_TEXT_ENTER(id_f1, WxGUIPackageBrowser2::OnFilter )
-    EVT_TEXT_ENTER(id_f2, WxGUIPackageBrowser2::OnFilter )
-    EVT_TEXT_ENTER(id_f3, WxGUIPackageBrowser2::OnFilter )
-    EVT_TEXT_ENTER(id_f4, WxGUIPackageBrowser2::OnFilter )
-    EVT_TEXT_ENTER(id_f5, WxGUIPackageBrowser2::OnFilter )
-    EVT_TEXT_ENTER(id_f6, WxGUIPackageBrowser2::OnFilter )
-    EVT_TEXT_ENTER(id_f7, WxGUIPackageBrowser2::OnFilter )
-    EVT_TEXT_ENTER(id_f8, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f1, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f2, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f3, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f4, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f5, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f6, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f7, WxGUIPackageBrowser2::OnFilter )
+//EED    EVT_TEXT_ENTER(id_f8, WxGUIPackageBrowser2::OnFilter )
+
+    EVT_TEXT(id_f1, WxGUIPackageBrowser2::OnFilter )
+    EVT_TEXT(id_f2, WxGUIPackageBrowser2::OnFilter )
+    EVT_TEXT(id_f3, WxGUIPackageBrowser2::OnFilter )
+    EVT_TEXT(id_f4, WxGUIPackageBrowser2::OnFilter )
+    EVT_TEXT(id_f5, WxGUIPackageBrowser2::OnFilter )
+    EVT_TEXT(id_f6, WxGUIPackageBrowser2::OnFilter )
+    EVT_TEXT(id_f7, WxGUIPackageBrowser2::OnFilter )
+    EVT_TEXT(id_f8, WxGUIPackageBrowser2::OnFilter )
+
     EVT_CHECKBOX( id_fc1, WxGUIPackageBrowser2::OnFilter )
     EVT_CHECKBOX( id_fc2, WxGUIPackageBrowser2::OnFilter )
     EVT_CHECKBOX( id_fc3, WxGUIPackageBrowser2::OnFilter )