- r = cpPlugins::Interface::ParametersQtDialog(
- this->m_Parameters,
- this->GetClassName( ) + std::string( " basic configuration" ),
- parent
- );
- /*
- if( r )
- // TODO: !!! this->m_Parameters = parameters;
- */
+ // Force upstream updates
+ auto i = this->m_Inputs.begin( );
+ bool need_to_update = false;
+ for( ; i != this->m_Inputs.end( ) && r == ""; ++i )
+ {
+ bool iv = i->second.IsValid( );
+ bool ir = i->second.IsRequired( );
+ if( !iv && ir )
+ r =
+ "ProcessObject: Required input \"" +
+ i->first + "@" + this->GetClassName( ) +
+ "\" is not valid (=NULL).";
+ if( iv && r == "" )
+ {
+ Self* src = dynamic_cast< Self* >( i->second->GetSource( ) );
+ if( src != NULL )
+ {
+ need_to_update |= ( this->m_LastExecutionTime < src->GetMTime( ) );
+ r = src->Update( );
+
+ } // fi
+
+ } // fi