// PropertiesDlg.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "EtActionTool.h" #include "PropertiesDlg.h" #include "SignalManager.h" #include "RenderBase.h" #include "GlobalValue.h" // CPropertiesDlg ´ëÈ­ »óÀÚÀÔ´Ï´Ù. 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 ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. BOOL CPropertiesDlg::OnInitDialog() { CDialog::OnInitDialog(); if( CGlobalValue::GetInstance().IsOpenAction() ) { MessageBox( "ÆÄÀÏÀÌ ¿­·ÁÀÖÀ¸¸é ¼³Á¤À» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. ´Ý¾ÆÁà", "¿¡·¯", MB_OK ); OnOK(); return TRUE; } // TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ­ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù. 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 // ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù. } void CPropertiesDlg::OnBnClickedOk() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateData(); if( m_szWorkingFolder.IsEmpty() || m_szShaderFolder.IsEmpty() || m_szResourceFolder.IsEmpty() ) { MessageBox( "Æú´õ¸¦ ¼³Á¤ÇØ ÁÖ¼¼¿ä", "¿¡·¯", 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: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. if( m_bDisableCancel == true ) return; OnCancel(); } void CPropertiesDlg::OnBnClickedButton1() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. 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: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. 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: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. 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); } }