DragonNest/Client/EtActionTool/EventEditView_Finish.cpp

163 lines
4.4 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
// EventEditView_Finish.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#include "stdafx.h"
#include "EtActionTool.h"
#include "EventEditView_Finish.h"
#include "SignalManager.h"
#include "GlobalValue.h"
#include "UnionValueProperty.h"
// CEventEditView_Finish
IMPLEMENT_DYNCREATE(CEventEditView_Finish, CFormView)
CEventEditView_Finish::CEventEditView_Finish()
: CFormView(CEventEditView_Finish::IDD)
, m_bCheckExport(FALSE)
, m_szExportFileName("")
{
}
CEventEditView_Finish::~CEventEditView_Finish()
{
}
void CEventEditView_Finish::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Check(pDX, IDC_CHECK1, m_bCheckExport);
DDX_Text(pDX, IDC_EDIT1, m_szExportFileName);
}
BEGIN_MESSAGE_MAP(CEventEditView_Finish, CFormView)
ON_BN_CLICKED(IDC_CHECK1, &CEventEditView_Finish::OnBnClickedCheck1)
ON_BN_CLICKED(IDC_BUTTON1, &CEventEditView_Finish::OnBnClickedButton1)
END_MESSAGE_MAP()
// CEventEditView_Finish <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
#ifdef _DEBUG
void CEventEditView_Finish::AssertValid() const
{
CFormView::AssertValid();
}
#ifndef _WIN32_WCE
void CEventEditView_Finish::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif
#endif //_DEBUG
// CEventEditView_Finish <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
void CEventEditView_Finish::OnBnClickedCheck1()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
UpdateData();
GetDlgItem( IDC_EDIT1 )->EnableWindow( m_bCheckExport );
GetDlgItem( IDC_BUTTON1 )->EnableWindow( m_bCheckExport );
}
void CEventEditView_Finish::PreProcess()
{
char szStr[2048] = { 0, };
GetRegistryString( HKEY_CURRENT_USER, REG_SUBKEY, "LastExportFullName", szStr, 2048 );
DWORD dwValue;
GetRegistryNumber( HKEY_CURRENT_USER, REG_SUBKEY, "ExportHeader", dwValue );
m_szExportFileName = szStr;
m_bCheckExport = ( dwValue == TRUE );
GetDlgItem( IDC_EDIT1 )->EnableWindow( m_bCheckExport );
GetDlgItem( IDC_BUTTON1 )->EnableWindow( m_bCheckExport );
UpdateData( FALSE );
}
bool CEventEditView_Finish::PostProcess()
{
UpdateData();
if( m_bCheckExport == TRUE ) {
if( m_szExportFileName.IsEmpty() ) {
MessageBox( "<EFBFBD>ͽ<EFBFBD><EFBFBD><EFBFBD>Ʈ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
FILE *fp;
fopen_s( &fp, m_szExportFileName, "wt" );
if( fp == NULL ) {
MessageBox( "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
fclose(fp);
}
switch( s_nStartType ) {
case 0:
CSignalManager::GetInstance().AddSignalItem( s_pCurrentSignalItem );
s_pCurrentSignalItem = NULL;
break;
case 1:
{
CSignalItem *pItem = CSignalManager::GetInstance().GetSignalItemFromName( s_szCurrentSignalName );
pItem->SetName( s_pCurrentSignalItem->GetName() );
pItem->SetInitialsColor( s_pCurrentSignalItem->GetInitialsColor() );
pItem->SetBackgroundColor( s_pCurrentSignalItem->GetBackgroundColor() );
pItem->SetHasLength( s_pCurrentSignalItem->IsHasLength() );
SAFE_DELETE( s_pCurrentSignalItem );
}
break;
case 2:
CSignalManager::GetInstance().RemoveSignalItem( s_szCurrentSignalName );
break;
case 3:
if( s_pCurrentSignalItem->AddParameter( s_pCurrentPropertyVariable, true ) == false ) {
SAFE_DELETE( s_pCurrentPropertyVariable );
MessageBox( "<EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF>ؿ<EFBFBD>!!", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
}
s_pCurrentSignalItem = NULL;
s_pCurrentPropertyVariable = NULL;
break;
case 4:
{
CUnionValueProperty *pVariable = s_pCurrentSignalItem->GetParameterFromName( s_szCurrentPropertyName );
*pVariable = *s_pCurrentPropertyVariable;
s_pCurrentSignalItem = NULL;
SAFE_DELETE( s_pCurrentPropertyVariable );
}
break;
case 5:
s_pCurrentSignalItem->RemoveParameter( s_szCurrentPropertyName );
break;
}
if( m_bCheckExport == TRUE ) {
CSignalManager::GetInstance().ExportHeader( m_szExportFileName );
SetRegistryString( HKEY_CURRENT_USER, REG_SUBKEY, "LastExportFullName", m_szExportFileName.GetBuffer() );
}
SetRegistryNumber( HKEY_CURRENT_USER, REG_SUBKEY, "ExportHeader", (DWORD)m_bCheckExport );
return true;
}
void CEventEditView_Finish::OnBnClickedButton1()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
TCHAR szFilter[] = _T( "C/C++ Header File (*.h)|*.h|All Files (*.*)|*.*||" );
CFileDialog dlg( FALSE, _T("h"), _T("*.h"), OFN_HIDEREADONLY|OFN_PATHMUSTEXIST|OFN_ENABLESIZING , szFilter, this );
dlg.m_ofn.lpstrTitle = "Export Eternity ActionTool Signal Refrence Header File";
if( dlg.DoModal() == IDOK ) {
m_szExportFileName = dlg.GetPathName();
UpdateData( FALSE );
}
}