312 lines
9.4 KiB
C++
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();
|
|
} |