237 lines
5.6 KiB
C++
237 lines
5.6 KiB
C++
// opsyndlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "geomative.h"
|
|
#include "opsyndlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
extern CGeoMativeApp theApp;
|
|
extern int g_iUILanguage;
|
|
extern int g_UIOffset;
|
|
BEGIN_EASYSIZE_MAP(COpSynDlg)
|
|
|
|
EASYSIZE(IDC_STATIC_SELECT, ES_BORDER, ES_BORDER, ES_BORDER,ES_KEEPSIZE,0)
|
|
EASYSIZE(IDC_TD_DESN, ES_BORDER, ES_BORDER, ES_BORDER,ES_KEEPSIZE,0)
|
|
EASYSIZE(IDC_OP_SYN_TAB, ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,0)
|
|
|
|
END_EASYSIZE_MAP
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COpSynDlg dialog
|
|
|
|
|
|
COpSynDlg::COpSynDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(COpSynDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(COpSynDlg)
|
|
// NOTE: the ClassWizard will add member initialization here
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
COpSynDlg::COpSynDlg(_ConnectionPtr& pConnection, CWnd* pParent)
|
|
: CDialog(COpSynDlg::IDD, pParent)
|
|
{
|
|
m_pConnection = pConnection;
|
|
m_pDev = NULL;
|
|
}
|
|
|
|
|
|
void COpSynDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(COpSynDlg)
|
|
DDX_Control(pDX, IDC_TD_DESN, m_cbDESN);
|
|
DDX_Control(pDX, IDC_OP_SYN_TAB, m_synTab);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(COpSynDlg, CDialog)
|
|
//{{AFX_MSG_MAP(COpSynDlg)
|
|
ON_NOTIFY(TCN_SELCHANGE, IDC_OP_SYN_TAB, OnSelchangeOpSynTab)
|
|
ON_CBN_SELCHANGE(IDC_TD_DESN, OnSelchangeTdDesn)
|
|
ON_WM_SIZE()
|
|
ON_WM_SIZING()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COpSynDlg message handlers
|
|
|
|
BOOL COpSynDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
// TODO: Add extra initialization here
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
{
|
|
SetWindowText(_T("同步"));
|
|
GetDlgItem(IDC_STATIC_SELECT)->SetWindowText(_T("已连接上的主机设备"));
|
|
}
|
|
CString szLabel;
|
|
CTabCtrl* pSynTab = NULL;
|
|
|
|
szLabel.Empty();
|
|
szLabel.LoadString(IDS_SYN_TD + g_UIOffset);
|
|
ASSERT(!szLabel.IsEmpty());
|
|
m_synTab.InsertItem(TAB_INDEX_DMS, szLabel);
|
|
|
|
szLabel.Empty();
|
|
szLabel.LoadString(IDS_SYN_SCRIPT+g_UIOffset);
|
|
ASSERT(!szLabel.IsEmpty());
|
|
m_synTab.InsertItem(TAB_INDEX_SPT, szLabel);
|
|
|
|
m_opSynTDDlg.Create(IDD_OP_SYN_TD, GetDlgItem(IDC_OP_SYN_TAB));
|
|
m_opSynSptDlg.Create(IDD_OP_SYN_SPT, GetDlgItem(IDC_OP_SYN_TAB));
|
|
|
|
pSynTab = (CTabCtrl*)GetDlgItem(IDC_OP_SYN_TAB);
|
|
|
|
if ((NULL != pSynTab) && (VAL_ZERO != m_opSynTDDlg.GetSafeHwnd()) && (VAL_ZERO != m_opSynSptDlg.GetSafeHwnd()))
|
|
{
|
|
CRect rect;
|
|
pSynTab->GetClientRect(&rect);
|
|
|
|
rect.top += 23;
|
|
rect.bottom -= 2;
|
|
rect.left += 2;
|
|
rect.right -= 2;
|
|
|
|
m_opSynTDDlg.MoveWindow(&rect);
|
|
m_opSynSptDlg.MoveWindow(&rect);
|
|
}
|
|
pSynTab = NULL;
|
|
|
|
m_opSynTDDlg.ShowWindow(true);
|
|
m_opSynSptDlg.ShowWindow(false);
|
|
|
|
INIT_EASYSIZE;
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
void COpSynDlg::InitialDevShow()
|
|
{
|
|
if (m_cbDESN.GetCount() > 0)
|
|
{
|
|
m_cbDESN.SetCurSel(0);
|
|
OnSelchangeTdDesn();
|
|
}
|
|
}
|
|
BOOL COpSynDlg::Create(UINT nID, CWnd* pParentWnd)
|
|
{
|
|
// TODO: Add your specialized code here and/or call the base class
|
|
pParentWnd->EnableWindow(FALSE);
|
|
return CDialog::Create(IDD, pParentWnd);
|
|
}
|
|
|
|
void COpSynDlg::OnSelchangeOpSynTab(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
int iCurSel = VAL_MINUS_ONE;
|
|
|
|
iCurSel = m_synTab.GetCurSel();
|
|
switch (iCurSel)
|
|
{
|
|
case TAB_INDEX_DMS:
|
|
m_opSynTDDlg.ShowWindow(true);
|
|
m_opSynSptDlg.ShowWindow(false);
|
|
break;
|
|
|
|
case TAB_INDEX_SPT:
|
|
m_opSynTDDlg.ShowWindow(false);
|
|
m_opSynSptDlg.ShowWindow(true);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
m_synTab.SetFocus();
|
|
|
|
*pResult = 0;
|
|
}
|
|
|
|
void COpSynDlg::OnSelchangeTdDesn()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString szDESN = _T("");
|
|
this->m_opSynTDDlg.ClearAll();
|
|
|
|
szDESN.Empty();
|
|
m_pDev = (CDevice*)this->m_cbDESN.GetItemData(this->m_cbDESN.GetCurSel());
|
|
this->m_cbDESN.GetLBText(this->m_cbDESN.GetCurSel(), szDESN);
|
|
|
|
this->m_opSynSptDlg.m_pDev = m_pDev;
|
|
// this->m_opSynSptDlg.m_szDeSN.Empty();
|
|
// this->m_opSynSptDlg.m_szDeSN = szDESN;
|
|
|
|
|
|
this->m_opSynTDDlg.m_pDev = m_pDev;
|
|
// this->m_opSynTDDlg.m_szDeSN.Empty();
|
|
// this->m_opSynTDDlg.m_szDeSN = szDESN;
|
|
|
|
theApp.m_pProManager->ClearDMSTreeForSyn(this->m_opSynTDDlg.m_dmsTree);
|
|
theApp.m_pProManager->InitialDMSTreeForSyn(this->m_opSynTDDlg.m_dmsTree, szDESN);
|
|
|
|
theApp.m_pSptManager->InitialSptList(this->m_opSynSptDlg.m_locSptList);
|
|
theApp.m_pSptManager->InitialSptListForDev(this->m_opSynSptDlg.m_hostSptList, szDESN);
|
|
}
|
|
|
|
BOOL COpSynDlg::PreTranslateMessage(MSG* pMsg)
|
|
{
|
|
// TODO: Add your specialized code here and/or call the base class
|
|
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
|
|
{
|
|
return TRUE;
|
|
}
|
|
return CDialog::PreTranslateMessage(pMsg);
|
|
}
|
|
|
|
void COpSynDlg::OnSize(UINT nType, int cx, int cy)
|
|
{
|
|
CDialog::OnSize(nType, cx, cy);
|
|
UPDATE_EASYSIZE;
|
|
|
|
//当界面变化时更新CTabCtrl控件中的对话框大小
|
|
CTabCtrl* pSynTab = NULL;
|
|
pSynTab = (CTabCtrl*)GetDlgItem(IDC_OP_SYN_TAB);
|
|
|
|
if ((NULL != pSynTab) && (VAL_ZERO != m_opSynTDDlg.GetSafeHwnd()) && (VAL_ZERO != m_opSynSptDlg.GetSafeHwnd()))
|
|
{
|
|
CRect rect;
|
|
pSynTab->GetClientRect(&rect);
|
|
|
|
rect.top += 23;
|
|
rect.bottom -= 2;
|
|
rect.left += 2;
|
|
rect.right -= 2;
|
|
|
|
m_opSynTDDlg.MoveWindow(&rect);
|
|
m_opSynSptDlg.MoveWindow(&rect);
|
|
}
|
|
pSynTab = NULL;
|
|
|
|
// TODO: Add your message handler code here
|
|
|
|
}
|
|
|
|
void COpSynDlg::OnSizing(UINT fwSide, LPRECT pRect)
|
|
{
|
|
CDialog::OnSizing(fwSide, pRect);
|
|
EASYSIZE_MINSIZE(650,550,fwSide,pRect);
|
|
// TODO: Add your message handler code here
|
|
|
|
}
|