X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWxGUIPackageBrowser2.cxx;h=bc5b5253bffcbc0d811f8e824bcaedc755544c4b;hb=3f3122bf224c4c9bc3bed303fb3e5218764f9317;hp=cd511f725b2e2f8b8e69648d213925057bd51d14;hpb=80c01320fbade82fcc5bc972f2ed9f3e65239987;p=bbtk.git diff --git a/kernel/src/bbtkWxGUIPackageBrowser2.cxx b/kernel/src/bbtkWxGUIPackageBrowser2.cxx index cd511f7..bc5b525 100644 --- a/kernel/src/bbtkWxGUIPackageBrowser2.cxx +++ b/kernel/src/bbtkWxGUIPackageBrowser2.cxx @@ -1,32 +1,39 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # 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. + # + # 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. + # ------------------------------------------------------------------------ */ + + /*========================================================================= Program: bbtk Module: $RCSfile: bbtkWxGUIPackageBrowser2.cxx,v $ Language: C++ - Date: $Date: 2010/10/03 11:40:48 $ - Version: $Revision: 1.23 $ + Date: $Date: 2012/11/16 08:49:01 $ + Version: $Revision: 1.27 $ =========================================================================*/ -/* --------------------------------------------------------------------- - -* 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 -* 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. -* -* 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 * @@ -129,9 +136,9 @@ namespace bbtk if (GetColumnCount()!=3) { InsertColumn( 0, _("Package"), - wxLIST_FORMAT_LEFT, 60 ); + wxLIST_FORMAT_LEFT, 90 ); InsertColumn( 1, _("Box"), - wxLIST_FORMAT_LEFT, 200 ); + wxLIST_FORMAT_LEFT, 150 ); InsertColumn( 2, _("Description"), wxLIST_FORMAT_LEFT, 500 ); } @@ -257,7 +264,9 @@ namespace bbtk BlackBoxDescriptor* d = (BlackBoxDescriptor*)(info.GetData()); if (d!=0) { - sendtext += crea::std2wx(d->GetFullTypeName()); + //DFGO -> To identify it is a box + sendtext += crea::std2wx("box:"); + sendtext += crea::std2wx(d->GetFullTypeName()); } } else @@ -814,6 +823,8 @@ namespace bbtk mBoxList->SetUser(this); mBoxList->SetBackgroundColour(*wxWHITE); + +// JGRR & CM DISABLED CLOSE BUTTON m_mgr.AddPane(mBoxList, wxAuiPaneInfo().Name(wxT("BoxList")) .Caption(wxT("Black Boxes")) @@ -821,19 +832,22 @@ namespace bbtk .MaximizeButton(true) .Center() .MinSize(wxSize(100,100)) + .CloseButton(false) ); // sizer->Add(mBoxList,5,wxGROW); mBoxInfo = new WxGUIBlackBoxInfo(this); // sizer->Add(mBoxInfo,3,wxGROW); +// JGRR & CM DISABLED CLOSE BUTTON m_mgr.AddPane(mBoxInfo, wxAuiPaneInfo().Name(wxT("Box")) .Caption(wxT("")) .MinimizeButton(true) .MaximizeButton(true) .Bottom() - .MinSize(wxSize(100,300)) + .MinSize(wxSize(100,200)) + .CloseButton(false) ); wxPanel* filters = new wxPanel(this,-1); @@ -925,13 +939,16 @@ namespace bbtk filters->SetSizer(fsizer); +// JGRR & CM DISABLED CLOSE BUTTON m_mgr.AddPane(filters, wxAuiPaneInfo().Name(wxT("Filter")) .Caption(wxT("Filter")) .MinimizeButton(true) .MaximizeButton(true) - .Right() - .MinSize(wxSize(100,100)) ); + .Left() + .MinSize(wxSize(100,100)) + .CloseButton(false) +); // sizer->Add(fsizer,1,wxGROW); m_mgr.Update(); @@ -1026,24 +1043,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 +1109,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 )