From: guigues Date: Wed, 23 Apr 2008 09:31:23 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: r0.6.1~63 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=16f3daf357d529c9eda2f50908dec006ca19f541;p=bbtk.git *** empty log message *** --- diff --git a/kernel/src/bbtkWxGUIPackageBrowser2.cxx b/kernel/src/bbtkWxGUIPackageBrowser2.cxx index d95d80d..b6c2730 100644 --- a/kernel/src/bbtkWxGUIPackageBrowser2.cxx +++ b/kernel/src/bbtkWxGUIPackageBrowser2.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxGUIPackageBrowser2.cxx,v $ Language: C++ -Date: $Date: 2008/04/18 12:59:16 $ -Version: $Revision: 1.5 $ +Date: $Date: 2008/04/23 09:31:23 $ +Version: $Revision: 1.6 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -114,7 +114,7 @@ namespace bbtk if (GetColumnCount()!=3) { InsertColumn( 0, _("Package"), - wxLIST_FORMAT_LEFT, 40 ); + wxLIST_FORMAT_LEFT, 60 ); InsertColumn( 1, _("Box"), wxLIST_FORMAT_LEFT, 200 ); InsertColumn( 2, _("Description"), @@ -127,8 +127,8 @@ namespace bbtk int nID = this->GetItemCount(); kNewItem.SetId(nID); kNewItem.SetMask(wxLIST_MASK_DATA); - // TO DO : STORE SHARED POINTER - // kNewItem.SetData(d.get()); + // TO DO : STORE SMART POINTER ? + kNewItem.SetData(d.get()); // BlackBoxDescriptor::Pointer* d2 = (BlackBoxDescriptor::Pointer*)kNewItem.GetData(); // std::cout << "Descr = "<InsertItem(kNewItem); @@ -313,9 +313,9 @@ namespace bbtk info.m_mask = wxLIST_MASK_DATA; if ( GetItem(info) ) { - // TO DO : STORE SHARED - // BlackBoxDescriptor* d = (BlackBoxDescriptor*)(info.GetData()); - // if (d!=0) mUser->WxGUIBlackBoxListUserOnSelected(d); + // TO DO : STORE SMART PTR ? + BlackBoxDescriptor* d = (BlackBoxDescriptor*)(info.GetData()); + if (d!=0) mUser->WxGUIBlackBoxListUserOnSelected(d); } else { @@ -606,7 +606,7 @@ namespace bbtk //================================================================ - void WxGUIBlackBoxInfo::UpdateInfo(BlackBoxDescriptor::Pointer descr) + void WxGUIBlackBoxInfo::UpdateInfo(BlackBoxDescriptor* descr) { // mName->SetLabel(std2wx(descr->GetTypeName())); @@ -750,8 +750,12 @@ namespace bbtk id_f3, id_f4, id_f5, - id_f6 - + id_f6, + id_f7, + id_f8, + id_fc1, + id_fc2, + id_fc3 }; @@ -836,8 +840,8 @@ namespace bbtk fsizer->Add(fcat,0,wxGROW); wxBoxSizer *fintype = new wxStaticBoxSizer - ( new wxStaticBox(filters, wxID_ANY, _T("Input type")), wxHORIZONTAL ); - mInputTypeFilter = new wxTextCtrl(filters,id_f4,_T(""), + ( new wxStaticBox(filters, wxID_ANY, _T("Input type")), wxHORIZONTAL ); + mInputTypeFilter = new wxTextCtrl(filters,id_f5,_T(""), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER); @@ -846,12 +850,43 @@ namespace bbtk wxBoxSizer *fouttype = new wxStaticBoxSizer ( new wxStaticBox(filters, wxID_ANY, _T("Output type")), wxHORIZONTAL ); - mOutputTypeFilter = new wxTextCtrl(filters,id_f4,_T(""), + mOutputTypeFilter = new wxTextCtrl(filters,id_f6,_T(""), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER); fouttype->Add(mOutputTypeFilter,1,wxGROW); fsizer->Add(fouttype,0,wxGROW); + wxBoxSizer *finnat = + new wxStaticBoxSizer + ( new wxStaticBox(filters, wxID_ANY, _T("Input nature")),wxHORIZONTAL ); + mInputNatureFilter = new wxTextCtrl(filters,id_f7,_T(""), + wxDefaultPosition, + wxDefaultSize, + wxTE_PROCESS_ENTER); + finnat->Add(mInputNatureFilter,1,wxGROW); + fsizer->Add(finnat,0,wxGROW); + wxBoxSizer *foutnat = + new wxStaticBoxSizer + ( new wxStaticBox(filters, wxID_ANY,_T("Output nature")),wxHORIZONTAL ); + mOutputNatureFilter = new wxTextCtrl(filters,id_f8,_T(""), + wxDefaultPosition, + wxDefaultSize, + wxTE_PROCESS_ENTER); + foutnat->Add(mOutputNatureFilter,1,wxGROW); + fsizer->Add(foutnat,0,wxGROW); + + + mShowWidgetsFilter = new wxCheckBox(filters,id_fc1,_T("Show widgets")); + mShowWidgetsFilter->SetValue(true); + fsizer->Add(mShowWidgetsFilter,0,wxGROW); + + mShowAdaptorsFilter = new wxCheckBox(filters,id_fc2,_T("Show adaptors")); + mShowAdaptorsFilter->SetValue(false); + fsizer->Add(mShowAdaptorsFilter,0,wxGROW); + + mShowGUIsFilter = new wxCheckBox(filters,id_fc3,_T("Show GUIs")); + mShowGUIsFilter->SetValue(false); + fsizer->Add(mShowGUIsFilter,0,wxGROW); filters->SetSizer(fsizer); @@ -884,7 +919,8 @@ namespace bbtk //================================================================ // User callback when a box is selected in the list - void WxGUIPackageBrowser2::WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor::Pointer d) + void WxGUIPackageBrowser2::WxGUIBlackBoxListUserOnSelected + ( BlackBoxDescriptor* d) { mBoxInfo->UpdateInfo(d); std::string title = d->GetPackage()->GetName()+"::"+d->GetTypeName(); @@ -897,10 +933,10 @@ namespace bbtk //================================================================ WxGUIPackageBrowser2::~WxGUIPackageBrowser2() { - - // std::cout << "del interpreter" << std::endl; - // if (mInterpreter) delete mInterpreter; - // std::cout << "ok" << std::endl; + mFactory.reset(); + mInterpreter.reset(); + // Object::PrintObjectListInfo(""); + m_mgr.UnInit(); } //================================================================ @@ -909,7 +945,10 @@ namespace bbtk { if (!mInterpreter) mInterpreter =bbtk::Interpreter::New(); mInterpreter->SetCommandLine(true); - mInterpreter->InterpretLine("include *"); + std::stringstream* buf = new std::stringstream; + *buf << "message max 0" << std::endl; + *buf << "include *" << std::endl; + mInterpreter->InterpretBuffer(buf); Factory::Pointer F = mInterpreter->GetExecuter()->GetFactory(); BuildFromFactory(F); @@ -956,6 +995,14 @@ namespace bbtk { // std::cout << " '" << wx2std(mPackageFilter->GetValue())<<"'"<GetPackage()->GetName() << "'"<IsChecked())&& + ((d->GetKind()==BlackBoxDescriptor::ADAPTOR)|| + (d->GetKind()==BlackBoxDescriptor::DEFAULT_ADAPTOR))) + 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()) ) @@ -964,6 +1011,22 @@ namespace bbtk == 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()); @@ -998,7 +1061,40 @@ namespace bbtk } 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 (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; + } return true; } @@ -1012,6 +1108,11 @@ namespace bbtk 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 ) + EVT_CHECKBOX( id_fc1, WxGUIPackageBrowser2::OnFilter ) + EVT_CHECKBOX( id_fc2, WxGUIPackageBrowser2::OnFilter ) + EVT_CHECKBOX( id_fc3, WxGUIPackageBrowser2::OnFilter ) END_EVENT_TABLE() //======================================================================== diff --git a/kernel/src/bbtkWxGUIPackageBrowser2.h b/kernel/src/bbtkWxGUIPackageBrowser2.h index debebbd..869da8b 100644 --- a/kernel/src/bbtkWxGUIPackageBrowser2.h +++ b/kernel/src/bbtkWxGUIPackageBrowser2.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxGUIPackageBrowser2.h,v $ Language: C++ - Date: $Date: 2008/04/18 12:59:16 $ - Version: $Revision: 1.3 $ + Date: $Date: 2008/04/23 09:31:23 $ + Version: $Revision: 1.4 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -79,7 +79,7 @@ namespace bbtk WxGUIBlackBoxInfo(wxWindow* parent); ~WxGUIBlackBoxInfo(); - void UpdateInfo(BlackBoxDescriptor::Pointer descr); + void UpdateInfo(BlackBoxDescriptor* descr); void InsertInputOutput(wxListCtrl* l, BlackBoxInputOutputDescriptor* i); private: BlackBoxDescriptor* mDescriptor; @@ -101,7 +101,7 @@ namespace bbtk virtual ~WxGUIBlackBoxListUser() {} // User callback when a box is selected in the list - virtual void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor::Pointer ) {} + virtual void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor* ) {} }; //================================================================ @@ -191,7 +191,7 @@ private: void OnFilter(wxCommandEvent&); // User callback when a box is selected in the list - void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor::Pointer ); + void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor* ); private: wxAuiManager m_mgr; @@ -207,6 +207,12 @@ private: wxTextCtrl* mCategoryFilter; wxTextCtrl* mInputTypeFilter; wxTextCtrl* mOutputTypeFilter; + wxTextCtrl* mInputNatureFilter; + wxTextCtrl* mOutputNatureFilter; + + wxCheckBox* mShowWidgetsFilter; + wxCheckBox* mShowAdaptorsFilter; + wxCheckBox* mShowGUIsFilter; DECLARE_EVENT_TABLE() };