DragonNest/Client/EtActionTool/PropertiesDlg.cpp

151 lines
4.2 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
// PropertiesDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#include "stdafx.h"
#include "EtActionTool.h"
#include "PropertiesDlg.h"
#include "SignalManager.h"
#include "RenderBase.h"
#include "GlobalValue.h"
// CPropertiesDlg <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
IMPLEMENT_DYNAMIC(CPropertiesDlg, CDialog)
CPropertiesDlg::CPropertiesDlg(CWnd* pParent /*=NULL*/)
: CDialog(CPropertiesDlg::IDD, pParent)
, m_szWorkingFolder(_T(""))
, m_szShaderFolder(_T(""))
, m_szResourceFolder(_T(""))
{
m_bDisableCancel = false;
}
CPropertiesDlg::~CPropertiesDlg()
{
}
void CPropertiesDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_szWorkingFolder);
DDX_Text(pDX, IDC_EDIT6, m_szShaderFolder);
DDX_Text(pDX, IDC_EDIT7, m_szResourceFolder);
}
BEGIN_MESSAGE_MAP(CPropertiesDlg, CDialog)
ON_BN_CLICKED(IDOK, &CPropertiesDlg::OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, &CPropertiesDlg::OnBnClickedCancel)
ON_BN_CLICKED(IDC_BUTTON1, &CPropertiesDlg::OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON3, &CPropertiesDlg::OnBnClickedButton3)
ON_BN_CLICKED(IDC_BUTTON4, &CPropertiesDlg::OnBnClickedButton4)
END_MESSAGE_MAP()
// CPropertiesDlg <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
BOOL CPropertiesDlg::OnInitDialog()
{
CDialog::OnInitDialog();
if( CGlobalValue::GetInstance().IsOpenAction() ) {
MessageBox( "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. <20>ݾ<EFBFBD><DDBE><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
OnOK();
return TRUE;
}
// TODO: <20><><EFBFBD><20>߰<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
m_szWorkingFolder = CSignalManager::GetInstance().GetWorkingFolder();
m_szShaderFolder = CRenderBase::GetInstance().GetShaderFolder();
m_szResourceFolder = CRenderBase::GetInstance().GetResourceFolder();
UpdateData( FALSE );
if( m_bDisableCancel == true )
GetDlgItem( IDCANCEL )->EnableWindow( FALSE );
return TRUE; // return TRUE unless you set the focus to a control
// <20><><EFBFBD><EFBFBD>: OCX <20>Ӽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE<53><45> <20><>ȯ<EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
}
void CPropertiesDlg::OnBnClickedOk()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
UpdateData();
if( m_szWorkingFolder.IsEmpty() || m_szShaderFolder.IsEmpty() || m_szResourceFolder.IsEmpty() ) {
MessageBox( "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return;
}
SetRegistryString( HKEY_CURRENT_USER, REG_SUBKEY, "WorkingFolder", m_szWorkingFolder.GetBuffer() );
SetRegistryString( HKEY_CURRENT_USER, REG_SUBKEY, "ShaderFolder", m_szShaderFolder.GetBuffer() );
SetRegistryString( HKEY_CURRENT_USER, REG_SUBKEY, "ResourceFolder", m_szResourceFolder.GetBuffer() );
if( CRenderBase::GetInstance().GetShaderFolder() != m_szShaderFolder )
CRenderBase::GetInstance().ChangeShaderFolder( m_szShaderFolder );
if( CSignalManager::GetInstance().GetWorkingFolder() != m_szWorkingFolder )
CSignalManager::GetInstance().ChangeWorkingFolder( m_szWorkingFolder );
if( CRenderBase::GetInstance().GetResourceFolder() != m_szResourceFolder )
CRenderBase::GetInstance().ChangeResourceFolder( m_szResourceFolder );
OnOK();
}
void CPropertiesDlg::OnBnClickedCancel()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
if( m_bDisableCancel == true ) return;
OnCancel();
}
void CPropertiesDlg::OnBnClickedButton1()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
CXTBrowseDialog Dlg;
UpdateData(TRUE);
Dlg.SetTitle(_T("Select Working Directory"));
if( !m_szWorkingFolder.IsEmpty() ) {
TCHAR path[_MAX_PATH];
STRCPY_S(path, _MAX_PATH, m_szWorkingFolder);
Dlg.SetSelPath(path);
}
if( Dlg.DoModal() == IDOK ) {
m_szWorkingFolder = Dlg.GetSelPath();
UpdateData(FALSE);
}
}
void CPropertiesDlg::OnBnClickedButton3()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
CXTBrowseDialog Dlg;
UpdateData(TRUE);
Dlg.SetTitle(_T("Select Shader Directory"));
if( !m_szShaderFolder.IsEmpty() ) {
TCHAR path[_MAX_PATH];
STRCPY_S(path, _MAX_PATH, m_szShaderFolder);
Dlg.SetSelPath(path);
}
if( Dlg.DoModal() == IDOK ) {
m_szShaderFolder = Dlg.GetSelPath();
UpdateData(FALSE);
}
}
void CPropertiesDlg::OnBnClickedButton4()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
CXTBrowseDialog Dlg;
UpdateData(TRUE);
Dlg.SetTitle(_T("Select Resource Directory"));
if( !m_szShaderFolder.IsEmpty() ) {
TCHAR path[_MAX_PATH];
STRCPY_S(path, _MAX_PATH, m_szResourceFolder);
Dlg.SetSelPath(path);
}
if( Dlg.DoModal() == IDOK ) {
m_szResourceFolder = Dlg.GetSelPath();
UpdateData(FALSE);
}
}