// NmeaDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Dashboard.h"
#include "NmeaDlg.h"
#include "DashboardRecipient.h"
#include "DashboardDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////

// CNmeaDlg dialog


CNmeaDlg::CNmeaDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CNmeaDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CNmeaDlg)
	m_dumpString = _T("");
	m_vehiclePosDump = _T("");
	//}}AFX_DATA_INIT
}


void CNmeaDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CNmeaDlg)
	DDX_Control(pDX, IDC_DUMP, m_dumpcontrol);
	DDX_Text(pDX, IDC_DUMP, m_dumpString);
	DDX_Text(pDX, IDC_VEHICLEPOSDUMP, m_vehiclePosDump);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CNmeaDlg, CDialog)
	//{{AFX_MSG_MAP(CNmeaDlg)
	ON_BN_CLICKED(IDSENDNMEA, OnSendNmea)
	ON_BN_CLICKED(IDGETPOS, OnGetpos)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CNmeaDlg message handlers

BOOL CNmeaDlg::OnInitDialog()
{
	BOOL val = CDialog::OnInitDialog();
	m_dumpString = "No Data";
	m_vehiclePosDump = "No Data";

	UpdateData(FALSE);
	return val;
}


void CNmeaDlg::OnSendNmea() 
{
	// TODO: Add your control notification handler code here
	if (m_dumpString != "No Data") {
		m_recipient->setNmeaString(m_dumpString.GetBuffer(0));
	}
	else MessageBox("Can't send Nmea, no data has been received (check the connection).");
}


void CNmeaDlg::OnGetpos() 
{
	// TODO: Add your control notification handler code here
	//CWnd* comms = GetParent();
	//CWnd* dashboard = comms->GetParent();
	//if (dashboard->getConnected()) 
	m_recipient->requestData(MMAgentRequest::Single,ModemMessage::tMMNmea,-1);
	//else MessageBox("Can't get vehicle position (check the connection).");
}                                                  

void CNmeaDlg::setVehiclePos(char* str){
	// Got an update from Recipient (passed through DashboardDlg)
	//m_dialog->setSerialConnection3(TRUE);
	m_vehiclePosDump = str;
	UpdateData(FALSE);
}



////////////////

