From ca57bbfa3922d84e77fc9dd2d5e731f6f0fe0c9c Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Mon, 11 Oct 2010 06:30:33 +0000 Subject: [PATCH] *** empty log message *** --- kernel/src/bbtkWxGUIPackageBrowser2.cxx | 320 +++++++++++++++--------- kernel/src/bbtkWxGUIPackageBrowser2.h | 77 +++--- 2 files changed, 246 insertions(+), 151 deletions(-) diff --git a/kernel/src/bbtkWxGUIPackageBrowser2.cxx b/kernel/src/bbtkWxGUIPackageBrowser2.cxx index cd511f7..7fde920 100644 --- a/kernel/src/bbtkWxGUIPackageBrowser2.cxx +++ b/kernel/src/bbtkWxGUIPackageBrowser2.cxx @@ -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 "<second->GetTypeName()<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 "<second->GetTypeName()<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='A')&&(strAA[i]<='Z')) + { + strAA[i]=strAA[i]+32; + } + } + + size=strBB.length(); + for (i=0;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 ) diff --git a/kernel/src/bbtkWxGUIPackageBrowser2.h b/kernel/src/bbtkWxGUIPackageBrowser2.h index 07c6579..8bc9e15 100644 --- a/kernel/src/bbtkWxGUIPackageBrowser2.h +++ b/kernel/src/bbtkWxGUIPackageBrowser2.h @@ -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 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -11,43 +11,43 @@ * 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 -- 2.45.1