[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