[GME-commit] GMESRC/GME/Gme GMEOLEIt.cpp,1.3,1.4 GMEOLEModel.cpp,1.8,1.9

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Wed Oct 12 21:57:32 CDT 2005


Update of /project/gme-repository/GMESRC/GME/Gme
In directory escher:/tmp/cvs-serv27743

Modified Files:
	GMEOLEIt.cpp GMEOLEModel.cpp 
Log Message:
Bugfix: GrayOutFCO handles a collection from now on, as it should have done in the past.



CVS User: Zoltan Molnar, ISIS (zolmol)

Index: GMEOLEModel.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEModel.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** GMEOLEModel.cpp	26 Jan 2005 17:28:27 -0000	1.8
--- GMEOLEModel.cpp	12 Oct 2005 20:57:30 -0000	1.9
***************
*** 267,271 ****
  }
  
! void CGMEOLEModel::GrayOutFCO(BOOL bGray, BOOL bNeighbours, LPDISPATCH mgaFCO) 
  {
  	CGMEEventLogger::LogGMEEvent("CGMEOLEModel::GrayOutFCO()\r\n");
--- 267,271 ----
  }
  
! void CGMEOLEModel::GrayOutFCO(BOOL bGray, BOOL bNeighbours, LPDISPATCH mgaFCOs) 
  {
  	CGMEEventLogger::LogGMEEvent("CGMEOLEModel::GrayOutFCO()\r\n");
***************
*** 276,305 ****
  		CGMEDoc::theInstance->SetMode(5);
  
! 	CComPtr<IDispatch> alienFCO(mgaFCO);
! 	CComPtr<IMgaFCO> mFCO;
! 	if (!SUCCEEDED(alienFCO.QueryInterface(&mFCO))) {
  		return;
  	}
  
! 	// mgaFCO is comming from an unknown territory, do not use it as-is. (except for this search)
! 	CGuiObject *gObj = CGuiObject::FindObject(mFCO, m_view->children);
! 	CGuiConnection *gConn = CGuiConnection::FindConnection(mFCO, m_view->connections);
  
! 	if (gObj) {
! 		gObj->GrayOut(bGray == TRUE);
! 		if (bNeighbours == TRUE) {
! 			gObj->GrayOutNeighbors();
! 		}
! 		CGuiFco::GrayOutNonInternalConnections(m_view->connections);
! 	}
! 	else if (gConn) {
! 		gConn->GrayOut(bGray == TRUE);
! 		gConn->GrayOutEndPoints();
! 		if (bNeighbours == TRUE) {
  			CGuiFco::GrayOutNonInternalConnections(m_view->connections);
  		}
  	}
- 	m_view->Invalidate();
  
  }
  
--- 276,314 ----
  		CGMEDoc::theInstance->SetMode(5);
  
! 	CComPtr<IDispatch> alienFCOs(mgaFCOs);
! 	CComPtr<IMgaFCOs> mFCOColl;
! 	if (!SUCCEEDED(alienFCOs.QueryInterface(&mFCOColl))) {
  		return;
  	}
  
! 	long l = 0;
! 	COMTHROW( mFCOColl->get_Count( &l ));
! 	
! 	for( long i = 1; i <= l; ++i)
! 	{
! 		CComPtr<IMgaFCO> item;
! 		COMTHROW( mFCOColl->get_Item( i, &item));
  
! 		// collection is coming from an unknown territory, do not use it as-is. (except for this search)
! 		CGuiObject *gObj = CGuiObject::FindObject(item, m_view->children);
! 		CGuiConnection *gConn = CGuiConnection::FindConnection(item, m_view->connections);
! 
! 		if (gObj) {
! 			gObj->GrayOut(bGray == TRUE);
! 			if (bNeighbours == TRUE) {
! 				gObj->GrayOutNeighbors();
! 			}
  			CGuiFco::GrayOutNonInternalConnections(m_view->connections);
  		}
+ 		else if (gConn) {
+ 			gConn->GrayOut(bGray == TRUE);
+ 			gConn->GrayOutEndPoints();
+ 			if (bNeighbours == TRUE) {
+ 				CGuiFco::GrayOutNonInternalConnections(m_view->connections);
+ 			}
+ 		}
  	}
  
+ 	m_view->Invalidate();
  }
  

Index: GMEOLEIt.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEIt.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** GMEOLEIt.cpp	15 Jun 2005 22:25:41 -0000	1.3
--- GMEOLEIt.cpp	12 Oct 2005 20:57:30 -0000	1.4
***************
*** 791,795 ****
  }
  
! void CGMEOLEIt::GrayOutFCO(BOOL bGray, BOOL bNeighbours, LPDISPATCH mgaFCO) 
  {
  	CGMEEventLogger::LogGMEEvent("CGMEOLEIt::GrayOutFCO()\r\n");
--- 791,795 ----
  }
  
! void CGMEOLEIt::GrayOutFCO(BOOL bGray, BOOL bNeighbours, LPDISPATCH mgaFCOs) 
  {
  	CGMEEventLogger::LogGMEEvent("CGMEOLEIt::GrayOutFCO()\r\n");
***************
*** 800,829 ****
  		CGMEDoc::theInstance->SetMode(5);
  
! 	CComPtr<IDispatch> alienFCO(mgaFCO);
! 	CComPtr<IMgaFCO> mFCO;
! 	if (!SUCCEEDED(alienFCO.QueryInterface(&mFCO))) {
  		return;
  	}
  
! 	// mgaFCO is comming from an unknown territory, do not use it as-is. (except for this search)
! 	CGuiObject *gObj = CGuiObject::FindObject(mFCO, m_theView->children);
! 	CGuiConnection *gConn = CGuiConnection::FindConnection(mFCO, m_theView->connections);
  
! 	if (gObj) {
! 		gObj->GrayOut(bGray == TRUE);
! 		if (bNeighbours == TRUE) {
! 			gObj->GrayOutNeighbors();
! 		}
! 		CGuiFco::GrayOutNonInternalConnections(m_theView->connections);
! 	}
! 	else if (gConn) {
! 		gConn->GrayOut(bGray == TRUE);
! 		gConn->GrayOutEndPoints();
! 		if (bNeighbours == TRUE) {
  			CGuiFco::GrayOutNonInternalConnections(m_theView->connections);
  		}
  	}
- 	m_theView->Invalidate();
  
  }
  
--- 800,838 ----
  		CGMEDoc::theInstance->SetMode(5);
  
! 	CComPtr<IDispatch> alienFCOs(mgaFCOs);
! 	CComPtr<IMgaFCOs> mFCOColl;
! 	if (!SUCCEEDED(alienFCOs.QueryInterface(&mFCOColl))) {
  		return;
  	}
  
! 	long l = 0;
! 	COMTHROW( mFCOColl->get_Count( &l ));
! 	
! 	for( long i = 1; i <= l; ++i)
! 	{
! 		CComPtr<IMgaFCO> item;
! 		COMTHROW( mFCOColl->get_Item( i, &item));
  
! 		// collection is coming from an unknown territory, do not use it as-is. (except for this search)
! 		CGuiObject *gObj = CGuiObject::FindObject(item, m_theView->children);
! 		CGuiConnection *gConn = CGuiConnection::FindConnection(item, m_theView->connections);
! 
! 		if (gObj) {
! 			gObj->GrayOut(bGray == TRUE);
! 			if (bNeighbours == TRUE) {
! 				gObj->GrayOutNeighbors();
! 			}
  			CGuiFco::GrayOutNonInternalConnections(m_theView->connections);
  		}
+ 		else if (gConn) {
+ 			gConn->GrayOut(bGray == TRUE);
+ 			gConn->GrayOutEndPoints();
+ 			if (bNeighbours == TRUE) {
+ 				CGuiFco::GrayOutNonInternalConnections(m_theView->connections);
+ 			}
+ 		}
  	}
  
+ 	m_theView->Invalidate();
  }
  



More information about the GME-commit mailing list