[GME-commit] GMESRC/GME/MgaUtil MgaUtil.rc,1.43,1.44 MgaRegistrar.h,1.17,1.18 MgaRegistrar.cpp,1.39,1.40 GmeDlg.h,1.7,1.8 GmeDlg.cpp,1.8,1.9

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu Dec 2 16:02:16 CST 2004


Update of /var/lib/gme/GMESRC/GME/MgaUtil
In directory braindrain:/tmp/cvs-serv12528

Modified Files:
	MgaUtil.rc MgaRegistrar.h MgaRegistrar.cpp GmeDlg.h GmeDlg.cpp 
Log Message:
console scripting

CVS User: bogyom

Index: MgaUtil.rc
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MgaUtil.rc,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** MgaUtil.rc	29 Sep 2004 21:00:28 -0000	1.43
--- MgaUtil.rc	2 Dec 2004 22:02:14 -0000	1.44
***************
*** 65,90 ****
  END
  
! IDD_GMEDLG DIALOG DISCARDABLE  0, 0, 247, 275
  STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "GME properties"
  FONT 8, "MS Sans Serif"
  BEGIN
-     GROUPBOX        "User Icon Path",IDC_STATIC,5,5,235,30
      EDITTEXT        IDC_ICONPATH,10,15,190,15,ES_AUTOHSCROLL
      PUSHBUTTON      "Add...",IDC_ADDICONPATH,205,15,30,15
-     GROUPBOX        "System Icon Path",IDC_STATIC,5,40,235,30
      EDITTEXT        IDC_SYSICONPATH,10,50,190,15,ES_AUTOHSCROLL
      PUSHBUTTON      "Add...",IDC_ADDSYSICONPATH,205,50,30,14
-     GROUPBOX        "Multiline Attributes",IDC_STATIC,5,75,235,45
      CONTROL         "Enable External Text Editor",IDC_EXT_ENABLE,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,10,85,101,10
      EDITTEXT        IDC_EXT_EDITOR,10,100,190,15,ES_AUTOHSCROLL
      PUSHBUTTON      "...",IDC_EXT_BUTTON,205,100,29,14
-     GROUPBOX        "Autosave",IDC_STATIC,5,125,235,70
      CONTROL         "Enable Autosave",IDC_AUTOSAVE_ENABLED,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,10,135,70,10
-     LTEXT           "Save every",IDC_STATIC,130,136,37,8
      EDITTEXT        IDC_AUTOSAVE_FREQ,170,133,25,14,ES_AUTOHSCROLL
-     LTEXT           "seconds",IDC_STATIC,200,136,28,8
      CONTROL         "Store backup file in the project directory",
                      IDC_AUTOSAVE_SAME_DIR,"Button",BS_AUTORADIOBUTTON | 
--- 65,84 ----
  END
  
! IDD_GMEDLG DIALOG DISCARDABLE  0, 0, 247, 366
  STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "GME properties"
  FONT 8, "MS Sans Serif"
  BEGIN
      EDITTEXT        IDC_ICONPATH,10,15,190,15,ES_AUTOHSCROLL
      PUSHBUTTON      "Add...",IDC_ADDICONPATH,205,15,30,15
      EDITTEXT        IDC_SYSICONPATH,10,50,190,15,ES_AUTOHSCROLL
      PUSHBUTTON      "Add...",IDC_ADDSYSICONPATH,205,50,30,14
      CONTROL         "Enable External Text Editor",IDC_EXT_ENABLE,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,10,85,101,10
      EDITTEXT        IDC_EXT_EDITOR,10,100,190,15,ES_AUTOHSCROLL
      PUSHBUTTON      "...",IDC_EXT_BUTTON,205,100,29,14
      CONTROL         "Enable Autosave",IDC_AUTOSAVE_ENABLED,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,10,135,70,10
      EDITTEXT        IDC_AUTOSAVE_FREQ,170,133,25,14,ES_AUTOHSCROLL
      CONTROL         "Store backup file in the project directory",
                      IDC_AUTOSAVE_SAME_DIR,"Button",BS_AUTORADIOBUTTON | 
***************
*** 95,107 ****
      EDITTEXT        IDC_AUTOSAVE_DIR,20,175,180,14,ES_AUTOHSCROLL | WS_GROUP
      PUSHBUTTON      "...",IDC_AUTOSAVE_DIR_BUTTON,205,175,30,14
      CONTROL         "Open model in multiple views",IDC_MULTIPLE_OPEN,"Button",
!                     BS_AUTOCHECKBOX | WS_TABSTOP,10,235,107,10
      CONTROL         "Enable Event Logging",IDC_EVENT_LOGGING,"Button",
!                     BS_AUTOCHECKBOX | WS_TABSTOP,125,235,86,10
!     DEFPUSHBUTTON   "OK",IDOK,48,252,50,15
!     PUSHBUTTON      "Cancel",IDCANCEL,139,252,50,15
      GROUPBOX        "Autorouter",IDC_STATIC,5,200,235,25
!     CONTROL         "Connections keep clear of labels",IDC_LABELAVOIDANCE,
!                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,210,119,10
  END
  
--- 89,112 ----
      EDITTEXT        IDC_AUTOSAVE_DIR,20,175,180,14,ES_AUTOHSCROLL | WS_GROUP
      PUSHBUTTON      "...",IDC_AUTOSAVE_DIR_BUTTON,205,175,30,14
+     CONTROL         "Connections keep clear of labels",IDC_LABELAVOIDANCE,
+                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,210,119,10
+     CONTROL         "List1",IDC_LIST1,"SysListView32",LVS_REPORT | 
+                     LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOCOLUMNHEADER | 
+                     WS_BORDER | WS_TABSTOP,84,240,152,74
      CONTROL         "Open model in multiple views",IDC_MULTIPLE_OPEN,"Button",
!                     BS_AUTOCHECKBOX | WS_TABSTOP,10,325,107,10
      CONTROL         "Enable Event Logging",IDC_EVENT_LOGGING,"Button",
!                     BS_AUTOCHECKBOX | WS_TABSTOP,125,325,86,10
!     DEFPUSHBUTTON   "OK",IDOK,48,342,50,15
!     PUSHBUTTON      "Cancel",IDCANCEL,139,342,50,15
!     GROUPBOX        "User Icon Path",IDC_STATIC,5,5,235,30
!     GROUPBOX        "System Icon Path",IDC_STATIC,5,40,235,30
!     GROUPBOX        "Multiline Attributes",IDC_STATIC,5,75,235,45
!     GROUPBOX        "Autosave",IDC_STATIC,5,125,235,70
!     LTEXT           "Save every",IDC_STATIC,130,136,37,8
!     LTEXT           "seconds",IDC_STATIC,200,136,28,8
      GROUPBOX        "Autorouter",IDC_STATIC,5,200,235,25
!     GROUPBOX        "Scripting",IDC_STATIC,6,230,235,90
!     LTEXT           "Current script engine:",IDC_STATIC,11,241,72,11
  END
  
***************
*** 674,678 ****
          RIGHTMARGIN, 240
          TOPMARGIN, 7
!         BOTTOMMARGIN, 266
      END
  
--- 679,683 ----
          RIGHTMARGIN, 240
          TOPMARGIN, 7
!         BOTTOMMARGIN, 357
      END
  

Index: MgaRegistrar.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MgaRegistrar.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** MgaRegistrar.h	25 Aug 2004 20:36:32 -0000	1.17
--- MgaRegistrar.h	2 Dec 2004 22:02:14 -0000	1.18
***************
*** 47,50 ****
--- 47,52 ----
  	STDMETHOD(get_LabelAvoidance)(regaccessmode_enum mode, VARIANT_BOOL *enabled);
  	STDMETHOD(put_LabelAvoidance)(regaccessmode_enum mode, VARIANT_BOOL enabled);
+ 	STDMETHOD(get_ScriptEngine)(regaccessmode_enum mode, BSTR *path);
+ 	STDMETHOD(put_ScriptEngine)(regaccessmode_enum mode, BSTR path);
  
  	STDMETHOD(get_Paradigms)(regaccessmode_enum mode, VARIANT *names);

Index: MgaRegistrar.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MgaRegistrar.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** MgaRegistrar.cpp	25 Aug 2004 20:36:32 -0000	1.39
--- MgaRegistrar.cpp	2 Dec 2004 22:02:14 -0000	1.40
***************
*** 554,557 ****
--- 554,613 ----
  
  
+ 
+ STDMETHODIMP CMgaRegistrar::get_ScriptEngine(regaccessmode_enum mode, BSTR *path)
+ {
+ 	CHECK_OUT(path);
+ 
+ 	COMTRY
+ 	{
+ 		LONG res;
+ 		CString str;
+ 		if(mode & RM_USER) {
+ 			CRegKey mga;
+ 			res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
+ 			if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
+ 			if(res == ERROR_SUCCESS) {
+ 				str	= QueryValue(mga, "ScriptEngine");
+ 				str.TrimRight(" ;,\t");
+ 				if(!str.IsEmpty()) REVOKE_SYS2(mode);
+ 			}
+ 		}
+ 		if(mode & (RM_SYSDOREAD)) {
+ 			CRegKey mga;
+ 			res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
+ 			if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
+ 			if(res == ERROR_SUCCESS) {
+ 				CString str2 = QueryValue(mga, "ScriptEngine");
+ 				str2.TrimLeft(" ;,\t");
+ 				if(!str.IsEmpty() && !str2.IsEmpty()) str += ";";
+ 				str	+= str2;
+ 			}
+ 		}
+ 		CopyTo(str, path);
+ 	}
+ 	COMCATCH(;)
+ }
+ 
+ STDMETHODIMP CMgaRegistrar::put_ScriptEngine(regaccessmode_enum mode, BSTR path)
+ {
+ 	COMTRY
+ 	{
+ 		CString str;
+ 		CopyTo(path, str);
+ 		if(mode & RM_USER) {
+ 			CRegKey mga;
+ 			ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
+ 			ERRTHROW( mga.SetValue(str, "ScriptEngine") );
+ 		}
+ 		if(mode & (RM_SYS | RM_TEST)) {
+ 			CRegKey mga;
+ 			ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
+ 			if(mode & RM_SYS) ERRTHROW( mga.SetValue(str, "ScriptEngine") );
+ 		}
+ 	}
+ 	COMCATCH(;)
+ }
+ 
+ 
  STDMETHODIMP CMgaRegistrar::get_Paradigms(regaccessmode_enum mode, VARIANT *names)
  {

Index: GmeDlg.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/GmeDlg.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** GmeDlg.h	25 Aug 2004 20:36:32 -0000	1.7
--- GmeDlg.h	2 Dec 2004 22:02:14 -0000	1.8
***************
*** 18,25 ****
--- 18,27 ----
  	CString	m_isave;
  	CString	m_sysisave;
+ 	CString	m_scriptEngine;
  
  // Dialog Data
  	//{{AFX_DATA(CGmeDlg)
  	enum { IDD = IDD_GMEDLG };
+ 	CListCtrl	m_ScriptEgines;
  	CString	m_iconpath;
  	CString	m_sysiconpath;
***************
*** 66,69 ****
--- 68,75 ----
  protected:
  	CComObjPtr<IMgaRegistrar> registrar;
+ 
+ private:
+ 	void fillScripEngineList();
+ 
  };
  

Index: GmeDlg.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/GmeDlg.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** GmeDlg.cpp	25 Aug 2004 20:36:32 -0000	1.8
--- GmeDlg.cpp	2 Dec 2004 22:02:14 -0000	1.9
***************
*** 6,9 ****
--- 6,17 ----
  #include "GmeDlg.h"
  #include "DirDialog.h"
+ #include "comcat.h"
+ //#include "basetyps.h"
+ //#define INITGUID
+ #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
+         const GUID name \
+                 = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
+ // DEFINE_GUID(CATID_ActiveScript, 0xf0b7a1a1, 0x9847, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
+ #include "activscp.h"
  
  #ifdef _DEBUG
***************
*** 33,36 ****
--- 41,45 ----
  	m_labelavoidance = FALSE;
  	//}}AFX_DATA_INIT
+ 	m_scriptEngine = _T("JScript");
  }
  
***************
*** 40,43 ****
--- 49,53 ----
  	CDialog::DoDataExchange(pDX);
  	//{{AFX_DATA_MAP(CGmeDlg)
+ 	DDX_Control(pDX, IDC_LIST1, m_ScriptEgines);
  	DDX_Text(pDX, IDC_ICONPATH, m_iconpath);
  	DDX_Text(pDX, IDC_SYSICONPATH, m_sysiconpath);
***************
*** 110,113 ****
--- 120,193 ----
  }
  
+ void CGmeDlg::fillScripEngineList()
+ {
+ 	// enumerate ScriptEngines -> m_scriptEngines ??
+ 	// set the current to m_scriptEngine
+     CATID               ourCatID;
+     CComPtr<ICatInformation>    pCatInformation;
+     CComPtr<IEnumCLSID>          pEnumGUID;
+     HRESULT             hResult = S_OK;
+ 
+ 
+ 	m_ScriptEgines.InsertColumn( 0, "", LVCFMT_LEFT, 100, -1 );
+     memcpy(&ourCatID, &CATID_ActiveScript, sizeof(ourCatID));
+ //    memcpy(&ourCatID, &CATID_ActiveScriptParse, sizeof(ourCatID));
+ 
+ 	hResult = pCatInformation.CoCreateInstance(CLSID_StdComponentCategoriesMgr);
+ 
+     hResult = pCatInformation->EnumClassesOfCategories(
+         1, &ourCatID, ((ULONG) -1), NULL, &pEnumGUID);
+ 
+ 	int index = 0;
+ 	bool sel = false;
+     while (1)
+     {
+         CLSID       ourCLSID;
+         ULONG       lCount = 0;
+ 		BSTR		str;
+ 
+         hResult = pEnumGUID->Next(1, &ourCLSID, &lCount);
+ 
+         if (lCount == 0)
+             break;
+ 
+         hResult = ProgIDFromCLSID(ourCLSID, &str);
+ 
+         {
+             USES_CONVERSION;
+ 
+             LPCTSTR pszString = OLE2CT(str);
+ 			
+ 			LVITEM lvItem;
+ 			lvItem.mask = LVIF_PARAM | LVIF_STATE | LVIF_TEXT;  
+ 			if	(!m_scriptEngine.Compare(pszString))
+ 			{
+ 				lvItem.state = LVIS_SELECTED;
+ 				sel = true;
+ 			}
+ 			else
+ 				lvItem.state = 0;
+ 			lvItem.stateMask = LVIS_SELECTED;
+ 
+ 			lvItem.iItem = index++;
+ 			lvItem.iSubItem = 0;
+ 			lvItem.lParam = lvItem.iItem;
+ 
+ 			lvItem.pszText = (char*)pszString;
+ 			int ret = m_ScriptEgines.InsertItem( &lvItem );
+         }
+     }
+ 	if (!sel)
+ 	{
+ 		LVITEM lvItem;
+ 		lvItem.mask = LVIF_STATE; 
+ 		lvItem.state = LVIS_SELECTED;
+ 		lvItem.stateMask = LVIS_SELECTED;
+ 		lvItem.iItem = 0;
+ 		lvItem.iSubItem = 0;
+ 		int ret1 = m_ScriptEgines.SetItem( &lvItem );
+ 	}
+ }
+ 
  BOOL CGmeDlg::OnInitDialog() 
  {
***************
*** 166,169 ****
--- 246,253 ----
  		m_labelavoidance = (labelavoidance == VARIANT_FALSE) ? FALSE : TRUE;
  
+ 		// Script
+ 		COMTHROW( registrar->get_ScriptEngine(REGACCESS_USER, PutOut(m_scriptEngine)) );
+ 		if (m_scriptEngine == "")
+ 			m_scriptEngine = _T("JScript");
  	}
  	MSGCATCH("Error while initializing GmeDlg",;)
***************
*** 172,175 ****
--- 256,260 ----
  	ExtControlManager();
  	CDialog::OnInitDialog();
+ 	fillScripEngineList();
  
  	return TRUE;  // return TRUE unless you set the focus to a control
***************
*** 216,219 ****
--- 301,315 ----
  	VARIANT_BOOL labelavoidance = (m_labelavoidance == FALSE) ? VARIANT_FALSE : VARIANT_TRUE;
  	COMTHROW( registrar->put_LabelAvoidance(REGACCESS_USER, labelavoidance) );
+ 
+ 	// ScriptEngine
+ 	// m_scriptEngine <- current item from m_scriptEngines ??
+ 	POSITION pos = m_ScriptEgines.GetFirstSelectedItemPosition();
+ 	if (pos != NULL)
+ 	{
+ 		int nItem = m_ScriptEgines.GetNextSelectedItem(pos);
+ 		m_scriptEngine = m_ScriptEgines.GetItemText(nItem, 0);
+ 	}
+ 	COMTHROW( registrar->put_ScriptEngine(REGACCESS_USER, PutInBstr(m_scriptEngine)) );
+ 
  }
  



More information about the GME-commit mailing list