// 6046DryEnd.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "6046DryEnd.h"
#include "6046DryEndDlg.h"
#include "RollView.h"
#include "RollDoc.h"
#include "PitchView.h"
#include "PitchDoc.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMy6046DryEndApp

BEGIN_MESSAGE_MAP(CMy6046DryEndApp, CWinApp)
	//{{AFX_MSG_MAP(CMy6046DryEndApp)
		// 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()

/////////////////////////////////////////////////////////////////////////////
// CMy6046DryEndApp construction

CMy6046DryEndApp::CMy6046DryEndApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CMy6046DryEndApp object

CMy6046DryEndApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CMy6046DryEndApp initialization

BOOL CMy6046DryEndApp::InitInstance()
{
	hMutex = ::CreateMutex(NULL, TRUE, "6046 DVU Mutex");

	switch(::GetLastError())
	{
		case ERROR_SUCCESS:			break;

		case ERROR_ALREADY_EXISTS:	// Mutex already exists so there is a running instance of our app.
									AfxMessageBox("The DVU is already running on this machine!!!");
									return FALSE;

		default:					// Failed to create mutex by unknown reason
									return FALSE;
	}

	AfxEnableControlContainer();

	// 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.

	//LOAD ATTITUDE VIEWS
	/*
	CMultiDocTemplate* pDocTemplate1;
	pDocTemplate1 = new CMultiDocTemplate(
		IDC_SPLIT_RECT,
		RUNTIME_CLASS(CRollDoc),NULL,
		RUNTIME_CLASS(CRollView));
	AddDocTemplate(pDocTemplate1);

	CMultiDocTemplate* pDocTemplate2;
	pDocTemplate2 = new CMultiDocTemplate(
		IDC_SPLIT_RECT,
		RUNTIME_CLASS(CPitchDoc),NULL,
		RUNTIME_CLASS(CPitchView));
	AddDocTemplate(pDocTemplate2);
	*/

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif

	CMy6046DryEndDlg dlg;
	m_pMainWnd = &dlg;
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with OK
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with Cancel
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}

int CMy6046DryEndApp::ExitInstance() 
{
	return CWinApp::ExitInstance();
}

void CMy6046DryEndApp::WinHelp(DWORD dwData, UINT nCmd) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	//CWinApp::WinHelp(dwData, nCmd);
}
