}
*/
+
OutputConnectorMapType::const_iterator o;
for ( o = bbGetOutputConnectorMap().begin();
o != bbGetOutputConnectorMap().end(); ++o )
- {
- if (o->second->GetStatus()==UPTODATE)
+ {
+
+
+ if (o->first=="BoxChange")
+ {
+ o->second->SetStatus(UPTODATE);
+ }
+
+
+
+//EED 24/08/2015
+// EED CASPITAS 2
+ if (o->second->GetStatus()==UPTODATE)
+// if ((o->second->GetStatus()==UPTODATE) || (o->second->GetStatus()==OUTOFDATE))
+// if ((o->second->GetStatus()==UPTODATE) || (o->second->GetStatus()==MODIFIED))
{
o->second->SetStatus(OUTOFDATE);
o->second->SignalChange(GetThisPointer<BlackBox>(),o->first);
- }
- }
+ } // if
+ } // for
+
if ( ( bbBoxProcessModeIsReactive()
|| (c==bbGetInputConnectorMap().find("BoxExecute")->second))
&& (bbCanReact() ) )
bbtkBlackBoxDebugMessage("change",2,
"-> Execution triggered by Reactive mode or BoxExecute input change"<<std::endl);
bbGlobalAddToExecutionList( GetThisPointer<BlackBox>() );
- }
+ } // if
bbtkBlackBoxDebugMessage("change",5,
"<= BlackBox::bbSetStatusAndPropagate(input)"
<<std::endl);
//=========================================================================
void BlackBox::bbRecursiveExecute( Connection::Pointer caller )
{
+
bbtkBlackBoxDebugMessage("process",3,
"=> BlackBox::bbRecursiveExecute("
<<(caller?caller->GetFullName():"0")<<")"
IOStatus s=UPTODATE;
// IOStatus s=OUTOFDATE;
// IOStatus s=MODIFIED;
-
-
+
+
if ( ( bbBoxProcessModeIsManual()==false ) ||
( (bbBoxProcessModeIsManual()==true) && (bbLetRecursiveExecuteManualMode==true) ) )
{
bbSetExecuting(false);
bbGlobalSetSomeBoxExecuting(wasExecuting);
+
return;
}
//=========================================================================
<<std::endl);
bbmgGlobalProcessingExecutionList = false;
+
}
//=========================================================================