[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