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
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$