#pragma once
#include "afxcmn.h"
#include "resource.h"
#include "GFResizeDialogHelper.h"
#include "MultiEditListCtrl.h"

// RegDumpFDDDlg.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CRegDumpDlg dialog

class CDebugger;

class CRegDumpFDDDlg : public CDialogEx
{
		GFResizeDialogHelper m_Resizer;
		CMultiEditListCtrl   m_listFDD;
		CMultiEditListCtrl   m_listHDD;
		CFont                m_hFont;
		HACCEL               m_hAccelTable;
		CToolTipCtrl         m_ToolTip;

		static const UINT    m_pLISTFDDIDs[4];
		static const CString m_plistHDDHDrs[10];

		// номера колонок для listFDD
		enum LISTFDD_C : int
		{
			COL_NAME = 0,
			COL_VALUE
		};

		// номера строки для listFDD
		enum LISTFDD_L : int
		{
			LINE_FDDREG177130IN = 0,
			LINE_FDDREG177130OUT,
			LINE_FDDREG177132IN,
			LINE_FDDREG177132OUT
		};

		// номера колонок для listHDD
		enum LISTHDD_C : int
		{
			COL_NAME1 = 0,
			COL_VALUE11,
			COL_VALUE12,
			COL_NAME2,
			COL_VALUE21,
			COL_VALUE22
		};

		// номера строк для listHDD
		enum LISTHDD_L : int
		{
			LINE_R1F0 = 0,
			LINE_R1F1,
			LINE_R1F2,
			LINE_R1F3,
			LINE_R1F4,
			LINE_R1F5,
			LINE_R1F6,
			LINE_R1F7,
			LINE_R3F6,
			LINE_R3F7
		};

// Construction
	public:
		CRegDumpFDDDlg(CWnd *pParent = nullptr);   // standard constructor
		virtual ~CRegDumpFDDDlg() override;

		enum { IDD = IDD_REGDUMP_FDD_DLG };
		CSize               GetMinSize();
		void                DisplayFDDData();
		void                DisplayHDDData();

	protected:
		virtual void        DoDataExchange(CDataExchange *pDX) override;    // DDX/DDV support
		virtual BOOL        PreTranslateMessage(MSG *pMsg) override;

		void                ResizeList(CMultiEditListCtrl *list, int height);

		// Generated message map functions
		virtual BOOL OnInitDialog() override;
		virtual void OnOK() override;
		virtual void OnCancel() override;
		afx_msg void OnSize(UINT nType, int cx, int cy);
		afx_msg void OnLvnItemchangedMdFddData(NMHDR *pNMHDR, LRESULT *pResult);

		DECLARE_MESSAGE_MAP()
};
