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 )
-/*=========================================================================
+/*=========================================================================
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__
//================================================================
class WxGUIPackageBrowser2;
//================================================================
-
+
//================================================================
/// Abstract class which defines the callbacks invoked by WxGUIPackageBrowser2
};
//================================================================
-
+
//================================================================
class WxGUIBlackBoxInfo : public wxPanel
{
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* ) {}
};
//================================================================
// 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);
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;
public WxGUIBlackBoxListUser
{
public:
- WxGUIPackageBrowser2( wxWindow *parent,
+ WxGUIPackageBrowser2( wxWindow *parent,
WxGUIPackageBrowser2User* user = 0 );
~WxGUIPackageBrowser2();
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;
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
{
private :
-
+
WxGUIPackageBrowser2* mBrowser;
+
};
//================================================================
-
+
} // namespace bbtk