+/*
+ # ---------------------------------------------------------------------
+ #
+ # 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
*
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 );
}
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
mBoxList->SetUser(this);
mBoxList->SetBackgroundColour(*wxWHITE);
+
+// JGRR & CM DISABLED CLOSE BUTTON
m_mgr.AddPane(mBoxList,
wxAuiPaneInfo().Name(wxT("BoxList"))
.Caption(wxT("Black Boxes"))
.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);
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();
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 )