Program: bbtk
Module: $RCSfile: bbtkWxBlackBox.cxx,v $
Language: C++
- Date: $Date: 2008/04/08 06:59:30 $
- Version: $Revision: 1.11 $
+ Date: $Date: 2008/04/18 12:59:16 $
+ Version: $Revision: 1.12 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
//=========================================================================
- WxBlackBoxWindow::WxBlackBoxWindow(WxBlackBox* box)
+ WxBlackBoxWindow::WxBlackBoxWindow(WxBlackBox::Pointer box)
: mBox(box), mShown(false)
{
bbtkDebugMessage("Wx",9,"WxBlackBoxWindow::WxBlackBoxWindow("<<
//=========================================================================
//=========================================================================
- WxBlackBoxDialog::WxBlackBoxDialog(WxBlackBox* box,
+ WxBlackBoxDialog::WxBlackBoxDialog(WxBlackBox::Pointer box,
wxWindow *parent,
wxString title,
wxSize size)
//=========================================================================
//=========================================================================
- WxBlackBoxFrame::WxBlackBoxFrame(WxBlackBox* box,
+ WxBlackBoxFrame::WxBlackBoxFrame(WxBlackBox::Pointer box,
wxWindow *parent,
wxString title,
wxSize size)
//=========================================================================
//=========================================================================
- WxBlackBoxWidgetEventHandler::WxBlackBoxWidgetEventHandler( WxBlackBox* box,
- wxWindow *widget )
+ WxBlackBoxWidgetEventHandler::
+ WxBlackBoxWidgetEventHandler( WxBlackBox::Pointer box,
+ wxWindow *widget )
:
mBox(box),
mWindow(widget)
//=========================================================================
//=========================================================================
//=========================================================================
- BBTK_USER_BLACK_BOX_IMPLEMENTATION(WxBlackBox,AtomicBlackBox);
+ BBTK_BLACK_BOX_IMPLEMENTATION(WxBlackBox,AtomicBlackBox);
//=========================================================================
//=========================================================================
"-> Output 'Widget' connected : transfering execution to parent"
<<std::endl);
- i->second->GetConnectionVector().front()
+ i->second->GetConnectionVector().front().lock()
->GetBlackBoxTo()->bbExecute(force);
}
//=========================================================================
/// Main processing method of the box.
- IOStatus WxBlackBox::bbBackwardUpdate( Connection* caller )
+ IOStatus WxBlackBox::bbBackwardUpdate( Connection::Pointer caller )
{
bbtkDebugMessageInc("Process",1,
"=> WxBlackBox::bbBackwardUpdate("
"-> Output 'Widget' connected : transfering execution to parent"
<<std::endl);
- i->second->GetConnectionVector().front()
+ i->second->GetConnectionVector().front().lock()
->GetBlackBoxTo()->bbExecute(false);
done = true;
}
bbtkDebugMessage("Process",3,
"-> No widget event handler : creating one"
<<std::endl);
- new WxBlackBoxWidgetEventHandler(this,bbGetOutputWidget());
+ new WxBlackBoxWidgetEventHandler(GetThisPointer<WxBlackBox>(),
+ bbGetOutputWidget());
}
else if ( ! bbGetWidgetEventHandler()->IsHandlerOf
( bbGetOutputWidget() ) )
"-> Obsolete widget event handler : re-creating one"
<<std::endl);
delete bbGetWidgetEventHandler();
- new WxBlackBoxWidgetEventHandler(this,bbGetOutputWidget());
+ new WxBlackBoxWidgetEventHandler(GetThisPointer<WxBlackBox>(),
+ bbGetOutputWidget());
}
// Sets the name of the wxWindow to the input WinTitle
bbGetOutputWidget()->SetName(bbtk::std2wx(bbGetInputWinTitle()));
bbtkDebugMessage("Process",2,
" Input WinDialog set to true : creating a Dialog"
<<std::endl);
- show = (Window*) new WxBlackBoxDialog( this,
+ show = (Window*) new WxBlackBoxDialog( GetThisPointer<WxBlackBox>(),
bbGetWxParent(),
std2wx( bbGetInputWinTitle() + " - bbtk (c) CREATIS LRMN"),
wxSize( bbGetInputWinWidth() , bbGetInputWinHeight() ) );
bbtkDebugMessage("Process",2,
" Input WinDialog set to false : creating a Frame"
<<std::endl);
- show = (Window*) new WxBlackBoxFrame( this,
+ show = (Window*) new WxBlackBoxFrame( GetThisPointer<WxBlackBox>(),
bbGetWxParent(),
std2wx( bbGetInputWinTitle() + " - bbtk (c) CREATIS LRMN"),
wxSize( bbGetInputWinWidth() , bbGetInputWinHeight() ) );
= bbGetOutputConnectorMap().find("Widget");
if ( i->second->GetConnectionVector().size() != 0 )
{
- return ((WxBlackBox*)i->second->GetConnectionVector().front()
- ->GetBlackBoxTo())->bbGetContainingWindow();
+ return boost::static_pointer_cast<WxBlackBox>
+ (i->second->GetConnectionVector().front().lock()->GetBlackBoxTo())
+ ->bbGetContainingWindow();
}
return 0;
}