[commit] r1225 - trunk/GME/Console

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Wed Mar 30 14:04:46 CDT 2011


Author: ksmyth
Date: Wed Mar 30 14:04:45 2011
New Revision: 1225

Log:
Compile under UNICODE

Modified:
   trunk/GME/Console/Console.vcxproj
   trunk/GME/Console/ConsoleCtl.cpp
   trunk/GME/Console/HtmlCtrl.cpp
   trunk/GME/Console/ScriptEdit.cpp
   trunk/GME/Console/ScriptEdit.h
   trunk/GME/Console/ScriptHost.cpp

Modified: trunk/GME/Console/Console.vcxproj
==============================================================================
--- trunk/GME/Console/Console.vcxproj	Wed Mar 30 14:02:05 2011	(r1224)
+++ trunk/GME/Console/Console.vcxproj	Wed Mar 30 14:04:45 2011	(r1225)
@@ -23,13 +23,13 @@
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>Dynamic</UseOfMfc>
     <UseOfAtl>Dynamic</UseOfAtl>
-    <CharacterSet>MultiByte</CharacterSet>
+    <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>Dynamic</UseOfMfc>
     <UseOfAtl>Dynamic</UseOfAtl>
-    <CharacterSet>MultiByte</CharacterSet>
+    <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">

Modified: trunk/GME/Console/ConsoleCtl.cpp
==============================================================================
--- trunk/GME/Console/ConsoleCtl.cpp	Wed Mar 30 14:02:05 2011	(r1224)
+++ trunk/GME/Console/ConsoleCtl.cpp	Wed Mar 30 14:04:45 2011	(r1225)
@@ -10,6 +10,7 @@
 #include <mshtml.h>         //IWeb objects
 #include <limits.h>
 #include <afx.h>
+#include "Strsafe.h"
 
 #define BUTTON_ICON_SIZE		16
 
@@ -149,11 +150,11 @@
 // CConsoleCtrl::CConsoleCtrl - Constructor
 
 CConsoleCtrl::CConsoleCtrl()
-: m_recent1("")
-, m_recent2("")
-, m_recent3("")
-, m_recent4("")
-, m_recent5("")
+: m_recent1(_T(""))
+, m_recent2(_T(""))
+, m_recent3(_T(""))
+, m_recent4(_T(""))
+, m_recent5(_T(""))
 , m_hIco1(NULL)
 , m_hIco2(NULL)
 , m_hIco3(NULL)
@@ -342,7 +343,7 @@
 		CRect edge(rcBounds);
 		pdc->DrawEdge(&edge, EDGE_BUMP, BF_RECT);
 		
-		CString label("GME Console OCX");
+		CString label(_T("GME Console OCX"));
 
 		BITMAP bm;
 		CBitmap bitmap;
@@ -434,7 +435,7 @@
 		rect, 
 		this, 
 		IDD_BROWSER);
-	m_browser.LoadFromResource("BLANK.HTML");
+	m_browser.LoadFromResource(_T("BLANK.HTML"));
 
 	m_edit.Create((ES_AUTOHSCROLL | WS_VISIBLE | WS_CHILD), rect, this, IDD_EDIT);
 	m_edit.LimitText(300);
@@ -502,7 +503,7 @@
     {
 		CString line;
 		
-		line.Format("<IMG SRC=\"%s\" ALIGN=MIDDLE > %s<BR>", icons[type], str);
+		line.Format(_T("<IMG SRC=\"%s\" ALIGN=MIDDLE > %s<BR>"), icons[type], str);
 
 		VARIANT_BOOL time_stamping = VARIANT_FALSE; // default
 		try {
@@ -526,7 +527,7 @@
 			CComPtr<IHTMLElement> pElement;
 			COMTHROW(pHtmlDoc->get_body( &pElement ));
 			ASSERT(pElement != NULL);
-			CComBSTR where("BeforeEnd");
+			CComBSTR where(L"BeforeEnd");
 			CComBSTR text(line);
 			COMTHROW(pElement->insertAdjacentHTML(where, text));
 
@@ -548,7 +549,7 @@
 void CConsoleCtrl::Clear() 
 {
 	AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
-	m_browser.LoadFromResource("BLANK.HTML");
+	m_browser.LoadFromResource(_T("BLANK.HTML"));
 }
 
 BSTR CConsoleCtrl::GetContents() 
@@ -627,12 +628,12 @@
 	CMenu p;
 	if( p.CreatePopupMenu())
 	{
-		p.AppendMenu( MF_STRING, IDC_LOADSCRIPT_COMMAND,   "Load Script");
+		p.AppendMenu( MF_STRING, IDC_LOADSCRIPT_COMMAND,   _T("Load Script"));
 		if( !m_edit.GetLoadedScriptFileName().IsEmpty())
-			p.AppendMenu( MF_STRING,IDC_RELOAD_COMMAND, "Reload Current"); // or IDC_RELOADRUN_COMMAND
+			p.AppendMenu( MF_STRING,IDC_RELOAD_COMMAND, _T("Reload Current")); // or IDC_RELOADRUN_COMMAND
 		if( !m_recent1.IsEmpty()) // m_recent1 can tell us if there is anything in the recent list
-			p.AppendMenu( MF_POPUP, (UINT_PTR) r.GetSafeHmenu(), "Recent Scripts");
-		p.AppendMenu( MF_STRING, IDC_SELECTENGINE_COMMAND,   "Settings");
+			p.AppendMenu( MF_POPUP, (UINT_PTR) r.GetSafeHmenu(), _T("Recent Scripts"));
+		p.AppendMenu( MF_STRING, IDC_SELECTENGINE_COMMAND,   _T("Settings"));
 		
 		CRect rc;
 		m_cmdButton.GetWindowRect( &rc);
@@ -645,22 +646,22 @@
 {
 	if( !m_edit.GetLoadedScript().IsEmpty())
 	{
-		Message( CString( "Executing script: ") + m_edit.GetLoadedScriptFileName(), MSG_INFO);
+		Message( CString( _T("Executing script: ")) + m_edit.GetLoadedScriptFileName(), MSG_INFO);
 		m_edit.ExecuteScript( m_edit.GetLoadedScript());
 	}
 	else
-		Message( "Script not found!", MSG_INFO);
+		Message( _T("Script not found!"), MSG_INFO);
 }
 
 void CConsoleCtrl::LoadScript( const CString& p_fileName)
 {
-	m_edit.SetLoadedScript(""); // erase old loaded script contents
+	m_edit.SetLoadedScript(_T("")); // erase old loaded script contents
 
 	CStdioFile _file;
 
 	// open file
 	if( _file.Open( p_fileName, CFile::modeRead | CFile::typeText) == 0) {
-		Message( "Unable to open file.", MSG_ERROR);
+		Message( _T("Unable to open file."), MSG_ERROR);
 		return;
 	}
 
@@ -675,27 +676,27 @@
 	m_edit.SetLoadedScript( script_buf);
 	m_edit.SetScriptFileName( p_fileName);
 
-	Message( CString( "Loaded script: ") + p_fileName, MSG_INFO);
+	Message( CString( _T("Loaded script: ")) + p_fileName, MSG_INFO);
 	Invalidate();
 }
 
 void CConsoleCtrl::LoadScriptDlg()
 {
-	CFileDialog dlg(TRUE, "py", 0,
+	CFileDialog dlg(TRUE, _T("py"), 0,
 		OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
-		"Script Files (*.js;*.py;*.vbs)|*.js;*.vbs;*.py|"
-		"Python Script Files (*.py)|*.py|"
-		"JScript Files (*.js)|*.js|"
-		"VBScript Files (*.vbs)|*.vbs|"
-		"Text Files (*.txt)|*.txt|"
-		"HTML Files (*.html;*.htm)|*.html;*.htm|"
-		"All Files (*.*)|*.*||");
+		_T("Script Files (*.js;*.py;*.vbs)|*.js;*.vbs;*.py|")
+		_T("Python Script Files (*.py)|*.py|")
+		_T("JScript Files (*.js)|*.js|")
+		_T("VBScript Files (*.vbs)|*.vbs|")
+		_T("Text Files (*.txt)|*.txt|")
+		_T("HTML Files (*.html;*.htm)|*.html;*.htm|")
+		_T("All Files (*.*)|*.*||"));
 
 	if( dlg.DoModal() == IDOK) 
 	{
 		CString fpath = dlg.GetPathName();
 		CString ext = dlg.GetFileExt().MakeLower();
-		if (ext == "html" || ext == "htm") {
+		if (ext == _T("html") || ext == _T("htm")) {
 			m_browser.Navigate2(fpath);
 			return;
 		}
@@ -757,7 +758,7 @@
 		COMTHROW( launcher->GmeDlg());
 	}
 	catch(...) {
-		Message( "Error while trying to show GME settings dialog", MSG_ERROR);
+		Message( _T("Error while trying to show GME settings dialog"), MSG_ERROR);
 	}
 }
 
@@ -808,20 +809,22 @@
 		//tip.Format("Control ID = %d", nID);
 		switch( nID)
 		{
-			      case IDC_RETURN_COMMAND:       tip = "Executes the command typed into the edit field";
-			break;case IDC_RUNSCRIPT_COMMAND:    tip = "Executes " + m_edit.GetLoadedScriptFileName();
-			break;case IDC_MENU_COMMAND:         tip = "Load scripts and access recent scripts";
-			break;case IDC_CLEARCONSOLE_COMMAND: tip = "Clear the console";
-			break;case IDC_PREV_COMMAND:         tip = "Previous command in history";
-			break;case IDC_NEXT_COMMAND:         tip = "Next command in history";
-			break;case IDD_EDIT:                 tip = "Enter a command here";
+			      case IDC_RETURN_COMMAND:       tip = _T("Executes the command typed into the edit field");
+			break;case IDC_RUNSCRIPT_COMMAND:    tip = _T("Executes ") + m_edit.GetLoadedScriptFileName();
+			break;case IDC_MENU_COMMAND:         tip = _T("Load scripts and access recent scripts");
+			break;case IDC_CLEARCONSOLE_COMMAND: tip = _T("Clear the console");
+			break;case IDC_PREV_COMMAND:         tip = _T("Previous command in history");
+			break;case IDC_NEXT_COMMAND:         tip = _T("Next command in history");
+			break;case IDD_EDIT:                 tip = _T("Enter a command here");
 		}
 	}
 
+	CStringA aTip(tip);
+	CStringW wTip(tip);
 	if( pNMHDR->code == TTN_NEEDTEXTA)
-		lstrcpyn(pTTTA->szText, tip, sizeof(pTTTA->szText));
+		StringCchCopyA((char*)pTTTA->szText, sizeof(pTTTA->szText) / sizeof(char) - 1, aTip);
 	else
-		::MultiByteToWideChar( CP_ACP , 0, tip, -1, pTTTW->szText, sizeof(pTTTW->szText));
+		StringCchCopyW((wchar_t*)pTTTW->szText, sizeof(pTTTW->szText) / sizeof(wchar_t) - 1, wTip);
 
 	*pResult = 0;
 	return TRUE;    // message was handled

Modified: trunk/GME/Console/HtmlCtrl.cpp
==============================================================================
--- trunk/GME/Console/HtmlCtrl.cpp	Wed Mar 30 14:02:05 2011	(r1224)
+++ trunk/GME/Console/HtmlCtrl.cpp	Wed Mar 30 14:04:45 2011	(r1225)
@@ -129,7 +129,7 @@
 	LPCTSTR lpszHeaders,
 	BOOL* pbCancel )
 {
-	const char MGA_PROTOCOL[] = "mga:";
+	const TCHAR MGA_PROTOCOL[] = _T("mga:");
 	int len = _tcslen(MGA_PROTOCOL);
 	if (_tcsnicmp(lpszURL, MGA_PROTOCOL, len)==0) {
 		OnMgaURL(lpszURL + len);

Modified: trunk/GME/Console/ScriptEdit.cpp
==============================================================================
--- trunk/GME/Console/ScriptEdit.cpp	Wed Mar 30 14:02:05 2011	(r1224)
+++ trunk/GME/Console/ScriptEdit.cpp	Wed Mar 30 14:04:45 2011	(r1225)
@@ -18,7 +18,7 @@
 	//}}AFX_MSG_MAP
 END_MESSAGE_MAP()
 
-/*static*/ const char* CScriptEdit::defPrompt = ">";
+/*static*/ const TCHAR* CScriptEdit::defPrompt = _T(">");
 CScriptEdit::CScriptEdit()
 {
 
@@ -35,16 +35,16 @@
 	{
 		m_console = cons;
 		COMTHROW(m_host.CreateInstance(CLSID_ScriptHost));
-		_bstr_t engine("JScript");
+		_bstr_t engine(L"JScript");
 		COMTHROW(m_host->InitEngine((void*)m_console, engine));
 		this->LimitText( 256);     // modify in accordance with GetLine( ..., 256) in OnKeyUp()
 		this->SetWindowText( defPrompt); // to attract user attention
 	}
 	catch(hresult_exception &e) 
 	{ 
-		char s[200];
-		sprintf(s, "Scripting Initialization Error: %ld", e.hr);
-		m_console->Message((LPCTSTR)s, MSG_ERROR);
+		TCHAR s[200];
+		_stprintf_s(s, _T("Scripting Initialization Error: %ld"), e.hr);
+		m_console->Message(s, MSG_ERROR);
 		return false;
 	}
 
@@ -74,7 +74,7 @@
 	{
 		lastup = -1;
 		SetSel(0, -1);
-		ReplaceSel("");
+		ReplaceSel(_T(""));
 	}
 	else if (nChar == VK_UP)
 	{
@@ -136,15 +136,15 @@
 		}
 
 		
-		static const char *cls_c = "!cls";
-		static const char *run_c = "!run";
-		static const char *lod_c = "!load ";
-		static const char *rel_c = "!rel"; // reload
-		static const char *rlr_c = "!rlr"; // reload & run
+		static const TCHAR *cls_c = _T("!cls");
+		static const TCHAR *run_c = _T("!run");
+		static const TCHAR *lod_c = _T("!load ");
+		static const TCHAR *rel_c = _T("!rel"); // reload
+		static const TCHAR *rlr_c = _T("!rlr"); // reload & run
 		bool             handled = false;
 
 		if(      inp == run_c) handled = true, m_console->RunScript();
-		else if( inp == lod_c) handled = true, m_console->LoadScript( inp.Mid( strlen( lod_c)));
+		else if( inp == lod_c) handled = true, m_console->LoadScript( inp.Mid( _tcslen( lod_c)));
 		else if( inp == rel_c) handled = true, m_console->LoadScript( m_loadedFileName);
 		else if( inp == rlr_c) handled = true, m_console->LoadScript( m_loadedFileName), m_console->RunScript();
 		else if( inp == cls_c) handled = true, m_console->Clear();
@@ -167,8 +167,8 @@
 	}
 	catch(hresult_exception &e) 
 	{ 
-		char s[1000];
-		sprintf(s, "Scripting Error: 0x%x", e.hr);
+		TCHAR s[1000];
+		_stprintf_s(s, _T("Scripting Error: 0x%x"), e.hr);
 		m_console->Message((LPCTSTR)s, MSG_ERROR);
 	}
 }
@@ -181,9 +181,9 @@
 	}
 	catch(hresult_exception &e) 
 	{ 
-		char s[1000];
-		sprintf(s, "Scripting Error: 0x%x", e.hr);
-		m_console->Message((LPCTSTR)s, MSG_ERROR);
+		TCHAR s[1000];
+		_stprintf_s(s, _T("Scripting Error: 0x%x"), e.hr);
+		m_console->Message(s, MSG_ERROR);
 	}
 }
 
@@ -203,7 +203,7 @@
 	this->GetWindowText( buff);
 	if( buff == defPrompt) // if found the default prompt
 	{
-		this->SetWindowText( ""); // when it has start typing remove '>'
+		this->SetWindowText( _T("")); // when it has start typing remove '>'
 	}
 }
 
@@ -212,11 +212,11 @@
 	try {
 		// load engine info from registry 
 		CComPtr<IMgaRegistrar> registrar;
-		COMTHROW(registrar.CoCreateInstance(CComBSTR("Mga.MgaRegistrar")));
+		COMTHROW(registrar.CoCreateInstance(L"Mga.MgaRegistrar"));
 		ASSERT( registrar != NULL );
 		BSTR eng = NULL;
 		COMTHROW( registrar->get_ScriptEngine(REGACCESS_USER, &eng) );
-		_bstr_t engine("JScript");
+		_bstr_t engine(L"JScript");
 		if (eng != NULL  &&  ((_bstr_t)eng).length() != 0)
 			engine = eng;
 
@@ -225,12 +225,12 @@
 		COMTHROW(m_host->ProcessString(input));
 	}
 	catch(hresult_exception& e) {
-		char s[1000];
-		sprintf(s, "Scripting Error: 0x%x", e.hr);
-		m_console->Message((LPCTSTR)s, MSG_ERROR);
+		TCHAR s[1000];
+		_stprintf_s(s, _T("Scripting Error: 0x%x"), e.hr);
+		m_console->Message(s, MSG_ERROR);
 	}
 	catch(...) {
-		m_console->Message( "Exception handled.", MSG_ERROR);
+		m_console->Message( _T("Exception handled."), MSG_ERROR);
 	}
 
 	SetSel(0, -1);

Modified: trunk/GME/Console/ScriptEdit.h
==============================================================================
--- trunk/GME/Console/ScriptEdit.h	Wed Mar 30 14:02:05 2011	(r1224)
+++ trunk/GME/Console/ScriptEdit.h	Wed Mar 30 14:04:45 2011	(r1225)
@@ -35,7 +35,7 @@
 	void showNext();
 	void returnHit();
 protected:
-	static const char* defPrompt;
+	static const TCHAR* defPrompt;
 
 	CConsoleCtrl *m_console;
 	IScriptHostPtr m_host;

Modified: trunk/GME/Console/ScriptHost.cpp
==============================================================================
--- trunk/GME/Console/ScriptHost.cpp	Wed Mar 30 14:02:05 2011	(r1224)
+++ trunk/GME/Console/ScriptHost.cpp	Wed Mar 30 14:04:45 2011	(r1225)
@@ -30,9 +30,9 @@
 		COMTHROW(m_iscriptParse->InitNew());
 		if (m_gmeptr != NULL)
 		{
-			_bstr_t project("project");
-			_bstr_t gme("gme");
-			_bstr_t this_model("it");
+			_bstr_t project(L"project");
+			_bstr_t gme(L"gme");
+			_bstr_t this_model(L"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));
@@ -63,7 +63,7 @@
 	}
 	catch(hresult_exception &e) 
 	{ 
-		m_console->Message( "Input parsing failed!", MSG_ERROR);
+		m_console->Message( _T("Input parsing failed!"), MSG_ERROR);
 		return e.hr;
 	}
 	return S_OK;
@@ -84,19 +84,19 @@
 		return E_FAIL;
 	if (dwReturnMask&SCRIPTINFO_IUNKNOWN)
 	{
-		if (m_gmeptr && (_bstr_t)pstrName == _bstr_t("gme"))
+		if (m_gmeptr && (_bstr_t)pstrName == _bstr_t(L"gme"))
 		{
 			CComPtr<IUnknown> punk(m_gmeptr);
 			((IUnknown*)punk)->AddRef(); 
 			*ppiunkItem = punk;
 		}
-		else if (m_mgaproj && (_bstr_t)pstrName == _bstr_t("project"))
+		else if (m_mgaproj && (_bstr_t)pstrName == _bstr_t(L"project"))
 		{
 			CComPtr<IUnknown> punk(m_mgaproj);
 			((IUnknown*)punk)->AddRef(); 
 			*ppiunkItem = punk;
 		}
-		else if (m_actMod && (_bstr_t)pstrName == _bstr_t("it"))
+		else if (m_actMod && (_bstr_t)pstrName == _bstr_t(L"it"))
 		{
 			CComPtr<IUnknown> punk(m_actMod);
 			((IUnknown*)punk)->AddRef(); 
@@ -145,13 +145,13 @@
 		// 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
+		desc.Replace( _T("<"), _T("&lt;"));		// replacing <
+		desc.Replace( _T(">"), _T("&gt;"));		// >
+		desc.Replace(_T("\r\n"), _T("<br>"));	// 0d0a newlines
+		desc.Replace(_T("\n"), _T("<br>"));		// 0a newlines
 
-		char err[5000];
-		sprintf(err, "Scripting Error at Position: %ld Line: %lu<br>%s", ch, line, (const char*)desc);
+		TCHAR err[5000];
+		_stprintf_s(err, _T("Scripting Error at Position: %ld Line: %lu<br>%s"), ch, line, (const TCHAR*)desc);
 		m_console->Message((LPCTSTR)err, MSG_ERROR);
 	}
 	catch(hresult_exception &e) 
@@ -204,7 +204,7 @@
 		CComPtr<IDispatch> gip(gmeapp);
 		COMTHROW(gip.QueryInterface(&m_gmeptr));
 
-		_bstr_t gme("gme");
+		_bstr_t gme(L"gme");
 		COMTHROW(m_iscript->AddNamedItem(gme, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE));
 		COMTHROW(m_iscript->SetScriptState(SCRIPTSTATE_CONNECTED));
 	}
@@ -234,8 +234,8 @@
 
 		COMTHROW( m_gmeptr->get_OleIt( &m_actMod ));
 
-		_bstr_t project("project");
-		_bstr_t this_model("it");
+		_bstr_t project(L"project");
+		_bstr_t this_model(L"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));


More information about the gme-commit mailing list