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();
36 IHeaderBar * GetHeaderInterface();
37 CMergeDoc * GetMergeDoc() { return m_pMergeDoc; }
39 void UpdateAutoPaneResize();
40 void UpdateSplitter();
41 CSplitterWndEx& GetSplitter() { return m_wndSplitter; };
45 CSplitterWndEx m_wndSplitter;
46 CEditorFilePathBar m_wndFilePathBar;
47 CDiffViewBar m_wndDetailBar;
48 CMergeEditSplitterView *m_pwndDetailMergeEditSplitterView;
49 CMergeStatusBar m_wndStatusBar;
50 CLocationBar m_wndLocationBar;
54 // ClassWizard generated virtual function overrides
55 //{{AFX_VIRTUAL(CMergeEditFrame)
57 virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
58 virtual void ActivateFrame(int nCmdShow = -1);
59 virtual BOOL DestroyWindow();
65 bool EnsureValidDockState(CDockState& state);
67 void SaveActivePane();
68 virtual ~CMergeEditFrame();
69 CSplitterWndEx& GetMergeEditSplitterWnd(int iRow)
70 { return static_cast<CMergeEditSplitterView *>(m_wndSplitter.GetPane(iRow, 0))->m_wndSplitter; }
72 // Generated message map functions
74 void UpdateHeaderSizes();
75 CMergeDoc * m_pMergeDoc;
77 //{{AFX_MSG(CMergeEditFrame)
78 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
79 afx_msg void OnClose();
80 afx_msg void OnTimer(UINT_PTR nIDEvent);
81 afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
82 afx_msg void OnViewSplitVertically();
83 afx_msg void OnUpdateViewSplitVertically(CCmdUI* pCmdUI);
84 afx_msg LRESULT OnStorePaneSizes(WPARAM wParam, LPARAM lParam);
85 afx_msg void OnSize(UINT nType, int cx, int cy);
86 afx_msg void OnIdleUpdateCmdUI();