Files
geomative/GeomativeStudio/cpp/Views/sptmngframe.cpp
T
coco df489d5640 a
2026-07-03 16:05:30 +08:00

751 lines
24 KiB
C++

// sptmngframe.cpp : implementation file
//
#include "stdafx.h"
#include "geomative.h"
#include "sptmngframe.h"
#include "blankview.h"
#include "MainFrm.h"
#include "Constant.h"
#include "navsptview.h"
#include "SptOperator.h"
#include "appsptview.h"
#include "appcesptview.h"
#include "crossHole/CCrossHoleConfig2DMainDlg.h"
#include "crossHole/CCrossHoleConfig3DMainDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CGeoMativeApp theApp;
extern HHOOK hHook;
extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam);
extern int g_UIOffset;
extern int g_iTransFileMode;
/////////////////////////////////////////////////////////////////////////////
// CSptMngFrame
extern HHOOK hHook;
extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam);
IMPLEMENT_DYNCREATE(CSptMngFrame, CMDIChildWnd)
/*
CSptMngFrame::CSptMngFrame()
{
m_pAppSptView = NULL;
m_pNavSptView = NULL;
m_pSptOperator = NULL;
m_bAutoMenuEnable = FALSE;
m_pSptOperator = new CSptOperator(theApp.m_pConnection);
ASSERT(m_pSptOperator != NULL);
m_bIsActive = FALSE;
}
*/
CSptMngFrame::~CSptMngFrame()
{
delete m_pSptOperator;
}
BEGIN_MESSAGE_MAP(CSptMngFrame, CMDIChildWnd)
//{{AFX_MSG_MAP(CSptMngFrame)
ON_WM_CLOSE()
ON_WM_MDIACTIVATE()
ON_MESSAGE(WM_SCHEDULE, OnSchedule)
ON_MESSAGE(WM_REFRESH, OnRefresh)
ON_MESSAGE(WM_CLOSE_FRAME_WINDOW, OnCloseFrameWindow)
ON_COMMAND(IDM_OP_SCON_CE_DB_C, OnCreateCESConInDB)
ON_COMMAND(IDM_OP_SCON_CE_DB_D, OnDeleteCESConInDB)
ON_COMMAND(IDM_OP_SCON_2D_DB_C, OnCreate2DSConInDB)
ON_COMMAND(IDM_CREATE_2D_NON_STANDARD_SCRIPTS, OnCreate2dNonStandardScripts)
ON_COMMAND(IDM_CREATE_3D_NON_STANDARD_SCRIPTS, OnCreate3dNonStandardScripts)
ON_COMMAND(IDM_OP_SCON_2D_DB_D, OnDelete2DSConInDB)
ON_COMMAND(IDM_OP_SCON_2D_DB_E, OnExport2DSConInDB)
ON_COMMAND(IDM_OP_SCON_3D_DB_E, OnExport3DSConInDB)
ON_COMMAND(IDM_OP_DE_SPT_F_CSF, OnCreateScriptFileInOffline)
ON_COMMAND(IDM_OP_SF_L_D, OnDeleteScriptFileInLoc)
ON_COMMAND(IDM_OP_SPT_DB_D, OnDeleteSConInDB)
ON_COMMAND(IDM_OP_SCON_3D_DB_C, OnCreate3DSConInDB)
ON_COMMAND(IDM_OP_SCON_3D_DB_D, OnDelete3DSConInDB)
ON_COMMAND(IDM_BROWSE_SCRIPT, OnBrowse2DScript)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSptMngFrame message handlers
void CSptMngFrame::OnClose()
{
// TODO: Add your message handler code here and/or call default
::SendMessage(AfxGetMainWnd()->m_hWnd, WM_SCHEDULE, (WPARAM)VAL_ZERO, (LPARAM)VAL_ZERO);
((CMainFrame*)AfxGetMainWnd())->m_pSptMngFrm = NULL;
m_bIsActive = FALSE;
CMDIChildWnd::OnClose();
}
LRESULT CSptMngFrame::OnCloseFrameWindow(WPARAM wParam, LPARAM lParam)
{
OnClose();
return 0;
}
BOOL CSptMngFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
m_splitter.CreateStatic(this, SPL_WND_A_ROW, SPL_WND_A_COL);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_0, RUNTIME_CLASS(CNavSptView),
CSize(SPL_VIEW_NAV_WIDTH + 100, SPL_VIEW_NAV_HEIGHT), pContext);
m_pNavSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_0));
ASSERT(m_pNavSptView != NULL);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
CSize(SPL_VIEW_NAV_WIDTH, SPL_VIEW_NAV_HEIGHT), pContext);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
ASSERT(m_pAppSptView != NULL);
return CMDIChildWnd::OnCreateClient(lpcs, pContext);
}
void CSptMngFrame::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd)
{
CMDIChildWnd::OnMDIActivate(bActivate, pActivateWnd, pDeactivateWnd);
// TODO: Add your message handler code here
m_bIsActive = bActivate;
if (TRUE == bActivate) //当MDI窗口处于激活状态,bActive的值为TRUE;
{
int iSConIndex = (int)VAL_ZERO;
POSITION posSCon;
DWORD dwItemHandle = (DWORD)VAL_ZERO;
DWORD dwImageState = (DWORD)VAL_ZERO;
UINT uStyle = (UINT)VAL_ZERO;
UINT uState = (UINT)VAL_ZERO;
HTREEITEM hSptItem = NULL;
CString strTitle;
strTitle.LoadString(IDS_EXEC_MANAGE+g_UIOffset);
if (GetTitle() != strTitle)
{
SetTitle((LPCTSTR)strTitle);
m_pSptOperator->InitialNavExecView((CNavSptView*)m_pNavSptView);
}
int iTabCurSel = ((CNavSptView*)m_pNavSptView)->m_navTab.GetCurSel();
if (EN_TRANSFER_FILE_BY_CLOUND == g_iTransFileMode)
{
iTabCurSel++;
}
switch (iTabCurSel) //当各个MDI窗口之间发生切换时,控制调度
{
case TAB_INDEX_CE:
posSCon = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetFirstSelectedItemPosition();
iSConIndex = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetNextSelectedItem(posSCon);
if (VAL_MINUS_ONE != iSConIndex)
{
dwItemHandle = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetItemData(iSConIndex);
dwImageState = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetItemState(iSConIndex, TVIS_STATEIMAGEMASK);
uStyle = m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle);
uState = m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState);
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState);
}
else
{
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_SCON_CE, (LPARAM)VAL_ZERO);
}
break;
case TAB_INDEX_2D:
posSCon = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetFirstSelectedItemPosition();
iSConIndex = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetNextSelectedItem(posSCon);
if (VAL_MINUS_ONE != iSConIndex)
{
dwItemHandle = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetItemData(iSConIndex);
dwImageState = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetItemState(iSConIndex, TVIS_STATEIMAGEMASK);
uStyle = m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle);
uState = m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState);
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState);
}
else
{
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_SCON_2D, (LPARAM)VAL_ZERO);
}
break;
case TAB_INDEX_3D:
posSCon = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetFirstSelectedItemPosition();
iSConIndex = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetNextSelectedItem(posSCon);
if (VAL_MINUS_ONE != iSConIndex)
{
dwItemHandle = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetItemData(iSConIndex);
dwImageState = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetItemState(iSConIndex, TVIS_STATEIMAGEMASK);
uStyle = m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle);
uState = m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState);
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState);
}
else
{
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_SCON_3D, (LPARAM)VAL_ZERO);
}
// ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_MED_DEF, (LPARAM)VAL_ZERO);
break;
default:
break;
}
}
else //当MDI窗口处于非激活状态或即将关闭,bActive的值为FALSE;
{
if (NULL != ((CMainFrame*)AfxGetMainWnd())->m_pSptMngFrm)
{
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)VAL_ZERO, (LPARAM)VAL_ZERO);
}
}
}
LRESULT CSptMngFrame::OnSchedule(WPARAM wParam, LPARAM lParam)
{
DWORD dwItemHandle = (DWORD)VAL_ZERO;
DWORD dwImageState = (DWORD)VAL_ZERO;
UINT uStyle = (UINT)VAL_ZERO;
UINT uState = (UINT)VAL_ZERO;
dwItemHandle = (DWORD)wParam;
dwImageState = (DWORD)lParam;
uStyle = (UINT)m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle);
uState = (UINT)m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState);
ShowAppView(dwItemHandle, uState);
::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState);
return 0;
}
LRESULT CSptMngFrame::OnRefresh(WPARAM wParam, LPARAM lParam)
{
switch ((UINT)wParam)
{
case OP_SPT_SYN:
/*
this->m_pExecOperator->InitialNavExecScmDlg(((CNavSptView*)m_pNavExecView)->m_navScmDlg);
if (TAB_INDEX_SCM == ((CNavSptView*)m_pNavExecView)->m_navTab.GetCurSel())
{
ShowAppView((DWORD)VAL_ZERO, (UINT)VAL_ZERO);
}
*/
this->m_pSptOperator->InitialNavExecView((CNavSptView*)m_pNavSptView);
ShowAppView((DWORD)VAL_ZERO, (UINT)VAL_ZERO);
break;
case OP_DE_F_D:
/*
this->m_pExecOperator->InitialNavExecSptDlg(((CNavSptView*)m_pNavExecView)->m_navSptDlg);
if (TAB_INDEX_SPT == ((CNavSptView*)m_pNavExecView)->m_navTab.GetCurSel())
{
this->ShowAppView((DWORD)VAL_ZERO, (UINT)VAL_ZERO);
}
*/
break;
default:
break;
}
return 0;
}
bool CSptMngFrame::ShowAppView(DWORD dwHandle, UINT uState)
{
DWORD dwDevHandle = (DWORD)VAL_ZERO;
UINT uStyle = (UINT)VAL_ZERO;
uStyle = (DWORD)m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwHandle);
if (VAL_ZERO != uState)
{
int iTabCurSel = ((CNavSptView*)m_pNavSptView)->m_navTab.GetCurSel();
if (EN_TRANSFER_FILE_BY_CLOUND == g_iTransFileMode)
{
iTabCurSel = iTabCurSel + 1;
}
switch (iTabCurSel)
{
case TAB_INDEX_CE:
if (PZ_STYLE_SCON_CE == uStyle)
{
if (NULL != m_pAppSptView)
{
if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CAppCESptView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CAppCESptView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
m_pSptOperator->ShowCEScriptConInfo(dwHandle, m_pAppSptView);
}
}
else
{
if (NULL != m_pAppSptView)
{
if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
}
}
break;
case TAB_INDEX_2D:
if (PZ_STYLE_SCON_2D == uStyle)
{
if (NULL != m_pAppSptView)
{
if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CAppSptView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CAppSptView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
m_pSptOperator->Show2DScriptConInfo(dwHandle, m_pAppSptView);
}
}
else
{
if (NULL != m_pAppSptView)
{
if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
}
}
break;
case TAB_INDEX_3D:
if (PZ_STYLE_SCON_3D == uStyle)
{
if (NULL != m_pAppSptView)
{
if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CAppSptView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CAppSptView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
m_pSptOperator->Show3DScriptConInfo(dwHandle, m_pAppSptView);
}
}
else
{
if (NULL != m_pAppSptView)
{
if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
}
}
// switch (uStyle)
// {
// case PZ_STYLE_MED_DEF:
// if (NULL != m_pAppExecView)
// {
// if (_T("CBlankView") != m_pAppExecView->GetRuntimeClass()->m_lpszClassName)
// {
// m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
// m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
// CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
// m_pAppExecView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
// }
// }
// break;
// case PZ_STYLE_MED_CUS:
// if (NULL != m_pAppExecView)
// {
// if (_T("CBlankView") != m_pAppExecView->GetRuntimeClass()->m_lpszClassName)
// {
// m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
// m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
// CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
// m_pAppExecView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
// }
// }
// break;
// default:
// break;
// }
break;
default:
if (NULL != m_pAppSptView)
{
if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
}
break;
}
}
else
{
if (NULL != m_pAppSptView)
{
if (!m_pNavSptView->IsKindOf(RUNTIME_CLASS(CBlankView)))
{
m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1);
m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView),
CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL);
m_pAppSptView = static_cast<CView*>(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1));
}
}
}
m_splitter.RecalcLayout();
return true;
}
void CSptMngFrame::OnCreateScriptFileInOffline()
{
/*
CString szCaption;
switch (m_pExecOperator->CreateScriptFileInOffline((CNavSptView*)m_pNavExecView))
{
case APP_SUCCESS:
szCaption.Empty();
szCaption.LoadString(IDS_OP_SUCCESS);
AfxMessageBox(szCaption, MB_ICONINFORMATION);
break;
case APP_ERR_DB:
szCaption.Empty();
szCaption.LoadString(IDS_OP_FAIL);
AfxMessageBox(szCaption, MB_ICONEXCLAMATION);
break;
default:
break;
}
*/
}
void CSptMngFrame::OnDeleteScriptFileInLoc()
{
/*
CString szCaption;
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SF_SEL);
if (MessageBox(szCaption, NULL, MB_YESNO | MB_ICONQUESTION) == IDYES)
{
switch (m_pExecOperator->DeleteScriptFileInLoc((CNavSptView*)m_pNavExecView))
{
case APP_SUCCESS:
szCaption.Empty();
szCaption.LoadString(IDS_OP_SUCCESS);
AfxMessageBox(szCaption, MB_ICONINFORMATION);
break;
case APP_ERR_DB:
szCaption.Empty();
szCaption.LoadString(IDS_OP_FAIL);
AfxMessageBox(szCaption, MB_ICONEXCLAMATION);
break;
default:
break;
}
}
*/
}
void CSptMngFrame::OnDeleteSConInDB()
{
/*
CString szCaption;
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_SEL);
if (MessageBox(szCaption, NULL, MB_YESNO | MB_ICONQUESTION) == IDYES)
{
switch (m_pExecOperator->DeleteSConInDB((CNavSptView*)m_pNavExecView))
{
case APP_SUCCESS:
OnSchedule((WPARAM)m_pExecOperator->m_handleProcessor.GenerateHandle(VAL_ZERO, PZ_STYLE_SPT_CON), (LPARAM)VAL_ZERO);
szCaption.Empty();
szCaption.LoadString(IDS_OP_SUCCESS);
AfxMessageBox(szCaption, MB_ICONINFORMATION);
break;
case APP_RELATION:
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_RELATION);
AfxMessageBox(szCaption, MB_ICONEXCLAMATION);
break;
case APP_ERR_DB:
szCaption.Empty();
szCaption.LoadString(IDS_OP_FAIL);
AfxMessageBox(szCaption, MB_ICONEXCLAMATION);
break;
default:
break;
}
}
*/
}
void CSptMngFrame::OnCreate2DSConInDB()
{
m_pSptOperator->Create2DSConInDB((CNavSptView*)m_pNavSptView);
}
//创建2D非标准脚本
void CSptMngFrame::OnCreate2dNonStandardScripts()
{
CCrossHoleConfig2DMainDlg::GetInstance()->DoModal();
}
//创建3D非标准脚本
void CSptMngFrame::OnCreate3dNonStandardScripts()
{
CCrossHoleConfig3DMainDlg::GetInstance()->DoModal();
}
void CSptMngFrame::OnExport2DSConInDB()
{
CString strTxt = _T("");
UINT uRes = m_pSptOperator->Export2DSConInDB((CNavSptView*)m_pNavSptView);
if (APP_SUCCESS == uRes)
strTxt.LoadString(IDS_OP_SUCCESS + g_UIOffset);
else
strTxt.LoadString(IDS_OP_FAIL + g_UIOffset);
if (APP_CANCLE != uRes)
{
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(strTxt);
else
MessageBoxEx(NULL, strTxt, STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
}
}
void CSptMngFrame::OnExport3DSConInDB()
{
CString strTxt = _T("");
UINT uRes = m_pSptOperator->Export3DSConInDB((CNavSptView*)m_pNavSptView);
if (APP_SUCCESS == uRes)
strTxt.LoadString(IDS_OP_SUCCESS+g_UIOffset);
else
strTxt.LoadString(IDS_OP_FAIL+g_UIOffset);
if (APP_CANCLE != uRes)
{
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(strTxt);
else
MessageBoxEx(NULL, strTxt, STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
}
}
void CSptMngFrame::OnDelete2DSConInDB()
{
CString szCaption;
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_SEL+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
int nRet = 0;
if (OFFSET_CHINESE == g_UIOffset)
nRet = AfxMessageBox(szCaption, MB_YESNO | MB_ICONQUESTION);
else
nRet = MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_YESNO | MB_ICONQUESTION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
if (IDYES == nRet)
{
switch (m_pSptOperator->Delete2DSConInDB((CNavSptView*)m_pNavSptView))
{
case APP_SUCCESS:
szCaption.Empty();
szCaption.LoadString(IDS_OP_SUCCESS+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
case APP_RELATION:
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_RELATION);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
case APP_ERR_DB:
szCaption.Empty();
szCaption.LoadString(IDS_OP_FAIL+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
default:
break;
}
}
}
void CSptMngFrame::OnCreateCESConInDB()
{
m_pSptOperator->CreateCESConInDB((CNavSptView*)m_pNavSptView);
}
void CSptMngFrame::OnDeleteCESConInDB()
{
CString szCaption;
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_SEL+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
int nRet = 0;
if (OFFSET_CHINESE == g_UIOffset)
nRet = AfxMessageBox(szCaption, MB_YESNO | MB_ICONQUESTION);
else
nRet = MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_YESNO | MB_ICONQUESTION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
if (IDYES == nRet)
{
switch (m_pSptOperator->DeleteCESConInDB((CNavSptView*)m_pNavSptView))
{
case APP_SUCCESS:
szCaption.Empty();
szCaption.LoadString(IDS_OP_SUCCESS+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
case APP_RELATION:
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_RELATION);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
case APP_ERR_DB:
szCaption.Empty();
szCaption.LoadString(IDS_OP_FAIL+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
default:
break;
}
}
}
void CSptMngFrame::OnCreate3DSConInDB()
{
// TODO: Add your command handler code here
//add by waston;
m_pSptOperator->Create3DSConInDB((CNavSptView*)m_pNavSptView);
}
void CSptMngFrame::OnDelete3DSConInDB()
{
CString szCaption;
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_SEL+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
int nRet = 0;
if (OFFSET_CHINESE == g_UIOffset)
nRet = AfxMessageBox(szCaption, MB_YESNO | MB_ICONQUESTION);
else
nRet = MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_YESNO | MB_ICONQUESTION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
if (IDYES == nRet)
{
switch (m_pSptOperator->Delete3DSConInDB((CNavSptView*)m_pNavSptView))
{
case APP_SUCCESS:
szCaption.Empty();
szCaption.LoadString(IDS_OP_SUCCESS+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
case APP_RELATION:
szCaption.Empty();
szCaption.LoadString(IDS_OP_LD_SCON_RELATION);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
case APP_ERR_DB:
szCaption.Empty();
szCaption.LoadString(IDS_OP_FAIL+g_UIOffset);
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
if (OFFSET_CHINESE == g_UIOffset)
AfxMessageBox(szCaption, MB_ICONINFORMATION);
else
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
break;
default:
break;
}
}
}
void CSptMngFrame::OnBrowse2DScript()
{
m_pSptOperator->Browse2DScript((CNavSptView*)m_pNavSptView);
}