// MovableObjectDensityDlg.h : header file
//

#include "Coach/PlaygroundStatistics.h"
#include "Coach/SquareZoneStatistic.h"
#include "afxwin.h"

#pragma once



// CMovableObjectDensityDlg dialog
class CMovableObjectDensityDlg : public CDialog
{
// Construction
public:
	CMovableObjectDensityDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	enum { IDD = IDD_MOVABLEOBJECTDENSITY_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support


// Implementation
protected:
	PlaygroundStatistics *statsPlayground;
	BitPlaygroundObjectStat statsPlaygroundBit;
	StatisticsType gameType;
	bool showGrid;
	bool inverseView;
	bool showBitPlayground;

	void (BitPlaygroundObjectStat::*LoadFunction)(const PlaygroundStatistics*, float, StatisticsType);

	void DrawPlaygroundGrid(CPaintDC &dc, const CRect &rect);
	void DrawSquareZoneStatistics(CPaintDC &dc, const CRect &rect, const SquareZoneStatistic* zoneStatistic);
	void DrawBitSquareZoneStatistics(CPaintDC &dc, const CRect &rect);


protected:
	CStatic m_Screen;
	HICON m_hIcon;

	// Generated message map functions
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnFileOpen();
	afx_msg void OnBnClickedOk();
	afx_msg void OnBnClickedCancel();
	afx_msg void OnFileExit();
	afx_msg void OnViewFriendplayers();
	afx_msg void OnViewEnemyplayers();
	afx_msg void OnViewBall();
	afx_msg void OnViewGrid();
	afx_msg void OnClose();
	afx_msg void OnDestroy();
	afx_msg void OnViewBitfriendplayers();
	afx_msg void OnViewBitenemyplayers();
	afx_msg void OnViewBitball();
	afx_msg void OnPercentage10();
	afx_msg void OnPercentage20();
	afx_msg void OnPercentage30();
	afx_msg void OnPercentage40();
	afx_msg void OnPercentage50();
	afx_msg void OnPercentage60();
	afx_msg void OnPercentage70();
	afx_msg void OnPercentage80();
	afx_msg void OnPercentage90();
	afx_msg void On9091();
	afx_msg void On9092();
	afx_msg void On9093();
	afx_msg void On9094();
	afx_msg void On9095();
	afx_msg void On9096();
	afx_msg void On9097();
	afx_msg void On9098();
	afx_msg void On9099();
	afx_msg void OnViewInverse();
	afx_msg void OnViewFlowalgorithm();
	afx_msg void OnViewPeakalgorithm();
	afx_msg void On01();
	afx_msg void On02();
	afx_msg void On03();
	afx_msg void On04();
	afx_msg void On05();
	afx_msg void On06();
	afx_msg void On07();
	afx_msg void On08();
	afx_msg void On09();
	afx_msg void OnViewLokalmaximumalgorithm();
};
