OSDN Git Service

Merge branch 'master' into master
[winmerge-jp/winmerge-jp.git] / Src / HexMergeFrm.h
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 /////////////////////////////////////////////////////////////////////////////
6 /** 
7  * @file  HexMergeFrm.h
8  *
9  * @brief interface of the CHexMergeFrame class
10  *
11  */
12 #pragma once
13
14 #include "SplitterWndEx.h"
15 #include "EditorFilepathBar.h"
16 #include "MergeFrameCommon.h"
17
18 #define HEKSEDIT_INTERFACE_VERSION 2
19 #include "heksedit.h"
20
21 class CHexMergeDoc;
22
23 /** 
24  * @brief Frame class for file compare, handles panes, statusbar etc.
25  */
26 class CHexMergeFrame : public CMergeFrameCommon
27 {
28         DECLARE_DYNCREATE(CHexMergeFrame)
29 public:
30         CHexMergeFrame();
31
32 // Operations
33 public:
34         void UpdateResources();
35         void CloseNow();
36         IHeaderBar * GetHeaderInterface();
37         CHexMergeDoc * GetMergeDoc() { return m_pMergeDoc; }
38
39         void UpdateAutoPaneResize();
40         void UpdateSplitter();
41         int GetActivePane();
42         void SetActivePane(int nPane);
43
44 // Attributes
45 protected:
46         CSplitterWndEx m_wndSplitter;
47         CEditorFilePathBar m_wndFilePathBar;
48         CStatusBar m_wndStatusBar[3];
49 // Overrides
50 public:
51         // ClassWizard generated virtual function overrides
52         //{{AFX_VIRTUAL(CHexMergeFrame)
53         public:
54         virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
55         virtual void ActivateFrame(int nCmdShow = -1);
56         virtual BOOL DestroyWindow();
57         protected:
58         //}}AFX_VIRTUAL
59
60 // Implementation
61 private:
62         void SavePosition();
63         void SaveActivePane();
64         virtual ~CHexMergeFrame();
65         void CreateHexWndStatusBar(CStatusBar &, CWnd *);
66 // Generated message map functions
67 private:
68         void UpdateHeaderSizes();
69         CHexMergeDoc * m_pMergeDoc;
70
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);
76         //}}AFX_MSG
77         DECLARE_MESSAGE_MAP()
78 };
79
80 inline IHeaderBar *CHexMergeFrame::GetHeaderInterface()
81 {
82         return &m_wndFilePathBar;
83 }
84