1 /////////////////////////////////////////////////////////////////////////////
2 // WinMerge: an interactive diff/merge utility
3 // Copyright (C) 1997 Dean P. Grimm
4 // SPDX-License-Identifier: GPL-2.0-or-later
5 /////////////////////////////////////////////////////////////////////////////
9 * @brief interface of the CMergeEditFrame class
14 #include "SplitterWndEx.h"
15 #include "MergeEditSplitterView.h"
16 #include "MergeStatusBar.h"
17 #include "EditorFilepathBar.h"
18 #include "DiffViewBar.h"
19 #include "LocationBar.h"
20 #include "MergeFrameCommon.h"
25 * @brief Frame class for file compare, handles panes, statusbar etc.
27 class CMergeEditFrame : public CMergeFrameCommon
29 DECLARE_DYNCREATE(CMergeEditFrame)
35 void UpdateResources();
37 IHeaderBar * GetHeaderInterface();
38 CMergeDoc * GetMergeDoc() { return m_pMergeDoc; }
40 void UpdateAutoPaneResize();
41 void UpdateSplitter();
42 CSplitterWndEx& GetSplitter() { return m_wndSplitter; };
46 CSplitterWndEx m_wndSplitter;
47 CEditorFilePathBar m_wndFilePathBar;
48 CDiffViewBar m_wndDetailBar;
49 CMergeEditSplitterView *m_pwndDetailMergeEditSplitterView;
50 CMergeStatusBar m_wndStatusBar;
51 CLocationBar m_wndLocationBar;
55 // ClassWizard generated virtual function overrides
56 //{{AFX_VIRTUAL(CMergeEditFrame)
58 virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
59 virtual void ActivateFrame(int nCmdShow = -1);
60 virtual BOOL DestroyWindow();
66 bool EnsureValidDockState(CDockState& state);
68 void SaveActivePane();
69 virtual ~CMergeEditFrame();
70 CSplitterWndEx& GetMergeEditSplitterWnd(int iRow)
71 { return static_cast<CMergeEditSplitterView *>(m_wndSplitter.GetPane(iRow, 0))->m_wndSplitter; }
73 // Generated message map functions
75 void UpdateHeaderSizes();
76 CMergeDoc * m_pMergeDoc;
78 //{{AFX_MSG(CMergeEditFrame)
79 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
80 afx_msg void OnClose();
81 afx_msg void OnTimer(UINT_PTR nIDEvent);
82 afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
83 afx_msg void OnViewSplitVertically();
84 afx_msg void OnUpdateViewSplitVertically(CCmdUI* pCmdUI);
85 afx_msg LRESULT OnStorePaneSizes(WPARAM wParam, LPARAM lParam);
86 afx_msg void OnSize(UINT nType, int cx, int cy);
87 afx_msg void OnIdleUpdateCmdUI();