// ShowWaveDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "CH91PayloadSoftware.h"
#include "ShowWaveDlg.h"
#include "afxdialogex.h"
#include "Global.h"
#include "GlobalMessage.h"
#include "GlobalMember.h"


// CShowWaveDlg 对话框

IMPLEMENT_DYNAMIC(CShowWaveDlg, CDialogEx)

CShowWaveDlg::CShowWaveDlg(CWnd* pParent /*=NULL*/)
	: CDialogEx(CShowWaveDlg::IDD, pParent)
{

}

CShowWaveDlg::~CShowWaveDlg()
{
}

void CShowWaveDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_STATIC_WAVESHOW, m_WaveShow);
}


BEGIN_MESSAGE_MAP(CShowWaveDlg, CDialogEx)
	ON_MESSAGE(WM_SHOW_WAVE, CShowWaveDlg::ShowWave)
	ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()


// CShowWaveDlg 消息处理程序

BOOL CShowWaveDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();
	// 获取句柄
	g_ShowWaveHwnd = GetSafeHwnd();
	m_WaveShow.SetTitle(0,"载荷方位角");
	m_WaveShow.SetTitle(1,"载荷俯仰角");
	m_WaveShow.SetTitle(2,"UAV方位角");
	m_WaveShow.SetTitle(3,"UAV俯仰角");
	m_WaveShow.SetTitle(4,"UAV滚转角");
	m_WaveShow.SetXRange(0,100);
	m_WaveShow.SetYRange(-50,50);
	m_wavetime = 0;
	return TRUE; 
}

LRESULT CShowWaveDlg::ShowWave(WPARAM wParam, LPARAM lParam)
{
	m_wavetime += 0.1; 
	m_WaveShow.AddValue(0, m_wavetime, g_ZH_Azimuth);
	m_WaveShow.AddValue(1, m_wavetime, g_ZH_Pitch);
	m_WaveShow.AddValue(2, m_wavetime, g_GPS_LR_Heading);
	m_WaveShow.AddValue(3, m_wavetime, g_GPS_FB_Pitch);
	m_WaveShow.AddValue(4, m_wavetime, g_GPS_LR_Roll);
	m_WaveShow.UpdateCurve();
	return 0;
}

// 相应鼠标左键点击消息
void CShowWaveDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
	CRect rect;
	GetDlgItem(IDC_STATIC_WAVESHOW)->GetWindowRect(&rect);
	ScreenToClient(rect);

	point.x -= rect.left;
	point.y -= rect.top;
	m_WaveShow.OnLButtonDown(nFlags, point);

	CDialogEx::OnLButtonDown(nFlags, point);
}