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];
49 SCROLLINFO m_HScrollInfo[3];
50 SCROLLINFO m_VScrollInfo[3];
53 // ClassWizard generated virtual function overrides
54 //{{AFX_VIRTUAL(CHexMergeFrame)
56 virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
57 virtual void ActivateFrame(int nCmdShow = -1);
58 virtual BOOL DestroyWindow();
65 void SaveActivePane();
66 virtual ~CHexMergeFrame();
67 void CreateHexWndStatusBar(CStatusBar &, CWnd *);
68 // Generated message map functions
70 void UpdateHeaderSizes();
71 CHexMergeDoc * m_pMergeDoc;
73 //{{AFX_MSG(CHexMergeFrame)
74 afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
75 afx_msg void OnSize(UINT nType, int cx, int cy);
76 afx_msg void OnIdleUpdateCmdUI();
77 afx_msg LRESULT OnStorePaneSizes(WPARAM wParam, LPARAM lParam);
82 inline IHeaderBar *CHexMergeFrame::GetHeaderInterface()
84 return &m_wndFilePathBar;