[GME-commit] GMESRC/GME/MgaUtil MakeClosure.cpp,1.5,1.6

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Tue Aug 3 14:03:57 CDT 2004


Update of /var/lib/gme/GMESRC/GME/MgaUtil
In directory braindrain:/tmp/cvs-serv14420

Modified Files:
	MakeClosure.cpp 
Log Message:
de-bugged, corrected: information about the kinds the closure can be pasted into.


CVS User: zolmol

Index: MakeClosure.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MakeClosure.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** MakeClosure.cpp	2 Aug 2004 22:51:25 -0000	1.5
--- MakeClosure.cpp	3 Aug 2004 18:03:54 -0000	1.6
***************
*** 12,15 ****
--- 12,16 ----
  // object hierarchy
  //
+ const string rootfolder_str = "RootFolder";
  
  inline void nop( IMgaMetaFCO * f)
***************
*** 1207,1211 ****
  	//
  	// looking for potential folder containers
! 	bool is_any_library = false;
  	set < string > goody;
  	for( CComObjPtrVector<IMgaFolder>::iterator fold_it = m_topFolds.begin(); fold_it != m_topFolds.end(); ++fold_it)
--- 1208,1212 ----
  	//
  	// looking for potential folder containers
! 	unsigned int how_many_libraries = 0;
  	set < string > goody;
  	for( CComObjPtrVector<IMgaFolder>::iterator fold_it = m_topFolds.begin(); fold_it != m_topFolds.end(); ++fold_it)
***************
*** 1220,1225 ****
  		string kind_nm;
  		CopyTo( kind_name, kind_nm);
! 		if ( kind_nm == "RootFolder")
! 			is_any_library = true;
  
  		// will store the folder parents this folder may be part of
--- 1221,1229 ----
  		string kind_nm;
  		CopyTo( kind_name, kind_nm);
! 		if ( kind_nm == rootfolder_str)
! 		{
! 			++how_many_libraries;
! 			continue;
! 		}
  
  		// will store the folder parents this folder may be part of
***************
*** 1249,1253 ****
  		}
  	}
- 	goody.insert( "The RootFolder perhaps"); // an informative message, since a library might be pasted only into a rootfolder
  	
  	for( CComObjPtrVector<IMgaFCO>::iterator kind_it = m_topFcos.begin(); kind_it != m_topFcos.end(); ++kind_it)
--- 1253,1256 ----
***************
*** 1284,1290 ****
  	}
  
! 	// these folders may contain all objects ( topFCOs and topFolders)
! 	for( set< string > :: iterator git = goody.begin(); git != goody.end(); ++git)
! 		m_acceptingKindsAndFolders.push_back( *git);
  
  	
--- 1287,1302 ----
  	}
  
! 	if( how_many_libraries == 0) //regular case
! 	{
! 		// these folders may contain all objects ( topFCOs and topFolders)
! 		for( set< string > :: iterator git = goody.begin(); git != goody.end(); ++git)
! 			m_acceptingKindsAndFolders.push_back( *git);
! 	}
! 	else // there are some libraries as top folders, the only possible target to paste in is the roofolder
! 	{
! 		if( m_topFolds.size() == how_many_libraries || // there are no other folders OR
! 			goody.end() != goody.find( rootfolder_str))  // the RootFolder is a good target for the regular folders and kinds
! 			m_acceptingKindsAndFolders.push_back( rootfolder_str);
! 	}
  
  	



More information about the GME-commit mailing list