std::remove_if( clean_line.begin( ), clean_line.end( ), isspace ),
clean_line.end( )
);
- if(
- clean_line != "sectionplugins" &&
- clean_line != "sectionbase_classes" &&
- clean_line != "sectionsegmentation_classes" &&
- clean_line != "sectionsegmentation_filter_classes" &&
- clean_line != "sectionmesh_filter_classes"
- )
+ if( clean_line[ 0 ] != '#' )
{
- if( clean_line != "" )
+ if(
+ clean_line != "sectionplugins" &&
+ clean_line != "sectionbase_classes" &&
+ clean_line != "sectionsegmentation_classes" &&
+ clean_line != "sectionsegmentation_filter_classes" &&
+ clean_line != "sectionmesh_filter_classes"
+ )
{
- if( actual_section == "sectionplugins" )
+ if( clean_line != "" )
{
- if( !( this->m_Plugins.Load( clean_line ) ) )
+ if( actual_section == "sectionplugins" )
{
- QMessageBox::warning(
- this,
- tr( "Ignoring plugin" ),
- tr( clean_line.c_str( ) )
- );
+ if( !( this->m_Plugins.Load( clean_line ) ) )
+ {
+ QMessageBox::warning(
+ this,
+ tr( "Ignoring plugin" ),
+ tr( clean_line.c_str( ) )
+ );
+
+ } // fi
+ }
+ else
+ {
+ std::string name =
+ clean_line.substr( clean_line.find_last_of( ":" ) + 1 );
+ if( actual_section == "sectionbase_classes" )
+ this->m_BaseClasses[ name ] = clean_line;
+ else if( actual_section == "sectionsegmentation_classes" )
+ this->m_SegmentationClasses[ name ] = clean_line;
+ else if( actual_section == "sectionsegmentation_filter_classes" )
+ this->m_SegmentationFilterClasses[ name ] = clean_line;
+ else if( actual_section == "sectionmesh_filter_classes" )
+ this->m_MeshFilterClasses[ name ] = clean_line;
} // fi
- }
- else
- {
- std::string name =
- clean_line.substr( clean_line.find_last_of( ":" ) + 1 );
- if( actual_section == "sectionbase_classes" )
- this->m_BaseClasses[ name ] = clean_line;
- else if( actual_section == "sectionsegmentation_classes" )
- this->m_SegmentationClasses[ name ] = clean_line;
- else if( actual_section == "sectionsegmentation_filter_classes" )
- this->m_SegmentationFilterClasses[ name ] = clean_line;
- else if( actual_section == "sectionmesh_filter_classes" )
- this->m_MeshFilterClasses[ name ] = clean_line;
} // fi
+ }
+ else if( clean_line != "" )
+ {
+ if( clean_line[ 0 ] != '#' )
+ actual_section = clean_line;
} // fi
- }
- else if( clean_line != "" )
- {
- if( clean_line[ 0 ] != '#' )
- actual_section = clean_line;
} // fi
-
std::getline( in, line );
} // elihw
} // fi
// Needed object from plugins
+ this->_AddPluginActions(
+ this->m_SegmentationClasses, this->m_UI->menuSegmentInputImage,
+ SLOT( _triggered_actionSegmentImage( ) )
+ );
+ this->_AddPluginActions(
+ this->m_SegmentationFilterClasses, this->m_UI->menuFilterSegmentedImage,
+ SLOT( _triggered_actionFilterSegmentation( ) )
+ );
+ this->_AddPluginActions(
+ this->m_MeshFilterClasses, this->m_UI->menuProcessMesh,
+ SLOT( _triggered_actionProcessMesh( ) )
+ );
// Historic objects
-
-
-
- /*
- this->m_ImageReaderClassName = "";
- this->m_ImageSeriesReaderClassName = "";
- this->m_ImageWriterClassName = "";
-
- if( in )
- {
- std::string plugin;
- std::getline( in, plugin );
- while( !( in.eof( ) ) )
- {
- if( this->m_Plugins.Load( plugin ) )
- {
- TPluginsInterface::TClassesIterator cIt =
- this->m_Plugins.GetClasses( ).begin( );
- TPluginsInterface::TClassesIterator end_cIt =
- this->m_Plugins.GetClasses( ).end( );
- for( ; cIt != end_cIt; ++cIt )
- {
- std::string c_name = cIt->first;
- c_name = c_name.substr( c_name.find_last_of( ":" ) + 1 );
- if( c_name == "ImageReader" )
- {
- this->m_ImageReaderClassName = cIt->first;
- }
- else if( c_name == "ImageSeriesReader" )
- {
- this->m_ImageSeriesReaderClassName = cIt->first;
- }
- else if( c_name == "ImageWriter" )
- {
- this->m_ImageWriterClassName = cIt->first;
- }
- else
- {
- } // fi
-
- } // rof
-
- TFilterPlugins::TClassesIterator cIt =
- this->m_Plugins.BeginClasses( );
- for( ; cIt != this->m_Plugins.EndClasses( ); ++cIt )
- {
- TFilterObject* filter =
- this->m_Plugins.CreateObject( cIt->first );
- if( filter == NULL )
- continue;
- std::string cat = filter->GetCategory( );
- std::string catType = cat.substr( cat.find_last_of( ":" ) );
- if( catType == ":BinaryImageToBinaryImageFilter" )
- {
- QAction* action = this->m_UI->menuFilterSegmentedImage->
- addAction( QString( cIt->first.c_str( ) ) );
- QObject::connect(
- action, SIGNAL( triggered( ) ),
- this, SLOT( triggered_aFilterSegmentedImage( ) )
- );
- }
- else if( catType == ":ImageToMeshFilter" )
- {
- QAction* action = this->m_UI->menuExtractMesh->
- addAction( QString( cIt->first.c_str( ) ) );
- QObject::connect(
- action, SIGNAL( triggered( ) ),
- this, SLOT( triggered_aSegmentedImageToMesh( ) )
- );
-
- } // fi
- delete filter;
- } // rof
- }
- else
- {
- QMessageBox::warning(
- this,
- tr( "Ignoring plugin" ),
- tr( plugin.c_str( ) )
- );
-
- } // fi
- std::getline( in, plugin );
-
- } // elihw
- }
- else
- {
- QMessageBox::critical(
- this,
- tr( "No plugins file loaded!" ),
- tr( this->m_PluginsConfigurationFile.c_str( ) )
- );
-
- } // fi
- in.close( );
-
- if( this->m_ImageReaderClassName == "" )
- {
- QMessageBox::critical(
- this,
- tr( "No ImageReader found in plugins!" ),
- tr( this->m_PluginsConfigurationFile.c_str( ) )
- );
-
- } // fi
-
- if( this->m_ImageWriterClassName == "" )
- {
- QMessageBox::critical(
- this,
- tr( "No ImageWriter found in plugins!" ),
- tr( this->m_PluginsConfigurationFile.c_str( ) )
- );
-
- } // fi
- this->_UpdateEnabledFlags( );
- */
- }
+}
// -------------------------------------------------------------------------
bool MainWnd::
return( r );
}
+// -------------------------------------------------------------------------
+void MainWnd::
+_AddPluginActions(
+ const TStringMap& classes, QMenu* menu, const char* method
+ )
+{
+ TStringMap::const_iterator clIt = classes.begin( );
+ for( ; clIt != classes.end( ); ++clIt )
+ {
+ QAction* action = menu->addAction( QString( clIt->first.c_str( ) ) );
+ QObject::connect( action, SIGNAL( triggered( ) ), this, method );
+
+ } // rof
+}
+
// eof - $RCSfile$