// Dlg7KMultitab.cpp : implementation file
//

#include "stdafx.h"
#include "6046dryend.h"
#include "6046dryenddlg.h"
#include "Dlg7KMultitab.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlg7KMultitab dialog


CDlg7KMultitab::CDlg7KMultitab(CWnd* pParent /*=NULL*/)
	: CDialog(CDlg7KMultitab::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlg7KMultitab)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CDlg7KMultitab::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlg7KMultitab)
	DDX_Control(pDX, IDC_TAB_SONARPARAMS, m_ctrl7KSonarTabs);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlg7KMultitab, CDialog)
	//{{AFX_MSG_MAP(CDlg7KMultitab)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlg7KMultitab message handlers

void CDlg7KMultitab::SetSensorIndex(UINT index)
{
	m_ctrl7KSonarTabs.Set7KIndex(index);

	CMy6046DryEndDlg *m_pMainWnd = (CMy6046DryEndDlg*)AfxGetMainWnd();

	m_pMainWnd->RemoteSubscribe(index,7001);
	m_pMainWnd->RemoteSubscribe(index,7500);
	m_pMainWnd->RemoteSubscribe(index,7503);

	//Now request the XML data
	m_pMainWnd->RemoteGetConfigInfo(index);

}

BOOL CDlg7KMultitab::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	TCITEM tcItem;
	tcItem.mask = TCIF_TEXT;
  
	tcItem.pszText = _T("Sonar Settings I");
	m_ctrl7KSonarTabs.InsertItem(0, &tcItem);
 
    tcItem.pszText = _T("Sonar Settings II");
    m_ctrl7KSonarTabs.InsertItem(1, &tcItem);
  
  
    m_ctrl7KSonarTabs.Init();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlg7KMultitab::UpdateRange( double range )
{
	m_ctrl7KSonarTabs.UpdateRange(range);
}

void CDlg7KMultitab::UpdatePower( double power )
{
	m_ctrl7KSonarTabs.UpdatePower(power);
}

void CDlg7KMultitab::UpdatePulse( double pulseWidth )
{
	m_ctrl7KSonarTabs.UpdatePulse(pulseWidth);
}

void CDlg7KMultitab::UpdateMaxRate( double maxRate )
{
	m_ctrl7KSonarTabs.UpdateMaxRate(maxRate);
}

void CDlg7KMultitab::UpdateGain( double gain )
{
	m_ctrl7KSonarTabs.UpdateGain(gain);
}

void CDlg7KMultitab::UpdatePingState(BOOL pingState )
{
	m_ctrl7KSonarTabs.UpdatePingState(pingState);
}
void CDlg7KMultitab::UpdateFilters(float minRange,float maxRange,float minDepth,float maxDepth,BOOL state )
{
	m_ctrl7KSonarTabs.UpdateFilters(minRange,maxRange,minDepth,maxDepth,state);
}

void CDlg7KMultitab::InitControlTab( void )
{
	m_ctrl7KSonarTabs.InitControlTab();
}


LRESULT CDlg7KMultitab::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	if(message == XML_DATA_READY)
	{
		InitControlTab();
	}
	
	return CDialog::WindowProc(message, wParam, lParam);
}