// wgscmaps.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "wgscmaps.h"
#include "wgscmapsDlg.h"
#include "cli.h"
#include "cmaps.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CWgscmapsApp

BEGIN_MESSAGE_MAP(CWgscmapsApp, CWinApp)
	//{{AFX_MSG_MAP(CWgscmapsApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG
	ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CWgscmapsApp construction

CWgscmapsApp::CWgscmapsApp()
{
     dlg = NULL;
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CWgscmapsApp object

CWgscmapsApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CWgscmapsApp initialization

BOOL CWgscmapsApp::InitInstance()
{
	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif

     CommandLineInfo cli;
     ParseCommandLine( cli );
     if (cli.JustQuit())
     {
          return( FALSE );
     }

     if (nlogd <= 0)
     {
          return( FALSE );
     }

	dlg = new CWgscmapsDlg;
     m_pMainWnd = dlg;
     dlg->Create( IDD_WGSCMAPS_DIALOG );
     
	return TRUE;
}

int CWgscmapsApp::ExitInstance() 
{
     if (dlg != NULL)
     {
          delete dlg;
          dlg = NULL;
     }
	
     ClearClog();

	return CWinApp::ExitInstance();
}

BOOL CWgscmapsApp::OnIdle(LONG lCount) 
{
	if (CWinApp::OnIdle(lCount))
     {
          return( TRUE );
     }

     if (lCount > 1)
     {
          if (dlg->Done())
          {
               dlg->EndApp();
               return( FALSE );
          }
          return( TRUE );
     }

     return( TRUE );
}
