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 $
=========================================================================*/
/* ---------------------------------------------------------------------
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)
{
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 )