[GME-commit] GMESRC/GME/Parser MgaDumper.cpp,1.20,1.21 MgaDumper.h,1.13,1.14

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu Jan 13 15:13:49 CST 2005


Update of /var/lib/gme/GMESRC/GME/Parser
In directory braindrain:/tmp/cvs-serv4290/Parser

Modified Files:
	MgaDumper.cpp MgaDumper.h 
Log Message:
Making possible copy/paste operations for Annotations.


CVS User: zolmol

Index: MgaDumper.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaDumper.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** MgaDumper.cpp	13 Oct 2004 15:17:55 -0000	1.20
--- MgaDumper.cpp	13 Jan 2005 21:13:47 -0000	1.21
***************
*** 156,160 ****
  }
  
! STDMETHODIMP CMgaDumper::DumpFCOs(IMgaFCOs *p, IMgaFolders *f, BSTR xmlfile)
  {
  	m_closureDump = false;
--- 156,160 ----
  }
  
! STDMETHODIMP CMgaDumper::DumpFCOs(IMgaProject *proj, IMgaFCOs *p, IMgaFolders *f, IMgaRegNodes *r, BSTR xmlfile)
  {
  	m_closureDump = false;
***************
*** 172,177 ****
  		if ( p) CopyTo(p, m_selFcos);
  		if ( f) CopyTo(f, m_selFolders);
  
! 		if( m_selFcos.empty() && m_selFolders.empty())
  			return S_OK;
  
--- 172,178 ----
  		if ( p) CopyTo(p, m_selFcos);
  		if ( f) CopyTo(f, m_selFolders);
+ 		if ( r) CopyTo(r, m_selRegNodes);
  
! 		if( m_selFcos.empty() && m_selFolders.empty() && m_selRegNodes.empty())
  			return S_OK;
  
***************
*** 182,192 ****
  		else if ( !m_selFolders.empty())
  			COMTHROW( m_selFolders.front()->get_Project( PutOut( project)) );
  		else
  			return S_OK;
  
  		InitDump(project, xmlfile);
  
  		ofs << "<!DOCTYPE clipboard SYSTEM \"mga.dtd\" [\n";
! 		ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection)*>\n";
  		ofs << "\t<!ATTLIST clipboard acceptingkind CDATA	#IMPLIED>\n";
  		ofs << "]>\n\n";
--- 183,197 ----
  		else if ( !m_selFolders.empty())
  			COMTHROW( m_selFolders.front()->get_Project( PutOut( project)) );
+ 		else if ( !m_selRegNodes.empty()) // newly added
+ 			project = proj;
  		else
  			return S_OK;
  
+ 		if( !project) return S_OK;
+ 
  		InitDump(project, xmlfile);
  
  		ofs << "<!DOCTYPE clipboard SYSTEM \"mga.dtd\" [\n";
! 		ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
  		ofs << "\t<!ATTLIST clipboard acceptingkind CDATA	#IMPLIED>\n";
  		ofs << "]>\n\n";
***************
*** 217,221 ****
  		}
  
! 		removeInnerObjs();
  		
  		for( fi = m_selFolders.begin(); fi != m_selFolders.end(); ++fi )
--- 222,226 ----
  		}
  
! 		if( m_selFolders.size() + m_selFcos.size() > 0) removeInnerObjs();
  		
  		for( fi = m_selFolders.begin(); fi != m_selFolders.end(); ++fi )
***************
*** 224,228 ****
  		for( i = m_selFcos.begin(); i != m_selFcos.end(); ++i )
  			Dump ( *i);
! 		
  
  		EndElem();
--- 229,245 ----
  		for( i = m_selFcos.begin(); i != m_selFcos.end(); ++i )
  			Dump ( *i);
! 
! 		if( !m_selRegNodes.empty())
! 		{
! 			StartElem("regnode");
! 			Attr("name", "annotations");
! 			StartElem("value");
! 			EndElem(); //value
! 
! 			for( CComObjPtrVector<IMgaRegNode>::iterator ri = m_selRegNodes.begin(); ri != m_selRegNodes.end(); ++ri)
! 				Dump( *ri);
! 
! 			EndElem(); // regnode of annotations
! 		}
  
  		EndElem();
***************
*** 1559,1563 ****
  		{
  			ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
! 			ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection)*>\n";
  			ofs << "\t<!ATTLIST clipboard\n";
  			ofs << "\t\tclosureversion CDATA #IMPLIED\n";
--- 1576,1580 ----
  		{
  			ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
! 			ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
  			ofs << "\t<!ATTLIST clipboard\n";
  			ofs << "\t\tclosureversion CDATA #IMPLIED\n";
***************
*** 1645,1649 ****
  
  		ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
! 		ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection)*>\n";
  		ofs << "\t<!ATTLIST clipboard\n";
  		ofs << "\t\tclosureversion CDATA #IMPLIED\n";
--- 1662,1666 ----
  
  		ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
! 		ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
  		ofs << "\t<!ATTLIST clipboard\n";
  		ofs << "\t\tclosureversion CDATA #IMPLIED\n";

Index: MgaDumper.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaDumper.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** MgaDumper.h	13 Oct 2004 15:17:55 -0000	1.13
--- MgaDumper.h	13 Jan 2005 21:13:47 -0000	1.14
***************
*** 66,70 ****
  
  	STDMETHOD(DumpProject)(IMgaProject *p, BSTR xmlfile);
! 	STDMETHOD(DumpFCOs)(IMgaFCOs *p, IMgaFolders *f, BSTR xmlfile);
  	STDMETHOD(DumpClos)( IMgaFCOs *sel_fco, IMgaFolders *sel_fold, BSTR xmlfile, int lib_stub);
  	STDMETHOD(DumpClosR)( IMgaFCOs *sel_fco, IMgaFolders *sel_fold, BSTR xmlfile, IMgaFCOs *top_fco, IMgaFolders *top_fold, int options, BSTR abspath, BSTR acceptingkinds);
--- 66,70 ----
  
  	STDMETHOD(DumpProject)(IMgaProject *p, BSTR xmlfile);
! 	STDMETHOD(DumpFCOs)(IMgaProject *proj, IMgaFCOs *p, IMgaFolders *f, IMgaRegNodes *r, BSTR xmlfile);
  	STDMETHOD(DumpClos)( IMgaFCOs *sel_fco, IMgaFolders *sel_fold, BSTR xmlfile, int lib_stub);
  	STDMETHOD(DumpClosR)( IMgaFCOs *sel_fco, IMgaFolders *sel_fold, BSTR xmlfile, IMgaFCOs *top_fco, IMgaFolders *top_fold, int options, BSTR abspath, BSTR acceptingkinds);
***************
*** 239,242 ****
--- 239,243 ----
  	CComObjPtrVector<IMgaFCO>		m_selFcos;		// selected objects for dump or closure
  	CComObjPtrVector<IMgaFolder>	m_selFolders;
+ 	CComObjPtrVector<IMgaRegNode>	m_selRegNodes;
  	void removeInnerObjs();
  



More information about the GME-commit mailing list