[GME-commit] GMESRC/Paradigms/MetaGME/MetaDecorator Decorator.cpp,1.11,1.12 Decorator.h,1.5,1.6

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu Sep 15 20:18:22 CDT 2005


Update of /project/gme-repository/GMESRC/Paradigms/MetaGME/MetaDecorator
In directory escher:/tmp/cvs-serv8746

Modified Files:
	Decorator.cpp Decorator.h 
Log Message:
Using the same ordering as in the metainterpreter.


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: Decorator.h
===================================================================
RCS file: /project/gme-repository/GMESRC/Paradigms/MetaGME/MetaDecorator/Decorator.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Decorator.h	2 Oct 2002 18:19:00 -0000	1.5
--- Decorator.h	15 Sep 2005 19:18:19 -0000	1.6
***************
*** 174,178 ****
  
  private:
! 	CMetaAttr(const CString &name, const CString &type) : m_name(name), m_type(type), m_namePos(DWORD(0)), m_typePos(DWORD(0)) {}
  
  	CString m_name;
--- 174,178 ----
  
  private:
! 	CMetaAttr(const CString &name, const CString &type, const CPoint &boxPos) : m_name(name), m_type(type), m_namePos(DWORD(0)), m_typePos(DWORD(0)), m_boxPos( boxPos) {}
  
  	CString m_name;
***************
*** 180,183 ****
--- 180,184 ----
  	CString m_type;
  	CPoint	m_typePos;
+ 	CPoint  m_boxPos;
  };
  

Index: Decorator.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/Paradigms/MetaGME/MetaDecorator/Decorator.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Decorator.cpp	19 Jul 2004 17:22:00 -0000	1.11
--- Decorator.cpp	15 Sep 2005 19:18:19 -0000	1.12
***************
*** 793,796 ****
--- 793,804 ----
  				CComBSTR bstr;
  				COMTHROW(targetMetaFco->get_Name(&bstr));
+ 				
+ 				CComBSTR attrPosBstr; // zolmol added: sort by [y, x]
+ 				COMTHROW(targetFco->get_RegistryValue( L"PartRegs/Attributes/Position", &attrPosBstr));
+ 				CString attr_pos = attrPosBstr;
+ 				CPoint pos( 0, 0);
+ 				int res = sscanf( (LPCTSTR)attr_pos, "%d,%d", &pos.x, &pos.y);
+ 				if( res != 2) { pos = CPoint( 0, 0);}
+ 				
  				CString targetKind = bstr;
  				if (targetKind == META_BOOLEANATTR_KIND) {
***************
*** 798,802 ****
  					COMTHROW(targetFco->get_Name(&nameBstr));
  					CString targetName = nameBstr;
! 					m_attrs.AddTail(new CMetaAttr(targetName, META_BOOLEANATTR_LABEL));
  				}
  				if (targetKind == META_ENUMATTR_KIND) {
--- 806,810 ----
  					COMTHROW(targetFco->get_Name(&nameBstr));
  					CString targetName = nameBstr;
! 					m_attrs.AddTail(new CMetaAttr(targetName, META_BOOLEANATTR_LABEL, pos));
  				}
  				if (targetKind == META_ENUMATTR_KIND) {
***************
*** 804,808 ****
  					COMTHROW(targetFco->get_Name(&nameBstr));
  					CString targetName = nameBstr;
! 					m_attrs.AddTail(new CMetaAttr(targetName, META_ENUMATTR_LABEL));
  				}
  				if (targetKind == META_FIELDATTR_KIND) {
--- 812,816 ----
  					COMTHROW(targetFco->get_Name(&nameBstr));
  					CString targetName = nameBstr;
! 					m_attrs.AddTail(new CMetaAttr(targetName, META_ENUMATTR_LABEL, pos));
  				}
  				if (targetKind == META_FIELDATTR_KIND) {
***************
*** 810,814 ****
  					COMTHROW(targetFco->get_Name(&nameBstr));
  					CString targetName = nameBstr;
! 					m_attrs.AddTail(new CMetaAttr(targetName, META_FIELDATTR_LABEL));
  				}
  			}
--- 818,822 ----
  					COMTHROW(targetFco->get_Name(&nameBstr));
  					CString targetName = nameBstr;
! 					m_attrs.AddTail(new CMetaAttr(targetName, META_FIELDATTR_LABEL, pos));
  				}
  			}
***************
*** 823,828 ****
  		return;
  	}
  	POSITION ipos = m_attrs.GetTailPosition();
! 	m_attrs.GetPrev(ipos);
  	while (ipos) {
  		POSITION jpos = m_attrs.GetHeadPosition();
--- 831,837 ----
  		return;
  	}
+ 
  	POSITION ipos = m_attrs.GetTailPosition();
! 	//m_attrs.GetPrev(ipos); //ZolMol: iPos already points to last element if any
  	while (ipos) {
  		POSITION jpos = m_attrs.GetHeadPosition();
***************
*** 831,835 ****
  			CMetaAttr *jattr = m_attrs.GetNext(jnpos);
  			CMetaAttr *jnattr = m_attrs.GetAt(jnpos);
! 			if (jattr->m_name > jnattr->m_name) {
  				m_attrs.SetAt(jpos, jnattr);
  				m_attrs.SetAt(jnpos, jattr);
--- 840,844 ----
  			CMetaAttr *jattr = m_attrs.GetNext(jnpos);
  			CMetaAttr *jnattr = m_attrs.GetAt(jnpos);
! 			if( jattr->m_boxPos.y > jnattr->m_boxPos.y || jattr->m_boxPos.y == jnattr->m_boxPos.y && jattr->m_boxPos.x > jnattr->m_boxPos.x) {
  				m_attrs.SetAt(jpos, jnattr);
  				m_attrs.SetAt(jnpos, jattr);



More information about the GME-commit mailing list