/*************************************************
*           BK Emulator v3.8 for Windows         *
*************************************************/

#pragma once
#include "afxcmn.h"
#include "resource.h"
#include "GFResizeDialogHelper.h"
#include "DisasmCtrl.h"
#include "EnterEditCtrl.h"

// DisasmDlg.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CDisasmDlg dialog
class CDebugger;

class CDisasmDlg : public CDialogEx
{
		GFResizeDialogHelper m_Resizer;
		CDisasmCtrl          m_listDisasm;
		CEnterEdit           m_AddrDisasm;
		CDebugger           *m_pDebugger;
		HACCEL               m_hAccelTable;
	public:
		CDisasmDlg(CWnd *pParent = NULL);   // standard constructor
		~CDisasmDlg();

		enum { IDD = IDD_BKDISASM_DLG };

		inline CDisasmCtrl *GetDisasmCtrl()
		{
			return &m_listDisasm;
		}
		void                AttachDebugger(CDebugger *pDebugger);

	protected:
		virtual void DoDataExchange(CDataExchange *pDX);    // DDX/DDV support
		virtual BOOL PreTranslateMessage(MSG *pMsg);
		LRESULT OnDisasmAddressChange(WPARAM wParam, LPARAM lParam);
		LRESULT OnDisasmAddressUpdate(WPARAM wParam, LPARAM lParam);
		virtual BOOL OnInitDialog();
		virtual void OnOK();
		virtual void OnCancel();
		afx_msg void OnSize(UINT nType, int cx, int cy);
		afx_msg void OnGetMinMaxInfo(MINMAXINFO *lpMMI);
		afx_msg void OnSetFocus(CWnd *pOldWnd);
		DECLARE_MESSAGE_MAP()
};
