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 CHexMergeFrame class
14 #include "SplitterWndEx.h"
15 #include "EditorFilepathBar.h"
16 #include "MergeFrameCommon.h"
18 #define HEKSEDIT_INTERFACE_VERSION 2
24 * @brief Frame class for file compare, handles panes, statusbar etc.
26 class CHexMergeFrame : public CMergeFrameCommon
28 DECLARE_DYNCREATE(CHexMergeFrame)
34 void UpdateResources();
36 IHeaderBar * GetHeaderInterface();
37 CHexMergeDoc * GetMergeDoc() { return m_pMergeDoc; }
39 void UpdateAutoPaneResize();
40 void UpdateSplitter();
42 void SetActivePane(int nPane);
46 CSplitterWndEx m_wndSplitter;
47 CEditorFilePathBar m_wndFilePathBar;
48 CStatusBar m_wndStatusBar[3];
51 // ClassWizard generated virtual function overrides
52 //{{AFX_VIRTUAL(CHexMergeFrame)
54 virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
55 virtual void ActivateFrame(int nCmdShow = -1);
56 virtual BOOL DestroyWindow();
63 void SaveActivePane();
64 virtual ~CHexMergeFrame();
65 void CreateHexWndStatusBar(CStatusBar &, CWnd *);
66 // Generated message map functions
68 void UpdateHeaderSizes();
69 CHexMergeDoc * m_pMergeDoc;
71 //{{AFX_MSG(CHexMergeFrame)
72 afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
73 afx_msg void OnSize(UINT nType, int cx, int cy);
74 afx_msg void OnIdleUpdateCmdUI();
75 afx_msg LRESULT OnStorePaneSizes(WPARAM wParam, LPARAM lParam);
80 inline IHeaderBar *CHexMergeFrame::GetHeaderInterface()
82 return &m_wndFilePathBar;