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();
35 IHeaderBar * GetHeaderInterface();
36 CHexMergeDoc * GetMergeDoc() { return m_pMergeDoc; }
38 void UpdateAutoPaneResize();
39 void UpdateSplitter();
41 void SetActivePane(int nPane);
45 CSplitterWndEx m_wndSplitter;
46 CEditorFilePathBar m_wndFilePathBar;
47 CStatusBar m_wndStatusBar[3];
48 SCROLLINFO m_HScrollInfo[3];
49 SCROLLINFO m_VScrollInfo[3];
52 // ClassWizard generated virtual function overrides
53 //{{AFX_VIRTUAL(CHexMergeFrame)
55 virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
56 virtual void ActivateFrame(int nCmdShow = -1);
57 virtual BOOL DestroyWindow();
64 void SaveActivePane();
65 virtual ~CHexMergeFrame();
66 void CreateHexWndStatusBar(CStatusBar &, CWnd *);
67 // Generated message map functions
69 void UpdateHeaderSizes();
70 CHexMergeDoc * m_pMergeDoc;
72 //{{AFX_MSG(CHexMergeFrame)
73 afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
74 afx_msg void OnSize(UINT nType, int cx, int cy);
75 afx_msg void OnIdleUpdateCmdUI();
76 afx_msg LRESULT OnStorePaneSizes(WPARAM wParam, LPARAM lParam);
81 inline IHeaderBar *CHexMergeFrame::GetHeaderInterface()
83 return &m_wndFilePathBar;