m_TreeWidget( NULL ),
m_Editor( NULL )
{
- // Prepare plugins interface
+ this->m_Interface.GuessAccesiblePlugins( );
+
QFileInfo info( argv[ 0 ] );
if( info.exists( ) )
{
- this->m_Interface.LoadConfiguration( cpPlugins_CONFIG_FILE );
- this->_LoadPluginsFromPath( this->m_PluginsPath );
- this->m_PluginsPath = info.canonicalPath( ).toStdString( );
-
- } // fi
- QDir exec_dir( "." );
- if( exec_dir.exists( ) )
- {
- this->_LoadPluginsFromPath( exec_dir.canonicalPath( ).toStdString( ) );
- this->m_PluginsPath = exec_dir.canonicalPath( ).toStdString( );
+ auto exec_dir = info.canonicalPath( ).toStdString( );
+ this->_LoadPluginsFromPath( exec_dir );
} // fi
+ this->_UpdateLoadedPlugins( );
// Prepare workspace
this->m_Workspace.SetInterface( &( this->m_Interface ) );
_ExecFilter( const std::string& filter_name )
{
this->_Block( );
- std::string err = this->m_Workspace.Execute( filter_name );
- this->_UnBlock( );
- if( err != "" )
+ try
+ {
+ this->m_Workspace.Execute( filter_name );
+ this->_UnBlock( );
+ }
+ catch( itk::ExceptionObject& err1 )
+ {
+ this->_UnBlock( );
QMessageBox::critical(
this,
QMessageBox::tr( "Error executing filter" ),
- QMessageBox::tr( err.c_str( ) )
+ QMessageBox::tr( err1.GetDescription( ) )
);
+ }
+ catch( std::exception& err2 )
+ {
+ this->_UnBlock( );
+ QMessageBox::critical(
+ this,
+ QMessageBox::tr( "Error executing filter" ),
+ QMessageBox::tr( err2.what( ) )
+ );
+ }
+ catch( ... )
+ {
+ this->_UnBlock( );
+ QMessageBox::critical(
+ this,
+ QMessageBox::tr( "Error executing filter" ),
+ QMessageBox::tr( "Unknown error" )
+ );
+
+ } // yrt
}
// eof - $RCSfile$