+ bbtkDebugMessage("process",3,
+ "=> WxBlackBox::bbBackwardUpdate("
+ <<(caller?caller->GetFullName():"0")<<") ["
+ <<bbGetFullName()<<"]"<<std::endl);
+ // If the caller's box to is not the box to connected to the
+ // output 'Widget'
+ if ( ! (( bbGetStatus() == MODIFIED ) ||
+ ( bbBoxProcessModeIsAlways() )) )
+ {
+ bbtkDebugMessage("process",3,"Up-to-date : nothing to do"<<std::endl);
+ bbtkDebugMessage("process",3,
+ "<= WxBlackBox::bbBackwardUpdate("
+ <<(caller?caller->GetFullName():"0")<<") ["
+ <<bbGetFullName()<<"]"<<std::endl);
+ return bbGetStatus();
+ }
+
+ BlackBox::OutputConnectorMapType::const_iterator i
+ = bbGetOutputConnectorMap().find("Widget") ;
+ if ( i->second->GetConnectionVector().size() != 0 )
+
+ {
+ BlackBox::Pointer to =
+ i->second->GetConnectionVector()[0]->GetBlackBoxTo();
+
+ if (caller)
+ {
+ bbtkDebugMessage("process",3,
+ "-> Output 'Widget' connected to '"
+ <<to->bbGetFullName()<<"' - caller->to = '"
+ <<caller->GetBlackBoxTo()->bbGetFullName()
+ <<"'"
+ <<std::endl);
+ }
+ else
+ {
+ bbtkDebugMessage("process",3,
+ "-> Output 'Widget' connected to '"
+ <<to->bbGetFullName()<<"'"
+ <<std::endl);
+ }
+ if ((caller==0) ||
+ ((caller!=0) &&
+ (caller->GetBlackBoxTo() != to))&&
+ (!bbGetUpdateTransferedToParent())&&
+ (to->bbGetStatus()!=UPDATING))
+ {
+ bbtkDebugMessage("process",3,
+ " ... Transfering update order to parent"
+ <<std::endl);
+
+ bbSetUpdateTransferedToParent(true);
+ i->second->GetConnectionVector().front() //.lock()
+ ->GetBlackBoxTo()->bbExecute(false);
+ }
+ else
+ {
+ bbSetUpdateTransferedToParent(false);
+ bbtkDebugMessage("process",3,
+ " ... No need to transfer to parent"
+ <<std::endl);
+ }
+ }
+ /*
+