[commit] r2716 - in trunk/GME: Common Core Meta MgaUtil ObjectInspector Parser PartBrowser XmlBackEnd

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Wed Nov 15 15:30:19 CST 2017


Author: ksmyth
Date: Wed Nov 15 15:30:19 2017
New Revision: 2716

Log:
More cleanup

Modified:
   trunk/GME/Common/CommonStl.h
   trunk/GME/Core/CoreAttribute.h
   trunk/GME/Core/StdAfx.h
   trunk/GME/Meta/StdAfx.h
   trunk/GME/MgaUtil/MetaPurgeDialog.cpp
   trunk/GME/ObjectInspector/InspectorList.cpp
   trunk/GME/Parser/MetaParser.cpp
   trunk/GME/Parser/MgaParser.cpp
   trunk/GME/Parser/MgaParserBC.cpp
   trunk/GME/Parser/MgaParserSC.cpp
   trunk/GME/Parser/Parser.vcxproj.filters
   trunk/GME/PartBrowser/PartBrowserPane.cpp
   trunk/GME/PartBrowser/PartBrowserPane.h
   trunk/GME/XmlBackEnd/StdAfx.h

Modified: trunk/GME/Common/CommonStl.h
==============================================================================
--- trunk/GME/Common/CommonStl.h	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Common/CommonStl.h	Wed Nov 15 15:30:19 2017	(r2716)
@@ -4,7 +4,6 @@
 
 #include <vector>
 #include <string>
-#include <hash_map>
 
 #ifndef MGA_COMMONSMART_H
 #include "CommonSmart.h"
@@ -162,17 +161,6 @@
 	}
 }
 
-// --------------------------- STL function objects
-
-template <class T>
-struct ptr_compare : public stdext::hash_compare<T>
-{
-	size_t operator()(const T* p) const { return (size_t) p; }
-	bool operator()(const T *a, const T *b) const { return a < b; }
-
-	// both hashing and comparing must be implemented here
-};
-
 // --------------------------- Iterator
 
 #ifdef _DEBUG

Modified: trunk/GME/Core/CoreAttribute.h
==============================================================================
--- trunk/GME/Core/CoreAttribute.h	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Core/CoreAttribute.h	Wed Nov 15 15:30:19 2017	(r2716)
@@ -13,6 +13,13 @@
 #include <set>
 
 
+template <class T>
+struct ptr_compare
+{
+	size_t operator()(const T* p) const { return (size_t)p; }
+	bool operator()(const T *a, const T *b) const { return a < b; }
+};
+
 class CCoreProject;
 class CCoreLockAttribute;
 class CCoreCollectionAttribute;

Modified: trunk/GME/Core/StdAfx.h
==============================================================================
--- trunk/GME/Core/StdAfx.h	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Core/StdAfx.h	Wed Nov 15 15:30:19 2017	(r2716)
@@ -29,6 +29,7 @@
 #include "EASTL/hash_set.h"
 #else
 #include <hash_set>
+#include <hash_map>
 #include <forward_list>
 #endif
 

Modified: trunk/GME/Meta/StdAfx.h
==============================================================================
--- trunk/GME/Meta/StdAfx.h	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Meta/StdAfx.h	Wed Nov 15 15:30:19 2017	(r2716)
@@ -32,6 +32,7 @@
 //something, but do not change the name of _Module
 extern CComModule _Module;
 #include <atlcom.h>
+#include <hash_map>
 
 
 #define ASSERT ATLASSERT

Modified: trunk/GME/MgaUtil/MetaPurgeDialog.cpp
==============================================================================
--- trunk/GME/MgaUtil/MetaPurgeDialog.cpp	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/MgaUtil/MetaPurgeDialog.cpp	Wed Nov 15 15:30:19 2017	(r2716)
@@ -2,6 +2,7 @@
 //
 
 #include "stdafx.h"
+#include <algorithm>
 #include "mgautil.h"
 #include "MetaPurgeDialog.h"
 #include "atlsafe.h"

Modified: trunk/GME/ObjectInspector/InspectorList.cpp
==============================================================================
--- trunk/GME/ObjectInspector/InspectorList.cpp	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/ObjectInspector/InspectorList.cpp	Wed Nov 15 15:30:19 2017	(r2716)
@@ -1220,7 +1220,7 @@
 
 				const wchar_t* archetype = L" (Archetype)";
 				auto value = listItem.Value.stringVal.GetAt(0);
-				if (value.GetLength() >= wcslen(archetype) && wcscmp(archetype, value.Right(wcslen(archetype))) == 0) {
+				if ((size_t)value.GetLength() >= wcslen(archetype) && wcscmp(archetype, value.Right(wcslen(archetype))) == 0) {
 					// FIXME: should disable for non-primary derived
 					menu.EnableMenuItem(ID_LISTCONTEXT_RESETTODEFAULT, MF_GRAYED);
 				}

Modified: trunk/GME/Parser/MetaParser.cpp
==============================================================================
--- trunk/GME/Parser/MetaParser.cpp	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Parser/MetaParser.cpp	Wed Nov 15 15:30:19 2017	(r2716)
@@ -213,39 +213,39 @@
 
 CMgaMetaParser::elementfunc CMgaMetaParser::elementfuncs_firstpass[] = 
 {
-	elementfunc(_T("paradigm"), StartParadigm, EndNone),
-	elementfunc(_T("comment"), StartNone, EndComment),
-	elementfunc(_T("author"), StartNone, EndAuthor),
-	elementfunc(_T("dispname"), StartNone, EndDispName),
-	elementfunc(_T("folder"), StartFolder, EndNone),
-	elementfunc(_T("atom"), StartAtom, EndNone),
-	elementfunc(_T("model"), StartModel, EndNone),
-	elementfunc(_T("connection"), StartConnection, EndNone),
-	elementfunc(_T("reference"), StartReference, EndNone),
-	elementfunc(_T("set"), StartSet, EndNone),
-	elementfunc(_T("attrdef"), StartAttrDef, EndNone),
-	elementfunc(_T("regnode"), StartRegNode, EndNone),
-	elementfunc(_T("connjoint"), StartConnJoint, EndNone),
-	elementfunc(_T("pointerspec"), StartPointerSpec, EndNone),
-	elementfunc(_T("pointeritem"), StartPointerItem, EndNone),
-	elementfunc(_T("enumitem"), StartEnumItem, EndNone),
-	elementfunc(_T("constraint"), StartConstraint, EndConstraint),
+	elementfunc(_T("paradigm"), &StartParadigm, &EndNone),
+	elementfunc(_T("comment"), &StartNone, &EndComment),
+	elementfunc(_T("author"), &StartNone, &EndAuthor),
+	elementfunc(_T("dispname"), &StartNone, &EndDispName),
+	elementfunc(_T("folder"), &StartFolder, &EndNone),
+	elementfunc(_T("atom"), &StartAtom, &EndNone),
+	elementfunc(_T("model"), &StartModel, &EndNone),
+	elementfunc(_T("connection"), &StartConnection, &EndNone),
+	elementfunc(_T("reference"), &StartReference, &EndNone),
+	elementfunc(_T("set"), &StartSet, &EndNone),
+	elementfunc(_T("attrdef"), &StartAttrDef, &EndNone),
+	elementfunc(_T("regnode"), &StartRegNode, &EndNone),
+	elementfunc(_T("connjoint"), &StartConnJoint, &EndNone),
+	elementfunc(_T("pointerspec"), &StartPointerSpec, &EndNone),
+	elementfunc(_T("pointeritem"), &StartPointerItem, &EndNone),
+	elementfunc(_T("enumitem"), &StartEnumItem, &EndNone),
+	elementfunc(_T("constraint"), &StartConstraint, &EndConstraint),
 	elementfunc(_T(""), NULL, NULL)
 };
 
 CMgaMetaParser::elementfunc CMgaMetaParser::elementfuncs_secondpass[] = 
 {
-	elementfunc(_T("folder"), StartFolder2, EndNone),
-	elementfunc(_T("model"), StartFCO2, EndNone),
-	elementfunc(_T("atom"), StartFCO2, EndNone),
-	elementfunc(_T("connection"), StartFCO2, EndNone),
-	elementfunc(_T("reference"), StartFCO2, EndNone),
-	elementfunc(_T("set"), StartFCO2, EndNone),
-	elementfunc(_T("role"), StartRole2, EndNone),
-	elementfunc(_T("aspect"), StartAspect2, EndNone),
-	elementfunc(_T("part"), StartPart2, EndNone),
-	elementfunc(_T("regnode"), StartRegNode, EndNone),
-	elementfunc(_T("dispname"), StartNone, EndDispName),
+	elementfunc(_T("folder"), &StartFolder2, &EndNone),
+	elementfunc(_T("model"), &StartFCO2, &EndNone),
+	elementfunc(_T("atom"), &StartFCO2, &EndNone),
+	elementfunc(_T("connection"), &StartFCO2, &EndNone),
+	elementfunc(_T("reference"), &StartFCO2, &EndNone),
+	elementfunc(_T("set"), &StartFCO2, &EndNone),
+	elementfunc(_T("role"), &StartRole2, &EndNone),
+	elementfunc(_T("aspect"), &StartAspect2, &EndNone),
+	elementfunc(_T("part"), &StartPart2, &EndNone),
+	elementfunc(_T("regnode"), &StartRegNode, &EndNone),
+	elementfunc(_T("dispname"), &StartNone, &EndDispName),
 	elementfunc(_T(""), NULL, NULL)
 };
 

Modified: trunk/GME/Parser/MgaParser.cpp
==============================================================================
--- trunk/GME/Parser/MgaParser.cpp	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Parser/MgaParser.cpp	Wed Nov 15 15:30:19 2017	(r2716)
@@ -751,22 +751,22 @@
 
 CMgaParser::elementfunc CMgaParser::elementfuncs_mga[] = 
 {
-	elementfunc(_T("project"), StartProject, EndNone),
-	elementfunc(_T("name"), StartNone, EndName),
-	elementfunc(_T("comment"), StartNone, EndComment),
-	elementfunc(_T("author"), StartNone, EndAuthor),
-	elementfunc(_T("value"), StartNone, EndValue),
-	elementfunc(_T("folder"), StartFolder, EndObject),
-	elementfunc(_T("model"), StartModel, EndObject),
-	elementfunc(_T("atom"), StartAtom, EndObject),
-	elementfunc(_T("regnode"), StartRegNode, EndNone),
-	elementfunc(_T("attribute"), StartAttribute, EndNone),
-	elementfunc(_T("connection"), StartConnection, EndObject),
-	elementfunc(_T("connpoint"), StartConnPoint, EndNone),
-	elementfunc(_T("constraint"), StartNone, EndConstraint),
-	elementfunc(_T("reference"), StartReference, EndObject),
-	elementfunc(_T("set"), StartSet, EndObject),
-	elementfunc(_T("clipboard"), StartClipboard, EndNone),
+	elementfunc(_T("project"), &StartProject, &EndNone),
+	elementfunc(_T("name"), &StartNone, &EndName),
+	elementfunc(_T("comment"), &StartNone, &EndComment),
+	elementfunc(_T("author"), &StartNone, &EndAuthor),
+	elementfunc(_T("value"), &StartNone, &EndValue),
+	elementfunc(_T("folder"), &StartFolder, &EndObject),
+	elementfunc(_T("model"), &StartModel, &EndObject),
+	elementfunc(_T("atom"), &StartAtom, &EndObject),
+	elementfunc(_T("regnode"), &StartRegNode, &EndNone),
+	elementfunc(_T("attribute"), &StartAttribute, &EndNone),
+	elementfunc(_T("connection"), &StartConnection, &EndObject),
+	elementfunc(_T("connpoint"), &StartConnPoint, &EndNone),
+	elementfunc(_T("constraint"), &StartNone, &EndConstraint),
+	elementfunc(_T("reference"), &StartReference, &EndObject),
+	elementfunc(_T("set"), &StartSet, &EndObject),
+	elementfunc(_T("clipboard"), &StartClipboard, &EndNone),
 	elementfunc(_T(""), NULL, NULL)
 };
 
@@ -1777,8 +1777,8 @@
 
 CMgaParser::elementfunc CMgaParser::elementfuncs_mgainfo[] = 
 {
-	elementfunc(_T("project"), StartProjectInfo, EndNone),
-	elementfunc(_T("name"), StartNone, EndNameInfo),
+	elementfunc(_T("project"), &StartProjectInfo, &EndNone),
+	elementfunc(_T("name"), &StartNone, &EndNameInfo),
 	elementfunc(_T(""), NULL, NULL)
 };
 
@@ -1836,7 +1836,7 @@
 
 CMgaParser::elementfunc CMgaParser::elementfuncs_clipmgainfo[] = 
 {
-	elementfunc(_T("clipboard"), StartClipboardInfo, EndNone),
+	elementfunc(_T("clipboard"), &StartClipboardInfo, &EndNone),
 	elementfunc(_T(""), NULL, NULL)
 };
 

Modified: trunk/GME/Parser/MgaParserBC.cpp
==============================================================================
--- trunk/GME/Parser/MgaParserBC.cpp	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Parser/MgaParserBC.cpp	Wed Nov 15 15:30:19 2017	(r2716)
@@ -160,21 +160,21 @@
 CMgaParser::elementfunc CMgaParser::elementfuncs_bcmga[] = 
 {
 	//elementfunc(_T("project"), StartProject, EndNone),
-	elementfunc(_T("name"), StartNone, EndName),
-	elementfunc(_T("comment"), StartNone, EndComment),
-	elementfunc(_T("author"), StartNone, EndAuthor),
-	elementfunc(_T("value"), StartNone, EndValue),
-	elementfunc(_T("regnode"), StartRegNode, EndNone),
-	elementfunc(_T("attribute"), StartAttribute, EndNone),
-	elementfunc(_T("constraint"), StartNone, EndConstraint),
-	elementfunc(_T("folder"), StartFolder, EndNone),
-	elementfunc(_T("model"), StartModel, EndNone),
-	elementfunc(_T("atom"), StartAtom, EndNone),
-	elementfunc(_T("connection"), StartConnection, EndNone),
-	elementfunc(_T("connpoint"), StartBCConnPoint, EndNone),	// diff
-	elementfunc(_T("reference"), StartBCReference, EndNone),	// diff
-	elementfunc(_T("set"), StartBCSet, EndNone),				// diff
-	elementfunc(_T("clipboard"), StartBCClipboard, EndNone),	// diff, common for closure clipboards
+	elementfunc(_T("name"), &StartNone, &EndName),
+	elementfunc(_T("comment"), &StartNone, &EndComment),
+	elementfunc(_T("author"), &StartNone, &EndAuthor),
+	elementfunc(_T("value"), &StartNone, &EndValue),
+	elementfunc(_T("regnode"), &StartRegNode, &EndNone),
+	elementfunc(_T("attribute"), &StartAttribute, &EndNone),
+	elementfunc(_T("constraint"), &StartNone, &EndConstraint),
+	elementfunc(_T("folder"), &StartFolder, &EndNone),
+	elementfunc(_T("model"), &StartModel, &EndNone),
+	elementfunc(_T("atom"), &StartAtom, &EndNone),
+	elementfunc(_T("connection"), &StartConnection, &EndNone),
+	elementfunc(_T("connpoint"), &StartBCConnPoint, &EndNone),	// diff
+	elementfunc(_T("reference"), &StartBCReference, &EndNone),	// diff
+	elementfunc(_T("set"), &StartBCSet, &EndNone),				// diff
+	elementfunc(_T("clipboard"), &StartBCClipboard, &EndNone),	// diff, common for closure clipboards
 	elementfunc(_T(""), NULL, NULL)
 };
 

Modified: trunk/GME/Parser/MgaParserSC.cpp
==============================================================================
--- trunk/GME/Parser/MgaParserSC.cpp	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Parser/MgaParserSC.cpp	Wed Nov 15 15:30:19 2017	(r2716)
@@ -162,22 +162,22 @@
 
 CMgaParser::elementfunc CMgaParser::elementfuncs_scmga[] = // special handlers for all elements
 {
-	//elementfunc(_T("project"),  StartProject,      EndNone),
-	elementfunc(_T("name"),       StartNone,         EndSCName),
-	//elementfunc(_T("comment"),  StartNone,         EndComment),
-	//elementfunc(_T("author"),   StartNone,         EndAuthor),
-	elementfunc(_T("value"),      StartNone,         EndSCValue),
-	elementfunc(_T("regnode"),    StartSCRegNode,    EndSCRegNode),
-	elementfunc(_T("attribute"),  StartSCAttribute,  EndNone),
-	elementfunc(_T("constraint"), StartNone,         EndSCConstraint),
-	elementfunc(_T("folder"),     StartSCFolder,     EndNone),
-	elementfunc(_T("model"),      StartSCModel,      EndNone),
-	elementfunc(_T("atom"),       StartSCAtom,       EndNone),
-	elementfunc(_T("connection"), StartSCConnection, EndSCConnection),
-	elementfunc(_T("connpoint"),  StartSCConnPoint,  EndNone),
-	elementfunc(_T("reference"),  StartSCReference,  EndNone),
-	elementfunc(_T("set"),        StartSCSet,        EndNone),
-	elementfunc(_T("clipboard"),  StartBCClipboard,  EndNone),	// common for closures
+	//elementfunc(_T("project"),  &StartProject,      &EndNone),
+	elementfunc(_T("name"),       &StartNone,         &EndSCName),
+	//elementfunc(_T("comment"),  &StartNone,         &EndComment),
+	//elementfunc(_T("author"),   &StartNone,         &EndAuthor),
+	elementfunc(_T("value"),      &StartNone,         &EndSCValue),
+	elementfunc(_T("regnode"),    &StartSCRegNode,    &EndSCRegNode),
+	elementfunc(_T("attribute"),  &StartSCAttribute,  &EndNone),
+	elementfunc(_T("constraint"), &StartNone,         &EndSCConstraint),
+	elementfunc(_T("folder"),     &StartSCFolder,     &EndNone),
+	elementfunc(_T("model"),      &StartSCModel,      &EndNone),
+	elementfunc(_T("atom"),       &StartSCAtom,       &EndNone),
+	elementfunc(_T("connection"), &StartSCConnection, &EndSCConnection),
+	elementfunc(_T("connpoint"),  &StartSCConnPoint,  &EndNone),
+	elementfunc(_T("reference"),  &StartSCReference,  &EndNone),
+	elementfunc(_T("set"),        &StartSCSet,        &EndNone),
+	elementfunc(_T("clipboard"),  &StartBCClipboard,  &EndNone),	// common for closures
 	elementfunc(_T(""), NULL, NULL)
 };
 

Modified: trunk/GME/Parser/Parser.vcxproj.filters
==============================================================================
--- trunk/GME/Parser/Parser.vcxproj.filters	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/Parser/Parser.vcxproj.filters	Wed Nov 15 15:30:19 2017	(r2716)
@@ -76,7 +76,6 @@
     </None>
     <None Include="edf.dtd" />
     <None Include="mga.dtd" />
-    <None Include="mgaclosure.dtd" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="Parser.rc">
@@ -118,4 +117,7 @@
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="mgaclosure.dtd" />
+  </ItemGroup>
 </Project>
\ No newline at end of file

Modified: trunk/GME/PartBrowser/PartBrowserPane.cpp
==============================================================================
--- trunk/GME/PartBrowser/PartBrowserPane.cpp	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/PartBrowser/PartBrowserPane.cpp	Wed Nov 15 15:30:19 2017	(r2716)
@@ -77,7 +77,7 @@
 	return false;
 }
 
-bool CPartBrowserPane::FindObject(CPoint &pt, PartWithDecorator& pdt)
+bool CPartBrowserPane::FindObject(CPoint &pt, const PartWithDecorator*& pdt)
 {
 	if (currentAspectIndex < 0 || pdts.size() <= 0)
 		return NULL;
@@ -92,7 +92,7 @@
 			COMTHROW((*ii).decorator->GetLocation(&x1, &y1, &x2, &y2));
 			CRect rc (x1, y1, x2, y2);
 			if (rc.PtInRect(pt)) {
-				pdt = (*ii);
+				pdt = &(*ii);
 
 				long sizeX = 0;
 				long sizeY = 0;
@@ -160,7 +160,7 @@
 				decorator->__SetLocation(0, 0, sx, sy);
 				tuple.decorator = decorator;
 
-				pdt.push_back(tuple);
+				pdt.emplace_back(std::move(tuple));
 			}
 		}
 		MGACOLL_ITERATE_END;
@@ -471,7 +471,7 @@
 
 	point.y += parent->GetScrollPosition ();
 
-	PartWithDecorator pdt;
+	const PartWithDecorator* pdt;
 	bool found = FindObject(point, pdt);
 
 	if (found) {
@@ -482,7 +482,7 @@
 
 		long x1 = 0; long y1 = 0;
 		long x2 = 0; long y2 = 0;
-		COMTHROW(pdt.decorator->GetLocation(&x1, &y1, &x2, &y2));
+		COMTHROW(pdt->decorator->GetLocation(&x1, &y1, &x2, &y2));
 		CRect partRect (x1, y1, x2, y2);
 		CPoint ptClickOffset(point.x - partRect.left, point.y - partRect.top);
 
@@ -495,7 +495,7 @@
 
 		CGMEDataSource dataSource(mgaProject);
 		CComPtr<IMgaMetaRole> mmRole;
-		COMTHROW(pdt.part->get_Role(&mmRole));
+		COMTHROW(pdt->part->get_Role(&mmRole));
 		dataSource.SetMetaRole(mmRole);
 		dataSource.CacheDescriptor(&desc);
 		DROPEFFECT de = dataSource.DoDragDrop(DROPEFFECT_COPY, &rectAwake);

Modified: trunk/GME/PartBrowser/PartBrowserPane.h
==============================================================================
--- trunk/GME/PartBrowser/PartBrowserPane.h	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/PartBrowser/PartBrowserPane.h	Wed Nov 15 15:30:19 2017	(r2716)
@@ -22,7 +22,9 @@
 	CString										name;	// Calculated, cached for speedup
 	CComPtr<IMgaDecorator>						decorator;
 	CComPtr<IMgaElementDecorator>				newDecorator;
-
+#if _MSC_VER >= 1900
+	PartWithDecorator& operator=(const PartWithDecorator& that) = delete;
+#endif
 	PartWithDecorator& operator=(PartWithDecorator&& that)
 	{
 		if (this != &that)
@@ -59,7 +61,7 @@
 // Operations
 	CComBSTR	GetDecoratorProgId(IMgaMetaFCO* metaFCO);
 	bool		IsPartDisplayable(CComPtr<IMgaMetaPart> metaPart);
-	bool		FindObject(CPoint &pt, PartWithDecorator& pdt);
+	bool		FindObject(CPoint &pt, const PartWithDecorator*& pdt);
 	void		CreateDecorators(CComPtr<IMgaMetaParts> metaParts);
 	void		DestroyDecorators(void);
 

Modified: trunk/GME/XmlBackEnd/StdAfx.h
==============================================================================
--- trunk/GME/XmlBackEnd/StdAfx.h	Wed Nov 15 12:22:54 2017	(r2715)
+++ trunk/GME/XmlBackEnd/StdAfx.h	Wed Nov 15 15:30:19 2017	(r2716)
@@ -29,6 +29,7 @@
 //something, but do not change the name of _Module
 extern CComModule _Module;
 #include <atlcom.h>
+#include <hash_map>
 
 #define _NOTHREADS
 


More information about the gme-commit mailing list