|
|
// SetSaveLineID.cpp : implementation file
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
#include "SetSaveLineID.h"
|
|
|
#include "afxdialogex.h"
|
|
|
#include <iostream>
|
|
|
#include <cstdio>
|
|
|
#include <regex>
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
#define new DEBUG_NEW
|
|
|
#undef THIS_FILE
|
|
|
static char THIS_FILE[] = __FILE__;
|
|
|
#endif
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
// CSetSaveLineID dialog
|
|
|
|
|
|
|
|
|
CSetSaveLineID::CSetSaveLineID(CWnd* pParent /*=NULL*/)
|
|
|
: CBCGPDialog(CSetSaveLineID::IDD, pParent)
|
|
|
{
|
|
|
EnableVisualManagerStyle(TRUE, TRUE);
|
|
|
//{{AFX_DATA_INIT(CSetSaveLineID)
|
|
|
m_lineProperty = 1;
|
|
|
//}}AFX_DATA_INIT
|
|
|
|
|
|
m_strFlyLineName = _T("");
|
|
|
|
|
|
//航线编号
|
|
|
m_designLineID = 0;
|
|
|
|
|
|
m_LineHgt = 1500;
|
|
|
|
|
|
m_bCheck = false;
|
|
|
|
|
|
m_bClosedLine = 1;
|
|
|
|
|
|
m_bCheckMultiLine = false;
|
|
|
}
|
|
|
|
|
|
|
|
|
void CSetSaveLineID::DoDataExchange(CDataExchange* pDX)
|
|
|
{
|
|
|
CBCGPDialog::DoDataExchange(pDX);
|
|
|
//{{AFX_DATA_MAP(CSetSaveLineID)
|
|
|
DDX_Control(pDX, IDC_COMBO_LINEID, m_comboLineID);
|
|
|
DDX_Radio(pDX, IDC_RADIO_LINE, m_lineProperty);
|
|
|
DDX_Text(pDX, IDC_EDIT_LHGT, m_LineHgt);
|
|
|
//}}AFX_DATA_MAP
|
|
|
DDX_Control(pDX, IDC_COMBO_LINECE, m_LineCE);
|
|
|
//DDV_MinMaxDouble(pDX, m_LineHgt, 0.001, 99999.999);
|
|
|
DDX_Control(pDX, IDC_EDIT_LHGT, heightEdit);
|
|
|
}
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSetSaveLineID, CBCGPDialog)
|
|
|
//{{AFX_MSG_MAP(CSetSaveLineID)
|
|
|
ON_CBN_SELCHANGE(IDC_COMBO_LINEID, OnSelchangeComboLineid)
|
|
|
//}}AFX_MSG_MAP
|
|
|
ON_BN_CLICKED(IDOK, CSetSaveLineID::OnBnClickedOk)
|
|
|
//ON_BN_CLICKED(IDC_RADIO3, &CSetSaveLineID::OnBnClickedRadio3)
|
|
|
// ON_EN_CHANGE(IDC_EDIT_LHGT, &CSetSaveLineID::OnEnChangeEditLhgt)
|
|
|
ON_BN_CLICKED(IDC_RADIO_MultiRoute, &CSetSaveLineID::OnBnClickedRadioMultiroute)
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
// CSetSaveLineID message handlers
|
|
|
|
|
|
void CSetSaveLineID::OnSelchangeComboLineid()
|
|
|
{
|
|
|
UpdateData(TRUE);
|
|
|
|
|
|
//航线编号
|
|
|
m_designLineID = m_comboLineID.GetCurSel()+1;
|
|
|
|
|
|
//2023.0616
|
|
|
////航线文件名称
|
|
|
//m_strFlyLineName = GetFlyLineName(m_designLineID);
|
|
|
//
|
|
|
////判断文件是否存在
|
|
|
/*if (SearchDirectory(m_strFlyLineName))
|
|
|
{
|
|
|
if ( BCGPMessageBox( "已经存在该文件,是否覆盖?", MB_ICONQUESTION + MB_YESNO ) == IDYES )
|
|
|
{*/
|
|
|
GetDlgItem(IDOK)->EnableWindow(TRUE);//2023.0616
|
|
|
|
|
|
//发送到主程序,判断是否已经显示了
|
|
|
if (g_viewHwnd != NULL)
|
|
|
{
|
|
|
::PostMessage(g_viewHwnd, WM_CHECK_FLY_LINE_STATUS, WPARAM(m_designLineID), 0);
|
|
|
}
|
|
|
//2023.0616
|
|
|
/*}
|
|
|
else
|
|
|
{
|
|
|
m_strFlyLineName = _T("");
|
|
|
GetDlgItem(IDOK)->EnableWindow(FALSE);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
GetDlgItem(IDOK)->EnableWindow(TRUE);
|
|
|
}*/
|
|
|
//2023.0616
|
|
|
}
|
|
|
|
|
|
|
|
|
BOOL CSetSaveLineID::OnInitDialog()
|
|
|
{
|
|
|
CBCGPDialog::OnInitDialog();
|
|
|
|
|
|
CString str = _T("");
|
|
|
|
|
|
int i = 0;
|
|
|
for (i=0; i<5; ++i)
|
|
|
{
|
|
|
str.Format(_T("%d"), i+1);
|
|
|
m_comboLineID.InsertString(i, str);
|
|
|
}
|
|
|
m_comboLineID.InsertString(i, _T("应急航线"));
|
|
|
m_comboLineID.InsertString(i+1, _T("电子围栏"));
|
|
|
GetDlgItem(IDOK)->EnableWindow(FALSE);
|
|
|
|
|
|
m_LineCE.InsertString(0,_T("开合"));
|
|
|
m_LineCE.InsertString(1,_T("闭合"));
|
|
|
//GetDlgItem(IDC_RADIO3)->EnableWindow(TRUE);
|
|
|
if (g_b981CDesktop)
|
|
|
{
|
|
|
/*
|
|
|
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(true);
|
|
|
m_bCheck = true;*/
|
|
|
m_LineCE.SetCurSel(1);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
/*
|
|
|
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(false);
|
|
|
m_bCheck = false;*/
|
|
|
m_LineCE.SetCurSel(0);
|
|
|
}
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
// 异常: OCX 属性页应返回 FALSE
|
|
|
}
|
|
|
|
|
|
|
|
|
void CSetSaveLineID::OnBnClickedOk()
|
|
|
{
|
|
|
//航线编号
|
|
|
//m_designLineID = m_comboLineID.GetCurSel()+1;
|
|
|
m_designLineID = GetLineID();
|
|
|
m_bClosedLine = m_LineCE.GetCurSel();
|
|
|
|
|
|
// 判断高度输入是否有效. 整数部分不超过5位数,小数点后1-3位,正数
|
|
|
string str = "^\\d{0,5}(\\.\\d{1,2})?$";
|
|
|
regex heightCheck(str);
|
|
|
CString strHeight;
|
|
|
heightEdit.GetWindowTextA(strHeight);
|
|
|
char* temp = strHeight.GetBuffer(strHeight.GetLength());
|
|
|
string asHeight = temp;
|
|
|
bool isNumber = regex_match(asHeight,heightCheck);
|
|
|
if(!isNumber){
|
|
|
BCGPMessageBox("高度设置不合法,请输入0-99999.99之间的数字");
|
|
|
return;
|
|
|
}
|
|
|
CBCGPDialog::OnOK();
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
void CSetSaveLineID::OnBnClickedRadio3()
|
|
|
{
|
|
|
if (!m_bCheck)
|
|
|
{
|
|
|
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(true);
|
|
|
m_bCheck = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(false);
|
|
|
m_bCheck = false;
|
|
|
}
|
|
|
}*/
|
|
|
|
|
|
//获取航线ID
|
|
|
int CSetSaveLineID::GetLineID()
|
|
|
{
|
|
|
CString str;
|
|
|
m_comboLineID.GetWindowTextA(str);
|
|
|
if (g_b981ADesktop || g_b981APad)
|
|
|
{
|
|
|
if (str=="应急航线")
|
|
|
{
|
|
|
return 11;
|
|
|
}
|
|
|
else if (str=="电子围栏")
|
|
|
{
|
|
|
return 12;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return _ttoi(str);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (g_b981CDesktop)
|
|
|
{
|
|
|
if (str=="应急航线")
|
|
|
{
|
|
|
return 7;
|
|
|
}
|
|
|
else if (str=="电子围栏")
|
|
|
{
|
|
|
return 6;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return _ttoi(str);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//选择批量航线
|
|
|
void CSetSaveLineID::OnBnClickedRadioMultiroute()
|
|
|
{
|
|
|
if (!m_bCheckMultiLine)
|
|
|
{
|
|
|
((CButton *)GetDlgItem(IDC_RADIO_MultiRoute))->SetCheck(true);
|
|
|
m_bCheckMultiLine = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
((CButton *)GetDlgItem(IDC_RADIO_MultiRoute))->SetCheck(false);
|
|
|
m_bCheckMultiLine = false;
|
|
|
}
|
|
|
}
|