Files
envi-code/SourceCode/Code2026/tg_shs/shs_kerncmd/UserOpreatorSet.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

312 lines
9.4 KiB
C++

// UserOpreatorSet.cpp : 实现文件
//
#include "stdafx.h"
#include "UserOpreatorSet.h"
// CUserOpreatorSet 对话框
extern TARCH_IMPEXP BOOL g_bDwgTabBar,g_bZoomKey,g_nRBtnMenuTime,g_nSpeedMenu;
extern TARCH_IMPEXP void SaveGlobalToReg();
extern TARCH_IMPEXP BOOL g_bEnableSelectPreview;//是否选择预览
extern TARCH_IMPEXP BOOL g_bAutoFocus;//自动十字光标
extern TARCH_IMPEXP BOOL g_bAutoOpenRecent;
extern TARCH_IMPEXP double g_nWalkDistStep;
extern TARCH_IMPEXP double g_nWalkAngleStep;
IMPLEMENT_DYNAMIC(CUserOpreatorSet, CAcUiTabChildDialog)
CUserOpreatorSet::CUserOpreatorSet(CWnd* pParent /*=NULL*/)
: CAcUiTabChildDialog(pParent)
{
//{{AFX_DATA_INIT(CFontPropertyPage)
m_bChecked = FALSE;
m_nRClick = -1;
m_bShortcutMenu = FALSE;
m_bZoomKey=g_bZoomKey;
m_nMenuTime=g_nRBtnMenuTime;
m_nRClick = g_nSpeedMenu-1;
m_bShortcutMenu = (g_nSpeedMenu!=0);
m_bAutoCross = g_bAutoFocus;
m_bPreView = g_bEnableSelectPreview;
m_bAutoRecent = g_bAutoOpenRecent;
m_bModelNumber=g_bModelNumber;
m_nWallNumber=AS_INT(g_nWallStep);
m_nWindowNumber=AS_INT(g_nWinStep);
m_csWalkDist = (const TCHAR *)Dist2Str(g_nWalkDistStep);
m_csWalkAngle.Format(_T("%.2f"), g_nWalkAngleStep*180/PI);
//}}AFX_DATA_INIT
}
CUserOpreatorSet::~CUserOpreatorSet()
{
}
void CUserOpreatorSet::DoDataExchange(CDataExchange* pDX)
{
CAcUiTabChildDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFontPropertyPage)
DDX_Radio(pDX, IDC_RCLICK, m_nRClick);
DDX_Check(pDX, IDC_SHORTCUT_MENU, m_bShortcutMenu);
DDX_Check(pDX, IDC_ZOOM_KEY, m_bZoomKey);
DDX_Check(pDX,IDC_PREVIEW_KEY,m_bPreView);
DDX_Check(pDX,IDC_AUTOCROSS_KEY,m_bAutoCross);
DDX_Text(pDX, IDC_MENU_TIME, m_nMenuTime);
DDV_MinMaxUInt(pDX, m_nMenuTime, 0, 5000);
if (!pDX->m_bSaveAndValidate)
{
GetDlgItem(IDC_WALL_NUMBER)->EnableWindow(m_bModelNumber);
GetDlgItem(IDC_WINDOW_NUMBER)->EnableWindow(m_bModelNumber);
GetDlgItem(IDC_RCLICK)->EnableWindow(m_bShortcutMenu);
GetDlgItem(IDC_CTRL_RCLICK)->EnableWindow(m_bShortcutMenu);
GetDlgItem(IDC_SLOW_RCLICK)->EnableWindow(m_bShortcutMenu);
GetDlgItem(IDC_MENU_TIME)->EnableWindow(m_bShortcutMenu&&m_nRClick==2);
}
DDX_Check(pDX, IDC_MODEL_NUMBER, m_bModelNumber);
DDX_Text(pDX, IDC_WALL_NUMBER, m_nWallNumber);
DDV_MinMaxUInt(pDX, m_nWallNumber, 10, 1000);
DDX_Text(pDX, IDC_WINDOW_NUMBER, m_nWindowNumber);
DDV_MinMaxUInt(pDX, m_nWindowNumber, 1, 300);
DDX_Text(pDX, IDC_WALK_DIST, m_csWalkDist);
DDX_Text(pDX, IDC_WALK_ANGLE, m_csWalkAngle);
DDX_Check(pDX, IDC_AUTO_RECENT, m_bAutoRecent);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserOpreatorSet, CAcUiTabChildDialog)
//{{AFX_MSG_MAP(CFontPropertyPage)
//add by fxj 080925
ON_BN_CLICKED(IDC_MODEL_NUMBER, OnModelNumber)
ON_BN_CLICKED(IDC_SHORTCUT_MENU, OnShortcutMenu)
ON_BN_CLICKED(IDC_RCLICK, OnBnClickedRclick)
ON_BN_CLICKED(IDC_CTRL_RCLICK, OnBnClickedCtrlRclick)
ON_BN_CLICKED(IDC_PREVIEW_KEY, OnBnClickedCtrlRclick)
ON_BN_CLICKED(IDC_AUTOCROSS_KEY, OnBnClickedCtrlRclick)
ON_BN_CLICKED(IDC_AUTO_RECENT, OnBnClickedCtrlRclick)
ON_BN_CLICKED(IDC_SLOW_RCLICK, OnBnClickedSlowRclick)
ON_MESSAGE(TARCH_SETTING_MSG_UPDATA,OnReUpdataDlg)
ON_EN_CHANGE(IDC_WALL_NUMBER, OnEnChangeWallNumber)
ON_EN_CHANGE(IDC_WINDOW_NUMBER, OnEnChangeWallNumber)
ON_EN_CHANGE(IDC_MENU_TIME, OnEnChangeWallNumber)
ON_EN_CHANGE(IDC_WALK_DIST, OnEnChangeWallNumber)
ON_EN_CHANGE(IDC_WALK_ANGLE, OnEnChangeWallNumber)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_ZOOM_KEY, OnBnClickedZoomKey)
END_MESSAGE_MAP()
void CUserOpreatorSet::OnModelNumber()
{
m_bModelNumber=!m_bModelNumber;
GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION);
GetDlgItem(IDC_WALL_NUMBER)->EnableWindow(m_bModelNumber);
GetDlgItem(IDC_WINDOW_NUMBER)->EnableWindow(m_bModelNumber);
}
void CUserOpreatorSet::OnEnChangeWallNumber()
{
GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION);
}
LRESULT CUserOpreatorSet::OnReUpdataDlg(WPARAM w,LPARAM l)
{
m_nRClick = -1;
m_bShortcutMenu = FALSE;
m_bZoomKey=g_bZoomKey;
m_nMenuTime=g_nRBtnMenuTime;
m_nRClick = g_nSpeedMenu-1;
m_bShortcutMenu = (g_nSpeedMenu!=0);
m_bAutoCross = g_bAutoFocus;
m_bPreView = g_bEnableSelectPreview;
m_bAutoRecent = g_bAutoOpenRecent;
m_bModelNumber=g_bModelNumber;
m_nWallNumber=AS_INT(g_nWallStep);
m_nWindowNumber=AS_INT(g_nWinStep);
m_csWalkDist = (const TCHAR *)Dist2Str(g_nWalkDistStep);
m_csWalkAngle.Format(_T("%.2f"), g_nWalkAngleStep*180/PI);
UpdateData(FALSE);
ApplySet();
return 0;
}
BOOL CUserOpreatorSet::OnInitDialog()
{
CAcUiTabChildDialog::OnInitDialog();
m_nRClick = -1;
m_bShortcutMenu = FALSE;
m_bZoomKey=g_bZoomKey;
m_nMenuTime=g_nRBtnMenuTime;
m_nRClick = g_nSpeedMenu-1;
m_bShortcutMenu = (g_nSpeedMenu!=0);
m_bAutoCross = g_bAutoFocus;
m_bPreView = g_bEnableSelectPreview;
m_bAutoRecent = g_bAutoOpenRecent;
m_bModelNumber=g_bModelNumber;
m_nWallNumber=AS_INT(g_nWallStep);
m_nWindowNumber=AS_INT(g_nWinStep);
m_csWalkDist = (const TCHAR *)Dist2Str(g_nWalkDistStep);
m_csWalkAngle.Format(_T("%.2f"), g_nWalkAngleStep*180/PI);
UpdateData(FALSE);
#if ADS>16
GetDlgItem(IDC_PREVIEW_KEY)->EnableWindow(FALSE);
GetDlgItem(IDC_WALK_DIST)->EnableWindow(FALSE);
GetDlgItem(IDC_WALK_ANGLE)->EnableWindow(FALSE);
#else
GetDlgItem(IDC_PREVIEW_KEY)->EnableWindow(TRUE);
GetDlgItem(IDC_WALK_DIST)->EnableWindow(TRUE);
GetDlgItem(IDC_WALK_ANGLE)->EnableWindow(TRUE);
#endif
// ywb 090908 for TSun8.0
extern int TARCH_IMPEXP g_nProductId;
if (g_nProductId == kTSUN)
{
CWnd* pWndFiles = GetDlgItem(IDC_AUTO_RECENT);
assert(pWndFiles != NULL);
pWndFiles->ShowWindow(SW_HIDE);
CWnd* pWndDynMode = GetDlgItem(IDC_MODEL_NUMBER);
assert(pWndDynMode != NULL);
pWndDynMode->ShowWindow(SW_HIDE);
CWnd* pStaticWall = GetDlgItem(IDC_STATIC_WALL);
assert(pStaticWall != NULL);
pStaticWall->ShowWindow(SW_HIDE);
CWnd* pStaticDoor = GetDlgItem(IDC_STATIC_DOOR);
assert(pStaticDoor != NULL);
pStaticDoor->ShowWindow(SW_HIDE);
CWnd* pStaticStep = GetDlgItem(IDC_STATIC_STEP);
assert(pStaticStep != NULL);
pStaticStep->ShowWindow(SW_HIDE);
CWnd* pStaticAngStep = GetDlgItem(IDC_STATIC_ANG_STEP);
assert(pStaticAngStep != NULL);
pStaticAngStep->ShowWindow(SW_HIDE);
CWnd* pEdtStep = GetDlgItem(IDC_WALL_NUMBER);
assert(pEdtStep != NULL);
pEdtStep->ShowWindow(SW_HIDE);
CWnd* pEdtDoor = GetDlgItem(IDC_WINDOW_NUMBER);
assert(pEdtDoor != NULL);
pEdtDoor->ShowWindow(SW_HIDE);
CWnd* pEdtWalkDist = GetDlgItem(IDC_WALK_DIST);
assert(pEdtWalkDist != NULL);
pEdtWalkDist->ShowWindow(SW_HIDE);
CWnd* pEdtWalkAng = GetDlgItem(IDC_WALK_ANGLE);
assert(pEdtWalkAng != NULL);
pEdtWalkAng->ShowWindow(SW_HIDE);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUserOpreatorSet::OnOK()
{
CAcUiTabChildDialog::OnOK();
if (!m_bShortcutMenu) g_nSpeedMenu=0;
else g_nSpeedMenu=m_nRClick+1;
g_bZoomKey=m_bZoomKey;
g_nRBtnMenuTime=m_nMenuTime;
g_bAutoFocus= m_bAutoCross;
g_bEnableSelectPreview = m_bPreView;
g_bAutoOpenRecent = m_bAutoRecent;
g_bModelNumber=m_bModelNumber;
g_nWinStep=m_nWindowNumber;
g_nWallStep=m_nWallNumber;
double nTempVal=_tstof(m_csWalkDist);
if (nTempVal>_DIST_SNAP)
g_nWalkDistStep=nTempVal;
nTempVal=_tstof(m_csWalkAngle);
nTempVal *= PI/180.0;
if (nTempVal>_angSnap)
g_nWalkAngleStep=nTempVal;
SaveGlobalToReg();
}
// CUserOpreatorSet 消息处理程序
void CUserOpreatorSet::OnShortcutMenu()
{
m_bShortcutMenu=!m_bShortcutMenu;
m_nRClick = m_bShortcutMenu-1;
GetDlgItem(IDC_RCLICK)->EnableWindow(m_bShortcutMenu);
GetDlgItem(IDC_CTRL_RCLICK)->EnableWindow(m_bShortcutMenu);
GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION);
UpdateData(FALSE);
m_bChecked = TRUE;
}
void CUserOpreatorSet::OnBnClickedRclick()
{
UpdateData();
UpdateData(FALSE);
GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION);
m_bChecked = TRUE;
}
//
void CUserOpreatorSet::OnBnClickedCtrlRclick()
{
UpdateData();
UpdateData(FALSE);
GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION);
m_bChecked = TRUE;
}
void CUserOpreatorSet::OnBnClickedSlowRclick()
{
UpdateData();
UpdateData(FALSE);
GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION);
m_bChecked = TRUE;
}
void CUserOpreatorSet::OnBnClickedZoomKey()
{
GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION);
m_bChecked = TRUE;
}
void CUserOpreatorSet::ApplySet()
{
UpdateData(TRUE);
if (!m_bShortcutMenu) g_nSpeedMenu=0;
else g_nSpeedMenu=m_nRClick+1;
g_bZoomKey=m_bZoomKey;
g_nRBtnMenuTime=m_nMenuTime;
g_bAutoFocus= m_bAutoCross;
g_bEnableSelectPreview = m_bPreView;
g_bAutoOpenRecent = m_bAutoRecent;
g_bModelNumber=m_bModelNumber;
g_nWinStep=m_nWindowNumber;
g_nWallStep=m_nWallNumber;
double nTempVal=_tstof(m_csWalkDist);
if (nTempVal>_DIST_SNAP)
g_nWalkDistStep=nTempVal;
nTempVal=_tstof(m_csWalkAngle);
nTempVal *= PI/180.0;
if (nTempVal>_angSnap)
g_nWalkAngleStep=nTempVal;
SaveGlobalToReg();
// UpdateData(FALSE);
}
void CUserOpreatorSet::UpdateGlobalData()
{
if (!m_bShortcutMenu) g_nSpeedMenu=0;
else g_nSpeedMenu=m_nRClick+1;
g_bZoomKey=m_bZoomKey;
g_nRBtnMenuTime=m_nMenuTime;
g_bAutoFocus= m_bAutoCross;
g_bEnableSelectPreview = m_bPreView;
g_bAutoOpenRecent = m_bAutoRecent;
g_bModelNumber=m_bModelNumber;
g_nWinStep=m_nWindowNumber;
g_nWallStep=m_nWallNumber;
double nTempVal=_tstof(m_csWalkDist);
if (nTempVal>_DIST_SNAP)
g_nWalkDistStep=nTempVal;
nTempVal=_tstof(m_csWalkAngle);
nTempVal *= PI/180.0;
if (nTempVal>_angSnap)
g_nWalkAngleStep=nTempVal;
SaveGlobalToReg();
}