home *** CD-ROM | disk | FTP | other *** search
- // ToolBasicInfo.cpp : implementation file
- //
-
- #include "stdafx.h"
- #include "RegenWizard.h"
- #include "ToolBasicInfo.h"
-
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
-
- #include "RegenWizardAW.H"
- /////////////////////////////////////////////////////////////////////////////
- // CToolBasicInfo dialog
-
-
- CToolBasicInfo::CToolBasicInfo(CRegenWizardAppWiz *pMain, CWnd* pParent /*=NULL*/)
- : CAppWizStepDlg(CToolBasicInfo::IDD),
- m_pclsMain(pMain),
- m_boolFirst(true)
- {
- //{{AFX_DATA_INIT(CToolBasicInfo)
- m_strEMenuName = _T("");
- m_strEMenuPath = _T("");
- m_strEToolName = _T("");
- m_strEPrompt = _T("");
- m_strEToolTip = _T("");
- m_strEToolBar = _T("");
- //}}AFX_DATA_INIT
-
- m_lToolsCount = 0;
-
- //m_boolEditPermitted = false;
-
- m_pclsMain->m_Dictionary [_T("ToolsCount")] = _T("0");
- m_pclsMain->m_Dictionary [_T("GeneratedToolsInfo")] = _T("");
- m_pclsMain->m_Dictionary [_T("ToolInfoIDS")] = _T("");
- m_pclsMain->m_Dictionary [_T("ToolStrTable")] = _T("");
- }
-
-
- void CToolBasicInfo::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CToolBasicInfo)
- DDX_Control(pDX, IDC_BUTTON_ADD, m_btnAdd);
- DDX_Control(pDX, IDC_BUTTON_REMOVE, m_btnRemove);
- DDX_Control(pDX, IDC_BUTTON_EDIT, m_btnEdit);
- DDX_Control(pDX, IDC_CHECK_UPDATE, m_btnUpdate);
- DDX_Control(pDX, IDC_CHECK_ENABLED, m_btnEnabled);
- DDX_Control(pDX, IDC_LIST_TOOL, m_listTool);
- DDX_Text(pDX, IDC_EDIT_MENU, m_strEMenuName);
- DDX_Text(pDX, IDC_EDIT_MENUPATH, m_strEMenuPath);
- DDX_Text(pDX, IDC_EDIT_NAME, m_strEToolName);
- DDX_Text(pDX, IDC_EDIT_PROMT, m_strEPrompt);
- DDX_Text(pDX, IDC_EDIT_TIP, m_strEToolTip);
- DDX_Text(pDX, IDC_EDIT_TOOLBAR, m_strEToolBar);
- //}}AFX_DATA_MAP
- }
-
-
- BEGIN_MESSAGE_MAP(CToolBasicInfo, CAppWizStepDlg)
- //{{AFX_MSG_MAP(CToolBasicInfo)
- ON_BN_CLICKED(IDC_BUTTON_REMOVE, OnButtonRemove)
- ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit)
- ON_LBN_SELCHANGE(IDC_LIST_TOOL, OnSelchangeListTool)
- ON_WM_SHOWWINDOW()
- ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
- /////////////////////////////////////////////////////////////////////////////
- // CToolBasicInfo message handlers
-
- /*void CToolBasicInfo::CanEdit()
- {
- m_editMenu .EnableWindow(m_boolEditPermitted);
- m_editMenuPath .EnableWindow(m_boolEditPermitted);
- m_editName .EnableWindow(m_boolEditPermitted);
- m_editPrompt .EnableWindow(m_boolEditPermitted);
- m_editTip .EnableWindow(m_boolEditPermitted);
- m_btnEnabled .EnableWindow(m_boolEditPermitted);
- m_btnUpdate .EnableWindow(m_boolEditPermitted);
- }*/
-
- void CToolBasicInfo::RemoveSelected()
- {
- int iCurSel = m_listTool.GetCurSel();
-
- for (int i = iCurSel; i < m_lToolsCount; i++)
- {
- m_strMenuName [i] = m_strMenuName [i + 1];
- m_strMenuPath [i] = m_strMenuPath [i + 1];
- m_strToolName [i] = m_strToolName [i + 1];
- m_strPrompt [i] = m_strPrompt [i + 1];
- m_strToolTip [i] = m_strToolTip [i + 1];
- m_iEnabled [i] = m_iEnabled [i + 1];
- m_iUpdate [i] = m_iUpdate [i + 1];
- };
-
- m_listTool.DeleteString (iCurSel);
- if (iCurSel == --m_lToolsCount) iCurSel--;
- m_listTool.SetCurSel(iCurSel);
- }
-
- void CToolBasicInfo::GetData(long lIndex)
- {
- m_strMenuName [lIndex] = m_strEMenuName;
- m_strMenuPath [lIndex] = m_strEMenuPath;
- m_strToolName [lIndex] = m_strEToolName;
- m_strPrompt [lIndex] = m_strEPrompt;
- m_strToolTip [lIndex] = m_strEToolTip;
- m_strToolBar [lIndex] = m_strEToolBar;
-
- m_iEnabled [lIndex] = m_btnEnabled .GetCheck ();
- m_iUpdate [lIndex] = m_btnUpdate .GetCheck ();
- }
-
- void CToolBasicInfo::SetData(long lIndex)
- {
- m_strEMenuName = m_strMenuName [lIndex];
- m_strEMenuPath = m_strMenuPath [lIndex];
- m_strEToolName = m_strToolName [lIndex];
- m_strEPrompt = m_strPrompt [lIndex];
- m_strEToolTip = m_strToolTip [lIndex];
- m_strEToolBar = m_strToolBar [lIndex];
-
- m_btnEnabled .SetCheck ((int)m_iEnabled [lIndex]);
- m_btnUpdate .SetCheck ((int)m_iUpdate [lIndex]);
- }
-
- void CToolBasicInfo::OnSelchangeListTool()
- {
- // TODO: Add your control notification handler code here
- if (m_listTool.GetCurSel() == LB_ERR) return;
-
- SetData(m_listTool.GetCurSel());
- }
-
- /*void CToolBasicInfo::SetBtnEdit(bool boolEdit)
- {
- CString tmp;
-
- if (boolEdit)
- tmp.LoadString(IDS_EDIT);
- else
- tmp.LoadString(IDS_DONE);
- m_btnEdit.SetWindowText(tmp);
- GeneareSrcCode();
- }*/
-
- void CToolBasicInfo::OnButtonAdd()
- {
- // TODO: Add your control notification handler code here
- UpdateData();
- GetData(m_lToolsCount);
-
- m_listTool.AddString(m_strMenuPath[m_lToolsCount] + "|" + m_strToolName[m_lToolsCount]);
- m_listTool.SetCurSel(m_lToolsCount);
- m_lToolsCount++;
-
- GenerateSrcCode();
- }
-
- void CToolBasicInfo::OnButtonRemove()
- {
- // TODO: Add your control notification handler code here
- if (m_listTool.GetCurSel() == LB_ERR) return;
-
- RemoveSelected();
- GenerateSrcCode();
- }
-
- void CToolBasicInfo::OnButtonEdit()
- {
- // TODO: Add your control notification handler code here
- if (m_listTool.GetCurSel() == LB_ERR) return;
-
- SetData(m_listTool.GetCurSel());
- RemoveSelected();
- GenerateSrcCode();
- UpdateData(false);
- }
-
- void CToolBasicInfo::OnShowWindow(BOOL bShow, UINT nStatus)
- {
- CAppWizStepDlg::OnShowWindow(bShow, nStatus);
-
- // TODO: Add your message handler code here
- if (m_boolFirst)
- {
- m_boolFirst = false;
-
- m_strEMenuPath = "S&DK|NewTool";
- m_strEMenuName = m_pclsMain->m_Dictionary[_T("COM_Class_Name")];
- m_strEToolName = m_pclsMain->m_Dictionary[_T("COM_Class_Name")];
- m_strEPrompt = m_pclsMain->m_Dictionary[_T("COM_Class_Name")];
- m_strEToolTip = m_pclsMain->m_Dictionary[_T("COM_Class_Name")];
- m_strEToolBar = m_pclsMain->m_Dictionary[_T("COM_Class_Name")];
-
- m_btnEnabled.SetCheck(1);
- m_btnUpdate.SetCheck(1);
-
- UpdateData(false);
- };
- }
-
- void CToolBasicInfo::GenerateSrcCode()
- {
- CString strResult = "";
- CString strIDS = "";
- CString strSTable = "";
- CString strToolIndex;
- CString strCount;
- CString strTmp;
-
- strCount.Format("%li", m_lToolsCount);
-
- for (int i = 0; i < m_lToolsCount; i++)
- {
- strToolIndex.Format("%i", i);
- BSTR *bstrCaptions = NULL;
- BSTR *bstrPrompts = NULL;
- BSTR *bstrTips = NULL;
-
- strResult += "\t\tbstrNames\t\t[lTmpIndex]\t= MakeBSTR(IDS_TOOL_NAME_" + strToolIndex + ");\n";
- strResult += "\t\tbstrPrompts\t\t[lTmpIndex]\t= MakeBSTR(IDS_TOOL_PRMT_" + strToolIndex + ");\n";
- strResult += "\t\tbstrTips\t\t[lTmpIndex]\t= MakeBSTR(IDS_TOOL_TTIP_" + strToolIndex + ");\n";
- strResult += "\t\tbstrCaptions\t[lTmpIndex]\t= MakeBSTR(IDS_TOOL_MCAP_" + strToolIndex + ");\n";
- strResult += "\t\tbstrCaptions\t[*lToolsCount + lTmpIndex]\t= MakeBSTR(IDS_TOOL_TBAR_" + strToolIndex + ");\n";
- if (m_iEnabled[i] == 1)
- strResult += "\t\tboolEnabled\t\t[lTmpIndex]\t= true;\n";
- else
- strResult += "\t\tboolEnabled\t\t[lTmpIndex]\t= false;\n";
-
- if (m_iUpdate[i] == 1)
- strResult += "\t\tboolWants\t\t[lTmpIndex]\t= true;\n";
- else
- strResult += "\t\tboolWants\t\t[lTmpIndex]\t= false;\n";
- strResult += "\t\tlTmpIndex++;\n\n";
- };
-
- for (i = 0; i < m_lToolsCount; i++)
- {
- strToolIndex.Format("%i", i);
-
- strTmp.Format("%li", (long) 201 + i*5);
- strIDS += "#define\tIDS_TOOL_NAME_" + strToolIndex + "\t\t\t" + strTmp + "\n";
- strTmp.Format("%li", (long) 202 + i*5);
- strIDS += "#define\tIDS_TOOL_MCAP_" + strToolIndex + "\t\t\t" + strTmp + "\n";
- strTmp.Format("%li", (long) 203 + i*5);
- strIDS += "#define\tIDS_TOOL_TBAR_" + strToolIndex + "\t\t\t" + strTmp + "\n";
- strTmp.Format("%li", (long) 204 + i*5);
- strIDS += "#define\tIDS_TOOL_PRMT_" + strToolIndex + "\t\t\t" + strTmp + "\n";
- strTmp.Format("%li", (long) 205 + i*5);
- strIDS += "#define\tIDS_TOOL_TTIP_" + strToolIndex + "\t\t\t" + strTmp + "\n\n";
- };
-
- for (i = 0; i < m_lToolsCount; i++)
- {
- strToolIndex.Format("%i", i);
-
- strSTable += "STRINGTABLE DISCARDABLE\nBEGIN\n";
- strSTable += "\tIDS_TOOL_NAME_" + strToolIndex + "\t\t\"" + m_strMenuPath[i] + "|" + m_strToolName [i] + "\"\n";
- strSTable += "\tIDS_TOOL_MCAP_" + strToolIndex + "\t\t\"" + m_strMenuName[i] + "\"\n";
- strSTable += "\tIDS_TOOL_TBAR_" + strToolIndex + "\t\t\"" + m_strToolBar[i] + "\"\n";
- strSTable += "\tIDS_TOOL_PRMT_" + strToolIndex + "\t\t\"" + m_strPrompt[i] + "\"\n";
- strSTable += "\tIDS_TOOL_TTIP_" + strToolIndex + "\t\t\"" + m_strToolTip[i] + "\"\n";
- strSTable += "END\n\n";
- };
-
- m_pclsMain->m_Dictionary [_T("ToolsCount")] = strCount;
- m_pclsMain->m_Dictionary [_T("GeneratedToolsInfo")] = strResult;
- m_pclsMain->m_Dictionary [_T("ToolInfoIDS")] = strIDS;
- m_pclsMain->m_Dictionary [_T("ToolStrTable")] = strSTable;
- }
-