// Базовые классы для диалога и присоединяемой панели
// внутри которой этот диалог используется.

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

// Диалоговое окно CDocPaneDlg

class CDocPaneDlg : public CDialogEx
{
		DECLARE_DYNAMIC(CDocPaneDlg)

		GFResizeDialogHelper m_Resizer;
		CFont                m_hFont;
		HACCEL               m_hAccelTable;
		CToolTipCtrl         m_ToolTip;

	public:
		UINT                m_IDD;

		CDocPaneDlg(UINT IDD, CWnd *pParent = nullptr);   // стандартный конструктор
		virtual ~CDocPaneDlg() override;
		CSize               GetMinSize();

	protected:
		virtual BOOL        PreTranslateMessage(MSG *pMsg) override;
		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        OnGetMinMaxInfo(MINMAXINFO *lpMMI);
		DECLARE_MESSAGE_MAP()
};

class CDocPaneDlgViewBase : public CDockablePane
{
		DECLARE_DYNAMIC(CDocPaneDlgViewBase)

		CDocPaneDlg *m_pDlg;
		UINT m_nErrID;

	public:
		CDocPaneDlgViewBase(UINT nErrID);
		virtual ~CDocPaneDlgViewBase() override;

		virtual void    AdjustLayout() override;
		virtual void    OnAfterFloat() override;
		virtual void    OnAfterDockFromMiniFrame() override;

	protected:
		afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
		afx_msg void OnSize(UINT nType, int cx, int cy);
		afx_msg void OnSetFocus(CWnd *pOldWnd);
		afx_msg void OnPaint();
		DECLARE_MESSAGE_MAP()
};

