[GME-commit] GMESRC/GME/Console Console.odl,1.2,1.3 ConsoleCtl.cpp,1.3,1.4 ConsoleCtl.h,1.3,1.4 ScriptEdit.cpp,1.1,1.2 ScriptEdit.h,1.3,1.4 ScriptHost.cpp,1.1,1.2 ScriptHost.h,1.3,1.4

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Fri Apr 15 19:24:12 CDT 2005


Update of /project/gme-repository/GMESRC/GME/Console
In directory escher:/tmp/cvs-serv19080/Console

Modified Files:
	Console.odl ConsoleCtl.cpp ConsoleCtl.h ScriptEdit.cpp 
	ScriptEdit.h ScriptHost.cpp ScriptHost.h 
Log Message:
GME:
'gme' variable comes to live when gme starts.
'it' variable is available when there is opened model

Mga:
ObjectByPath method can search based on plain name sequences


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: ScriptHost.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Console/ScriptHost.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ScriptHost.cpp	2 Dec 2004 23:00:43 -0000	1.1
--- ScriptHost.cpp	15 Apr 2005 18:24:10 -0000	1.2
***************
*** 33,38 ****
  			_bstr_t project("project");
  			_bstr_t gme("gme");
  			COMTHROW(m_iscript->AddNamedItem(gme, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
! 			COMTHROW(m_iscript->AddNamedItem(project, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
  		}
  		COMTHROW(m_iscript->SetScriptState(SCRIPTSTATE_CONNECTED));
--- 33,40 ----
  			_bstr_t project("project");
  			_bstr_t gme("gme");
+ 			_bstr_t this_model("it");
  			COMTHROW(m_iscript->AddNamedItem(gme, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
! 			if( m_mgaproj != NULL) COMTHROW(m_iscript->AddNamedItem(project, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
! 			if( m_actMod  != NULL) COMTHROW(m_iscript->AddNamedItem(this_model, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
  		}
  		COMTHROW(m_iscript->SetScriptState(SCRIPTSTATE_CONNECTED));
***************
*** 82,86 ****
  	if (dwReturnMask&SCRIPTINFO_IUNKNOWN)
  	{
! 		if ((_bstr_t)pstrName == _bstr_t("gme"))
  		{
  			CComPtr<IUnknown> punk(m_gmeptr);
--- 84,88 ----
  	if (dwReturnMask&SCRIPTINFO_IUNKNOWN)
  	{
! 		if (m_gmeptr && (_bstr_t)pstrName == _bstr_t("gme"))
  		{
  			CComPtr<IUnknown> punk(m_gmeptr);
***************
*** 88,92 ****
  			*ppiunkItem = punk;
  		}
! 		else if ((_bstr_t)pstrName == _bstr_t("project"))
  		{
  			CComPtr<IUnknown> punk(m_mgaproj);
--- 90,94 ----
  			*ppiunkItem = punk;
  		}
! 		else if (m_mgaproj && (_bstr_t)pstrName == _bstr_t("project"))
  		{
  			CComPtr<IUnknown> punk(m_mgaproj);
***************
*** 94,97 ****
--- 96,105 ----
  			*ppiunkItem = punk;
  		}
+ 		else if (m_actMod && (_bstr_t)pstrName == _bstr_t("it"))
+ 		{
+ 			CComPtr<IUnknown> punk(m_actMod);
+ 			((IUnknown*)punk)->AddRef(); 
+ 			*ppiunkItem = punk;
+ 		}
  	}
  	if (dwReturnMask&SCRIPTINFO_ITYPEINFO)
***************
*** 136,141 ****
  		// write to console 
  		CString desc = expinfo.bstrDescription;
! 		char err[500];
! 		sprintf(err, "Scripting Error: %s, Position: %d", desc, ch);
  		m_console->Message((LPCTSTR)err, MSG_ERROR);
  	}
--- 144,155 ----
  		// write to console 
  		CString desc = expinfo.bstrDescription;
! 		// make the error description html readable
! 		desc.Replace( "<", "&lt;");		// replacing <
! 		desc.Replace( ">", "&gt;");		// >
! 		desc.Replace("\r\n", "<br>");	// 0d0a newlines
! 		desc.Replace("\n", "<br>");		// 0a newlines
! 
! 		char err[5000];
! 		sprintf(err, "Scripting Error at Position: %d Line: %u<br>%s", ch, line, desc);
  		m_console->Message((LPCTSTR)err, MSG_ERROR);
  	}
***************
*** 158,162 ****
  }
  
! STDMETHODIMP CScriptHost::SetGME(IDispatch *gmeapp)
  {
  
--- 172,176 ----
  }
  
! STDMETHODIMP CScriptHost::SetGMEApp(IDispatch *gmeapp)
  {
  
***************
*** 166,172 ****
  	{
  		m_gmeptr.Release();
- 		m_mgaproj.Release();
  		if (gmeapp == NULL)
  		{
  			// delete names 
  			if (m_iscript != NULL)
--- 180,189 ----
  	{
  		m_gmeptr.Release();
  		if (gmeapp == NULL)
  		{
+ 			// release other pointers
+ 			m_mgaproj.Release();
+ 			m_actMod.Release();
+ 
  			// delete names 
  			if (m_iscript != NULL)
***************
*** 187,196 ****
  		COMTHROW(gip.QueryInterface(&m_gmeptr));
  
  		COMTHROW(m_gmeptr->get_MgaProject(&m_mgaproj));
  
  		_bstr_t project("project");
! 		_bstr_t gme("gme");
! 		COMTHROW(m_iscript->AddNamedItem(gme, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
  		COMTHROW(m_iscript->AddNamedItem(project, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
  		COMTHROW(m_iscript->SetScriptState(SCRIPTSTATE_CONNECTED));
  	}
--- 204,241 ----
  		COMTHROW(gip.QueryInterface(&m_gmeptr));
  
+ 		_bstr_t gme("gme");
+ 		COMTHROW(m_iscript->AddNamedItem(gme, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
+ 		COMTHROW(m_iscript->SetScriptState(SCRIPTSTATE_CONNECTED));
+ 	}
+ 	catch(hresult_exception &e) 
+ 	{ 
+ 		return e.hr;
+ 	}
+ 	return S_OK;
+ }
+ 
+ STDMETHODIMP CScriptHost::SetGMEProj(IDispatch *gmeapp)
+ {
+ 
+ 	if (m_gmeptr == NULL  &&  gmeapp == NULL)
+ 		return S_OK;
+ 	try
+ 	{
+ 		m_mgaproj.Release();
+ 		m_actMod.Release();
+ 
+ 		if (gmeapp == NULL) // means close project
+ 		{
+ 			return S_OK;
+ 		}
+ 
  		COMTHROW(m_gmeptr->get_MgaProject(&m_mgaproj));
  
+ 		COMTHROW( m_gmeptr->get_OleIt( &m_actMod ));
+ 
  		_bstr_t project("project");
! 		_bstr_t this_model("it");
  		COMTHROW(m_iscript->AddNamedItem(project, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
+ 		COMTHROW(m_iscript->AddNamedItem(this_model, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
  		COMTHROW(m_iscript->SetScriptState(SCRIPTSTATE_CONNECTED));
  	}
***************
*** 199,202 ****
--- 244,248 ----
  		return e.hr;
  	}
+ 
  	return S_OK;
  }

Index: ScriptEdit.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Console/ScriptEdit.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ScriptEdit.h	26 Jan 2005 21:34:37 -0000	1.3
--- ScriptEdit.h	15 Apr 2005 18:24:10 -0000	1.4
***************
*** 26,29 ****
--- 26,30 ----
  	bool Init(CConsoleCtrl *console);
  	void SetGMEApp(IDispatch *disp);
+ 	void SetGMEProj(IDispatch *dsp);
  
  protected:

Index: Console.odl
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Console/Console.odl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Console.odl	2 Dec 2004 22:00:03 -0000	1.2
--- Console.odl	15 Apr 2005 18:24:10 -0000	1.3
***************
*** 44,47 ****
--- 44,48 ----
  
  			[id(5)] void SetGMEApp(IDispatch *disp);
+ 			[id(6)] void SetGMEProj(IDispatch *disp);
  			[id(DISPID_ABOUTBOX)] void AboutBox();
  	};
***************
*** 74,78 ****
  		[id(1), helpstring("method InitEngine")] HRESULT InitEngine([in] void* m_console, [in] BSTR engineProgid);
  		[id(2), helpstring("method ProcessString")] HRESULT ProcessString([in] BSTR input);
! 		[id(3), helpstring("method SetGME")] HRESULT SetGME([in] IDispatch* gmeapp);
  	};
  
--- 75,80 ----
  		[id(1), helpstring("method InitEngine")] HRESULT InitEngine([in] void* m_console, [in] BSTR engineProgid);
  		[id(2), helpstring("method ProcessString")] HRESULT ProcessString([in] BSTR input);
! 		[id(3), helpstring("method SetGMEApp")] HRESULT SetGMEApp([in] IDispatch* gmeapp);
! 		[id(4), helpstring("method SetGMEProj")] HRESULT SetGMEProj([in] IDispatch* gmeproj);
  	};
  

Index: ConsoleCtl.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Console/ConsoleCtl.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ConsoleCtl.h	26 Jan 2005 17:28:22 -0000	1.3
--- ConsoleCtl.h	15 Apr 2005 18:24:10 -0000	1.4
***************
*** 59,62 ****
--- 59,63 ----
  
  	afx_msg void SetGMEApp(IDispatch *disp);
+ 	afx_msg void SetGMEProj(IDispatch *disp);
  	afx_msg void AboutBox();
  

Index: ConsoleCtl.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Console/ConsoleCtl.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ConsoleCtl.cpp	26 Jan 2005 17:28:22 -0000	1.3
--- ConsoleCtl.cpp	15 Apr 2005 18:24:10 -0000	1.4
***************
*** 44,47 ****
--- 44,48 ----
  	//}}AFX_DISPATCH_MAP
  	DISP_FUNCTION(CConsoleCtrl, "SetGMEApp", SetGMEApp, VT_EMPTY, VTS_DISPATCH)
+ 	DISP_FUNCTION(CConsoleCtrl, "SetGMEProj", SetGMEProj, VT_EMPTY, VTS_DISPATCH)
  	DISP_FUNCTION_ID(CConsoleCtrl, "AboutBox", DISPID_ABOUTBOX, AboutBox, VT_EMPTY, VTS_NONE)
  END_DISPATCH_MAP()
***************
*** 234,237 ****
--- 235,243 ----
  {
  	m_edit.SetGMEApp(disp);
+ }
+ 
+ void CConsoleCtrl::SetGMEProj(IDispatch *disp)
+ {
+ 	m_edit.SetGMEProj(disp);
  }
  

Index: ScriptEdit.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Console/ScriptEdit.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ScriptEdit.cpp	2 Dec 2004 23:00:43 -0000	1.1
--- ScriptEdit.cpp	15 Apr 2005 18:24:10 -0000	1.2
***************
*** 126,131 ****
  		catch(hresult_exception &e) 
  		{ 
! 			char s[200];
! 			sprintf(s, "Scripting Error: %d", e.hr);
  			m_console->Message((LPCTSTR)s, MSG_ERROR);
  		}
--- 126,131 ----
  		catch(hresult_exception &e) 
  		{ 
! 			char s[1000];
! 			sprintf(s, "Scripting Error: 0x%x", e.hr);
  			m_console->Message((LPCTSTR)s, MSG_ERROR);
  		}
***************
*** 137,148 ****
  	try
  	{
! 		COMTHROW(m_host->SetGME(disp));
  	}
  	catch(hresult_exception &e) 
  	{ 
! 		char s[200];
! 		sprintf(s, "Scripting Error: %d", e.hr);
  		m_console->Message((LPCTSTR)s, MSG_ERROR);
  	}
  }
  
--- 137,161 ----
  	try
  	{
! 		COMTHROW(m_host->SetGMEApp(disp));
  	}
  	catch(hresult_exception &e) 
  	{ 
! 		char s[1000];
! 		sprintf(s, "Scripting Error: 0x%x", e.hr);
  		m_console->Message((LPCTSTR)s, MSG_ERROR);
  	}
  }
  
+ void CScriptEdit::SetGMEProj(IDispatch *disp)
+ {
+ 	try
+ 	{
+ 		COMTHROW(m_host->SetGMEProj(disp));
+ 	}
+ 	catch(hresult_exception &e) 
+ 	{ 
+ 		char s[1000];
+ 		sprintf(s, "Scripting Error: 0x%x", e.hr);
+ 		m_console->Message((LPCTSTR)s, MSG_ERROR);
+ 	}
+ }

Index: ScriptHost.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Console/ScriptHost.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ScriptHost.h	26 Jan 2005 21:34:37 -0000	1.3
--- ScriptHost.h	15 Apr 2005 18:24:10 -0000	1.4
***************
*** 25,28 ****
--- 25,32 ----
  public:
  	CScriptHost()
+ 		: m_console(0)
+ 		, m_iscript(0)
+ 		, m_iscriptParse(0)
+ 		, m_enginePID("")
  	{
  	}
***************
*** 45,49 ****
  // IActiveScriptSite
   public:
! 	 STDMETHOD(SetGME)(/*[in]*/ IDispatch* gmeapp);
  	STDMETHOD(GetLCID)(/*[out]*/ LCID *plcid);
  	STDMETHOD(GetItemInfo)(
--- 49,54 ----
  // IActiveScriptSite
   public:
! 	STDMETHOD(SetGMEApp)(/*[in]*/ IDispatch* gmeapp);
! 	STDMETHOD(SetGMEProj)(/*[in]*/ IDispatch* gmeproj);
  	STDMETHOD(GetLCID)(/*[out]*/ LCID *plcid);
  	STDMETHOD(GetItemInfo)(
***************
*** 69,74 ****
  	_bstr_t m_enginePID;
  
! 	CComPtr<IGMEOLEApp> m_gmeptr;
  	CComPtr<IMgaProject> m_mgaproj;
  };
  
--- 74,81 ----
  	_bstr_t m_enginePID;
  
! 	CComPtr<IGMEOLEApp>  m_gmeptr;
  	CComPtr<IMgaProject> m_mgaproj;
+ 	CComPtr<IGMEOLEIt>   m_actMod;
+ 
  };
  



More information about the GME-commit mailing list