if ( myModule ){
// Connect the module to the active study
- CAM_Study* camStudy = dynamic_cast<CAM_Study*>( activeStudy() );
- if ( camStudy ){
- CAM_DataModel* prev = 0;
- for ( ModuleListIterator it( myModules ); it.current(); ++it ) {
- CAM_DataModel* dm = it.current()->dataModel();
- if ( it.current() == myModule && !camStudy->containsDataModel( dm ) ){
- if ( prev )
- camStudy->insertDataModel( it.current()->dataModel(), prev );
- else
- camStudy->insertDataModel( it.current()->dataModel(), 0 );
- }
- prev = dm;
- }
- }
+ myModule->connectToStudy( dynamic_cast<CAM_Study*>( activeStudy() ) );
if ( !myModule->activateModule( activeStudy() ) )
{
myModule->setMenuShown( false );
STD_Application::createEmptyStudy();
- //SUIT_Study* newStudy = activeStudy();
- //if ( study != newStudy )
- //{
- // CAM_Study* camStudy = dynamic_cast<CAM_Study*>( newStudy );
- // for ( ModuleListIterator it( myModules ); it.current(); ++it )
- // camStudy->insertDataModel( it.current()->dataModel() );
- //}
+ SUIT_Study* newStudy = activeStudy();
+ if ( study != newStudy )
+ {
+ CAM_Study* camStudy = dynamic_cast<CAM_Study*>( newStudy );
+ for ( ModuleListIterator it( myModules ); it.current(); ++it )
+ camStudy->insertDataModel( it.current()->dataModel() );
+ }
}