[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