]> Creatis software - bbtk.git/commitdiff
*** empty log message ***
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Mon, 11 Oct 2010 06:30:33 +0000 (06:30 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Mon, 11 Oct 2010 06:30:33 +0000 (06:30 +0000)
kernel/src/bbtkWxGUIPackageBrowser2.cxx
kernel/src/bbtkWxGUIPackageBrowser2.h

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 )
index 07c6579ed09e94b3328e89898a412a1d32e2bc68..8bc9e152a83e796c89513adcc913108ee50e9bef 100644 (file)
@@ -1,9 +1,9 @@
-/*=========================================================================                                                                               
+/*=========================================================================
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIPackageBrowser2.h,v $
   Language:  C++
-  Date:      $Date: 2010/09/12 14:52:25 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2010/10/11 06:30:33 $
+  Version:   $Revision: 1.9 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
 * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
 * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
 *
-*  This software is governed by the CeCILL-B license under French law and 
-*  abiding by the rules of distribution of free software. You can  use, 
-*  modify and/ or redistribute the software under the terms of the CeCILL-B 
-*  license as circulated by CEA, CNRS and INRIA at the following URL 
-*  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+*  This software is governed by the CeCILL-B license under French law and
+*  abiding by the rules of distribution of free software. You can  use,
+*  modify and/ or redistribute the software under the terms of the CeCILL-B
+*  license as circulated by CEA, CNRS and INRIA at the following URL
+*  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
 *  or in the file LICENSE.txt.
 *
 *  As a counterpart to the access to the source code and  rights to copy,
 *  modify and redistribute granted by the license, users are provided only
 *  with a limited warranty  and the software's author,  the holder of the
 *  economic rights,  and the successive licensors  have only  limited
-*  liability. 
+*  liability.
 *
 *  The fact that you are presently reading this means that you have had
 *  knowledge of the CeCILL-B license and that you accept its terms.
-* ------------------------------------------------------------------------ */                                                                         
+* ------------------------------------------------------------------------ */
 
 
 /**
  * \brief Short description in one line
- * 
- * Long description which 
+ *
+ * Long description which
  * can span multiple lines
  */
 /**
- * \file 
- * \brief 
+ * \file
+ * \brief
  */
 /**
  * \class bbtk::
- * \brief 
+ * \brief
  */
 
 
 #ifdef _USE_WXWIDGETS_
 
-       
+
 #ifndef __bbtkWxGUIPackageBrowser2_h__
 #define __bbtkWxGUIPackageBrowser2_h__
 
@@ -75,7 +75,7 @@ namespace bbtk
   //================================================================
   class WxGUIPackageBrowser2;
   //================================================================
+
 
   //================================================================
   /// Abstract class which defines the callbacks invoked by WxGUIPackageBrowser2
@@ -89,7 +89,7 @@ namespace bbtk
   };
   //================================================================
 
+
   //================================================================
   class WxGUIBlackBoxInfo : public wxPanel
   {
@@ -105,20 +105,20 @@ namespace bbtk
     wxStaticText* mDescription;
     wxStaticText* mAuthor;
     wxStaticText* mCategory;
-      
+
     wxListCtrl* mInputList;
     wxListCtrl* mOutputList;
   } ;
   //================================================================
-  
+
   //================================================================
   class WxGUIBlackBoxListUser
   {
   public:
     WxGUIBlackBoxListUser() {}
     virtual ~WxGUIBlackBoxListUser() {}
-    
-    // User callback when a box is selected in the list 
+
+    // User callback when a box is selected in the list
     virtual void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor* ) {}
   };
   //================================================================
@@ -138,8 +138,8 @@ namespace bbtk
 
     // add one item to the listctrl in report mode
     void Insert(BlackBoxDescriptor::Pointer d);
-    
-    // 
+
+    //
     void OnColClick(wxListEvent& event);
     void OnColRightClick(wxListEvent& event);
     void OnColBeginDrag(wxListEvent& event);
@@ -181,7 +181,7 @@ private:
     virtual wxString OnGetItemText(long item, long column) const;
     virtual int OnGetItemColumnImage(long item, long column) const;
     virtual wxListItemAttr *OnGetItemAttr(long item) const;
-    
+
     WxGUIBlackBoxListUser* mUser;
 
     wxListItemAttr m_attr;
@@ -197,7 +197,7 @@ private:
                                           public WxGUIBlackBoxListUser
   {
   public:
-    WxGUIPackageBrowser2( wxWindow *parent, 
+    WxGUIPackageBrowser2( wxWindow *parent,
                         WxGUIPackageBrowser2User* user = 0 );
     ~WxGUIPackageBrowser2();
 
@@ -207,14 +207,14 @@ private:
     bool IsVisible(BlackBoxDescriptor::Pointer d);
 
     void OnFilter(wxCommandEvent&);
-    // User callback when a box is selected in the list 
+
+    // User callback when a box is selected in the list
     void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor* );
-       
-       //RaC   
+
+       //RaC
        BlackBoxDescriptor* GetActualSelected();
        Factory::Pointer GetFactory();
-         
+
   private:
     wxAuiManager                               m_mgr;
     WxGUIPackageBrowser2User*  mUser;
@@ -237,15 +237,17 @@ private:
     wxCheckBox                                 *mShowGUIsFilter;
 
        //RaC
-       BlackBoxDescriptor *_actualSelected;
+       BlackBoxDescriptor          *_actualSelected;
+
+    bool findnpos(const std::string &strA, const std::string &strB );
 
-   DECLARE_EVENT_TABLE()  
+   DECLARE_EVENT_TABLE()
   };
   //================================================================
 
-  
+
   //================================================================
-  /// Browser2 in a frame 
+  /// Browser2 in a frame
   class BBTK_EXPORT WxGUIPackageBrowser2Window : public wxFrame
                                              //, public WxGUICommandUser
   {
@@ -257,11 +259,12 @@ private:
 
 
   private :
-    
+
     WxGUIPackageBrowser2* mBrowser;
+
   };
    //================================================================
+
 
 } // namespace bbtk