[GME-commit] GMESRC/GME/Gme GMEOLEIt.h, 1.5, 1.6 GMEOLEIt.cpp, 1.8, 1.9 GMEOLEApp.h, 1.9, 1.10 GMEOLEApp.cpp, 1.15, 1.16

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Wed Mar 7 17:25:58 CST 2007


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

Modified Files:
	GMEOLEIt.h GMEOLEIt.cpp GMEOLEApp.h GMEOLEApp.cpp 
Log Message:
ObjectPositioning, 
LibraryRefresh method added to automation interface.


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: GMEOLEIt.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEIt.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** GMEOLEIt.h	19 Oct 2006 16:26:03 -0000	1.5
--- GMEOLEIt.h	7 Mar 2007 23:25:56 -0000	1.6
***************
*** 62,66 ****
  	void moveAspect( int dir);
  	void moveView( int dir);
! 	void doLayout( long par);
  
  	// transaction related helper methods
--- 62,66 ----
  	void moveAspect( int dir);
  	void moveView( int dir);
! 	void setObjPos( CComPtr<IMgaFCO> pChild, LPCTSTR pAspectName, long parX, long parY);
  
  	// transaction related helper methods
***************
*** 159,163 ****
  	afx_msg void Next( );
  	afx_msg void Prev( );
! 	afx_msg void Layout( long);
  
  	DECLARE_DISPATCH_MAP()
--- 159,164 ----
  	afx_msg void Next( );
  	afx_msg void Prev( );
! 	afx_msg void Position( LPCTSTR, LPCTSTR, long, long);
! 	afx_msg void PositionFCO( LPDISPATCH, LPCTSTR, long, long);
  
  	DECLARE_DISPATCH_MAP()
***************
*** 242,246 ****
  		STDMETHOD(Next)(THIS);
  		STDMETHOD(Prev)(THIS);
! 		STDMETHOD(Layout)(THIS_ long par);
  
  	END_DUAL_INTERFACE_PART(Dual)
--- 243,248 ----
  		STDMETHOD(Next)(THIS);
  		STDMETHOD(Prev)(THIS);
! 		STDMETHOD(Position)(THIS_ BSTR child, BSTR aspect, long parX, long parY);
! 		STDMETHOD(PositionFCO)(THIS_ IMgaFCO* child, BSTR aspect, long parX, long parY);
  
  	END_DUAL_INTERFACE_PART(Dual)

Index: GMEOLEApp.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEApp.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** GMEOLEApp.h	19 Oct 2006 02:18:23 -0000	1.9
--- GMEOLEApp.h	7 Mar 2007 23:25:56 -0000	1.10
***************
*** 98,101 ****
--- 98,102 ----
  	afx_msg void SetWorkingDirectory( LPCTSTR pPath);
  	afx_msg void Exit();
+ 	afx_msg long RefreshLib( LPCTSTR pLibName, BOOL pUngroup);
  
  	DECLARE_DISPATCH_MAP()
***************
*** 153,156 ****
--- 154,158 ----
  		STDMETHOD(SetWorkingDirectory)(THIS_ BSTR pPath);
  		STDMETHOD(Exit)(THIS);
+ 		STDMETHOD(RefreshLib)(THIS_ BSTR pLibName, VARIANT_BOOL pUngroup, long* pNumOfErrors);
  
  	END_DUAL_INTERFACE_PART(Dual)

Index: GMEOLEApp.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEApp.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** GMEOLEApp.cpp	19 Oct 2006 02:18:23 -0000	1.15
--- GMEOLEApp.cpp	7 Mar 2007 23:25:56 -0000	1.16
***************
*** 35,39 ****
  	// To keep the application running as long as an OLE automation 
  	//	object is active, the constructor calls AfxOleLockApp.
! 	
  	AfxOleLockApp();
  }
--- 35,39 ----
  	// To keep the application running as long as an OLE automation 
  	//	object is active, the constructor calls AfxOleLockApp.
! 
  	AfxOleLockApp();
  }
***************
*** 43,47 ****
  	// To terminate the application when all objects created with
  	// 	with OLE automation, the destructor calls AfxOleUnlockApp.
! 	
  	AfxOleUnlockApp();
  }
--- 43,47 ----
  	// To terminate the application when all objects created with
  	// 	with OLE automation, the destructor calls AfxOleUnlockApp.
! 
  	AfxOleUnlockApp();
  }
***************
*** 122,125 ****
--- 122,126 ----
  	DISP_FUNCTION(CGMEOLEApp, "SetWorkingDirectory", SetWorkingDirectory, VT_EMPTY, VTS_BSTR)
  	DISP_FUNCTION(CGMEOLEApp, "Exit", Exit, VT_EMPTY, VTS_NONE)
+ 	DISP_FUNCTION(CGMEOLEApp, "RefreshLib", RefreshLib, VT_I4, VTS_BSTR VTS_BOOL)
  
  	//}}AFX_DISPATCH_MAP
***************
*** 729,732 ****
--- 730,738 ----
  }
  
+ long CGMEOLEApp::RefreshLib( LPCTSTR pLibName, BOOL pUngroup)
+ {
+ 	return 0;
+ }
+ 
  DELEGATE_DUAL_INTERFACE(CGMEOLEApp, Dual)
  
***************
*** 1323,1326 ****
--- 1329,1345 ----
  	{
  		pThis->Exit();
+ 		return NOERROR;
+ 	}
+ 	CATCH_ALL_DUAL
+ }
+ 
+ STDMETHODIMP CGMEOLEApp::XDual::RefreshLib( BSTR pLibName, VARIANT_BOOL pUngroup, long* pNumOfErrors)
+ {
+ 	METHOD_PROLOGUE(CGMEOLEApp, Dual)
+ 
+ 	TRY_DUAL(IID_IGMEOLEApp)
+ 	{
+ 		long res = pThis->RefreshLib( CString( pLibName), pUngroup);
+ 		*pNumOfErrors = res;
  		return NOERROR;
  	}

Index: GMEOLEIt.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEIt.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** GMEOLEIt.cpp	19 Oct 2006 16:26:03 -0000	1.8
--- GMEOLEIt.cpp	7 Mar 2007 23:25:56 -0000	1.9
***************
*** 668,672 ****
  	DISP_FUNCTION(CGMEOLEIt, "Next", Next, VT_EMPTY, VTS_NONE )
  	DISP_FUNCTION(CGMEOLEIt, "Prev", Prev, VT_EMPTY, VTS_NONE )
! 	DISP_FUNCTION(CGMEOLEIt, "Layout", Layout, VT_EMPTY, VTS_I4)
  
  	
--- 668,673 ----
  	DISP_FUNCTION(CGMEOLEIt, "Next", Next, VT_EMPTY, VTS_NONE )
  	DISP_FUNCTION(CGMEOLEIt, "Prev", Prev, VT_EMPTY, VTS_NONE )
! 	DISP_FUNCTION(CGMEOLEIt, "Position", Position, VT_EMPTY, VTS_BSTR VTS_BSTR VTS_I4 VTS_I4)
! 	DISP_FUNCTION(CGMEOLEIt, "PositionFCO", PositionFCO, VT_EMPTY, VTS_DISPATCH VTS_BSTR VTS_I4 VTS_I4)
  
  	
***************
*** 2846,2856 ****
  }
  
! void CGMEOLEIt::doLayout( long p)
  {
  }
  
! void CGMEOLEIt::Layout( long par)
  {
! 	CGMEEventLogger::LogGMEEvent("CGMEOLEIt::Layout()\r\n");
  
  	PRECONDITION_VALID_MODEL		// calls AmIValid
--- 2847,2865 ----
  }
  
! void CGMEOLEIt::setObjPos( CComPtr<IMgaFCO> pChild, LPCTSTR pAspectName, long parX, long parY)
  {
+ 	ASSERT( pChild);
+ 	if( !pChild) return;
+ 
+ 	CString path;
+ 	path.Format( "PartRegs/%s/Position", pAspectName);
+ 	CString valu;
+ 	valu.Format( "%u,%u", parX, parY);
+ 	COMTHROW( pChild->put_RegistryValue( PutInBstr(path), PutInBstr(valu)));
  }
  
! void CGMEOLEIt::Position( LPCTSTR pObjName, LPCTSTR pAspectName, long parX, long parY)
  {
! 	CGMEEventLogger::LogGMEEvent("CGMEOLEIt::Position()\r\n");
  
  	PRECONDITION_VALID_MODEL		// calls AmIValid
***************
*** 2859,2865 ****
  	ASSERT( m_theMgaModel);
  
! 	doLayout( par);
  }
  
  
  DELEGATE_DUAL_INTERFACE(CGMEOLEIt, Dual)
--- 2868,2902 ----
  	ASSERT( m_theMgaModel);
  
! 	start();
! 	try
! 	{
! 		CComQIPtr<IMgaModel> model( putInTerr( m_theMgaModel));
! 		THROW_IF_NULL( model, _T("Invalid parent model"));
! 
! 		CComPtr<IMgaFCO> child( getChildInByName( model, pObjName));
! 		THROW_IF_NULL( child, _T("Child object not found"));
! 		
! 		setObjPos( child, pAspectName, parX, parY);
! 	}
! 	CATCHALL_AND_CALL_END;
  }
  
+ void CGMEOLEIt::PositionFCO( LPDISPATCH pObjPtr, LPCTSTR pAspectName, long parX, long parY)
+ {
+ 	CGMEEventLogger::LogGMEEvent("CGMEOLEIt::PositionFCO()\r\n");
+ 
+ 	PRECONDITION_VALID_MODEL		// calls AmIValid
+ 
+ 	ASSERT( m_theView);
+ 	ASSERT( m_theMgaModel);
+ 
+ 	start();
+ 	try
+ 	{
+ 		CComQIPtr<IMgaFCO> child( putInTerr( pObjPtr));
+ 		setObjPos( child, pAspectName, parX, parY);
+ 	}
+ 	CATCHALL_AND_CALL_END;
+ }
  
  DELEGATE_DUAL_INTERFACE(CGMEOLEIt, Dual)
***************
*** 3674,3678 ****
  }
  
! STDMETHODIMP CGMEOLEIt::XDual::Layout(THIS_ long par)
  {
  	METHOD_PROLOGUE(CGMEOLEIt, Dual)
--- 3711,3715 ----
  }
  
! STDMETHODIMP CGMEOLEIt::XDual::Position(THIS_ BSTR pChildName, BSTR pAspectName, long parX, long parY)
  {
  	METHOD_PROLOGUE(CGMEOLEIt, Dual)
***************
*** 3680,3684 ****
  	TRY_DUAL(IID_IGMEOLEIt)
  	{
! 		pThis->Layout( par);
  		return NOERROR;
  	}
--- 3717,3733 ----
  	TRY_DUAL(IID_IGMEOLEIt)
  	{
! 		pThis->Position( (LPCTSTR) pChildName, (LPCTSTR) pAspectName, parX, parY);
! 		return NOERROR;
! 	}
! 	CATCH_ALL_DUAL
! }
! 
! STDMETHODIMP CGMEOLEIt::XDual::PositionFCO(THIS_ IMgaFCO* pChildPtr, BSTR pAspectName, long parX, long parY)
! {
! 	METHOD_PROLOGUE(CGMEOLEIt, Dual)
! 
! 	TRY_DUAL(IID_IGMEOLEIt)
! 	{
! 		pThis->PositionFCO( pChildPtr, (LPCTSTR) pAspectName, parX, parY);
  		return NOERROR;
  	}



More information about the GME-commit mailing list