171 lines
4.5 KiB
C++
171 lines
4.5 KiB
C++
/*
|
|
=======================================================================================
|
|
Name : ChkData.cpp
|
|
|
|
Author : vincent lhullier Date :08/09/97
|
|
|
|
Description : main Application
|
|
=======================================================================================
|
|
*/
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#include "stdafx.h"
|
|
|
|
#include "SCR.h"
|
|
|
|
#include "ChkData.h"
|
|
#include "ChkDataDlg.h"
|
|
#include "IniData.h"
|
|
#include "Tree_fct.h"
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
|
|
/*
|
|
=======================================================================================
|
|
The one and only CChkDataApp object
|
|
=======================================================================================
|
|
*/
|
|
CChkDataApp theApp;
|
|
|
|
/*
|
|
=======================================================================================
|
|
CChkDataApp
|
|
=======================================================================================
|
|
*/
|
|
|
|
/*
|
|
----------------------------------------------------------------------------------------
|
|
Description : message map
|
|
----------------------------------------------------------------------------------------
|
|
*/
|
|
BEGIN_MESSAGE_MAP(CChkDataApp, CWinApp)
|
|
//{{AFX_MSG_MAP(CChkDataApp)
|
|
//}}AFX_MSG
|
|
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
/*
|
|
----------------------------------------------------------------------------------------
|
|
Description : constructor
|
|
----------------------------------------------------------------------------------------
|
|
*/
|
|
CChkDataApp::CChkDataApp()
|
|
{
|
|
}
|
|
|
|
/*
|
|
---------------------------------------------------------------------------------------
|
|
call back for wait dialog
|
|
---------------------------------------------------------------------------------------
|
|
*/
|
|
BOOL CALLBACK fn_bWaitDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
|
{
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
static UINT uiTimer;
|
|
static char cInit;
|
|
BOOL bResult;
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
switch (uMsg)
|
|
{
|
|
case WM_INITDIALOG:
|
|
SetWindowText(hwndDlg, "Load files infos" );
|
|
cInit = 1;
|
|
return TRUE;
|
|
|
|
case WM_SHOWWINDOW:
|
|
if (cInit)
|
|
{
|
|
cInit = 0;
|
|
uiTimer = SetTimer( hwndDlg, 1, 100, NULL );
|
|
}
|
|
break;
|
|
|
|
case WM_TIMER:
|
|
KillTimer( hwndDlg, uiTimer );
|
|
bResult = fn_Tree_bBuildFromDisk( &g_p_stRootProject, g_stIniData.szLocalPath, GetDlgItem( hwndDlg, IDC_STATIC_PROJECT ) );
|
|
EndDialog( hwndDlg, bResult?1:0 );
|
|
break;
|
|
}
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
|
|
/*
|
|
----------------------------------------------------------------------------------------
|
|
Description : CChkDataApp initialization
|
|
----------------------------------------------------------------------------------------
|
|
*/
|
|
BOOL CChkDataApp::InitInstance()
|
|
{
|
|
// Standard initialization
|
|
|
|
#ifdef _AFXDLL
|
|
Enable3dControls(); // Call this when using MFC in a shared DLL
|
|
#else
|
|
Enable3dControlsStatic(); // Call this when linking to MFC statically
|
|
#endif
|
|
|
|
/*
|
|
* Init script and memory module
|
|
*/
|
|
Mmg_fn_vFirstInitMmgModule(1);
|
|
SCR_fn_v_RdL0_Init();
|
|
|
|
SCR_fn_v_Link_InitTable( &g_stSectionTypeLinkTable );
|
|
SCR_fn_v_Link_InitTable( &g_stSectionLinkTable );
|
|
SCR_fn_v_Link_InitTable( &g_stRefLinkTable );
|
|
SCR_fn_v_Link_InitTable( &g_stFileLinkTable );
|
|
|
|
fn_IniD_vGetAllFromIniFile( TRUE );
|
|
fn_IniD_vGetWindowPreference();
|
|
|
|
int iResult = DialogBox( AfxGetInstanceHandle(), MAKEINTRESOURCE( IDD_DIALOG_WAIT ), ::GetDesktopWindow(), fn_bWaitDialogProc );
|
|
if ( iResult != 1)
|
|
{
|
|
AfxMessageBox("Can't read file and disk information", MB_OK, MB_ICONSTOP );
|
|
return FALSE;
|
|
}
|
|
strcpy( g_p_stRootProject->szName, g_stIniData.szLocalPath + g_stIniData.lRootForSectionLength );
|
|
|
|
if (_access( g_stIniData.szSectionFile, 0) == 0)
|
|
fn_Scr_vLoadSectionTypes();
|
|
|
|
CChkDataDlg dlg;
|
|
m_pMainWnd = &dlg;
|
|
int nResponse = dlg.DoModal();
|
|
if (nResponse == IDOK)
|
|
{
|
|
}
|
|
else if (nResponse == IDCANCEL)
|
|
{
|
|
}
|
|
|
|
fn_Tree_vFreeFileTypeList();
|
|
fn_Tree_vFreeProjectTree( g_p_stRootProject, TRUE );
|
|
fn_IniD_vFreeFileList( &g_stIniData.stCheckConfig );
|
|
fn_Scr_vFreeSectionTypeList();
|
|
SCR_fn_v_Link_CloseTable( &g_stSectionTypeLinkTable );
|
|
fn_Scr_vFreeSectionList();
|
|
SCR_fn_v_Link_CloseTable( &g_stSectionLinkTable );
|
|
SCR_fn_v_Link_CloseTable( &g_stRefLinkTable );
|
|
fn_Scr_vFreeLTFile();
|
|
SCR_fn_v_Link_CloseTable( &g_stFileLinkTable );
|
|
|
|
/*
|
|
* close memory and script module
|
|
*/
|
|
SCR_fn_v_RdL0_Close();
|
|
Mmg_fn_vStopMmgModule();
|
|
|
|
return FALSE;
|
|
}
|