X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWxGUIPackageBrowser2.cxx;h=e4a688e8bc65df133e33be0b386ec185ef7f3fb1;hb=43c3c14ce24a516ee6431064cbe4834665e7f8bd;hp=b6c2730df74e26724d783e9814f53c5cfee8d186;hpb=16f3daf357d529c9eda2f50908dec006ca19f541;p=bbtk.git diff --git a/kernel/src/bbtkWxGUIPackageBrowser2.cxx b/kernel/src/bbtkWxGUIPackageBrowser2.cxx index b6c2730..e4a688e 100644 --- a/kernel/src/bbtkWxGUIPackageBrowser2.cxx +++ b/kernel/src/bbtkWxGUIPackageBrowser2.cxx @@ -1,25 +1,40 @@ -/*========================================================================= - -Program: bbtk -Module: $RCSfile: bbtkWxGUIPackageBrowser2.cxx,v $ -Language: C++ -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 -http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. See the above copyright notices for more information. - -=========================================================================*//** - * \brief Short description in one line - * - * Long description which - * can span multiple lines - */ +/*========================================================================= + Program: bbtk + Module: $RCSfile: bbtkWxGUIPackageBrowser2.cxx,v $ + Language: C++ + Date: $Date: 2010/03/29 16:07:15 $ + Version: $Revision: 1.17 $ +=========================================================================*/ + +/* --------------------------------------------------------------------- + +* 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 + * + * Long description which + * can span multiple lines + */ + /** * \file * \brief @@ -193,7 +208,7 @@ namespace bbtk void WxGUIBlackBoxList::LogColEvent(const wxListEvent& event, const wxChar *name) { - const int col = event.GetColumn(); + // const int col = event.GetColumn(); /* wxLogMessage(wxT("%s: column %d (width = %d or %d)."), @@ -229,9 +244,33 @@ namespace bbtk void WxGUIBlackBoxList::OnBeginDrag(wxListEvent& event) { - const wxPoint& pt = event.m_pointDrag; + std::cout<<"RaC DRAG TABLE"<GetItemText(event.GetIndex()))); + wxListItem info; + info.m_itemId = event.m_itemIndex; + info.m_col = 0; + info.m_mask = wxLIST_MASK_DATA; + wxString sendtext(wxT("")); + if ( GetItem(info) ) + { + // TO DO : STORE SMART PTR ? + BlackBoxDescriptor* d = (BlackBoxDescriptor*)(info.GetData()); + if (d!=0) + { + sendtext += wxT(d->GetFullTypeName()); + } + } + else + { + wxFAIL_MSG(wxT("wxListCtrl::GetItem() failed")); + } + + + wxTextDataObject tdo(wxT(sendtext)); + wxDropSource tds(tdo, this); + tds.DoDragDrop(); + // const wxPoint& pt = event.m_pointDrag; - int flags; //wxLogMessage( wxT("OnBeginDrag at (%d, %d), item %ld."), // pt.x, pt.y, HitTest(pt, flags) ); } @@ -466,7 +505,8 @@ namespace bbtk int flags; long subitem; - long item = HitTest(event.GetPosition(), flags, &subitem); + // long item = + HitTest(event.GetPosition(), flags, &subitem); wxString where; switch ( flags ) @@ -922,12 +962,24 @@ namespace bbtk void WxGUIPackageBrowser2::WxGUIBlackBoxListUserOnSelected ( BlackBoxDescriptor* d) { + //RaC + _actualSelected=d; + mBoxInfo->UpdateInfo(d); std::string title = d->GetPackage()->GetName()+"::"+d->GetTypeName(); m_mgr.GetPane(mBoxInfo).Caption(std2wx(title)); m_mgr.Update(); } + //================================================================ + + //================================================================ + BlackBoxDescriptor* WxGUIPackageBrowser2::GetActualSelected() + { + return _actualSelected; + } + + //================================================================ //================================================================ @@ -946,6 +998,7 @@ namespace bbtk if (!mInterpreter) mInterpreter =bbtk::Interpreter::New(); mInterpreter->SetCommandLine(true); std::stringstream* buf = new std::stringstream; + *buf << "exec freeze_no_error" << std::endl; *buf << "message max 0" << std::endl; *buf << "include *" << std::endl; mInterpreter->InterpretBuffer(buf); @@ -961,6 +1014,7 @@ namespace bbtk mFactory = F; RebuildList(); } + //================================================================ //================================================================ @@ -976,9 +1030,9 @@ namespace bbtk Package::Pointer P = i->second; if (P->GetName() == "user") continue; - Package::BlackBoxMapType::iterator j; - for (j=P->GetBlackBoxMap().begin(); - j!=P->GetBlackBoxMap().end(); + Package::DescriptorMapType::iterator j; + for (j=P->GetDescriptorMap().begin(); + j!=P->GetDescriptorMap().end(); ++j) { // std::cout << "Insert "<second->GetTypeName()<Hide(); - - Wx::SetTopWindow(top); - + // Creates the parent window of all bbtk windows as a child of this +// Wx::CreateTopWindow(this); + // Add the method OnWxSignal as a Wx::Signal observer + //bbtkAddWxSignalObserver(WxGUIPackageBrowser2Window::OnWxSignal); + SetAutoLayout(true); Layout(); }