OSDN Git Service

Apply the patch below:
[winmerge-jp/winmerge-jp.git] / Src / HexMergeFrm.h
1 /////////////////////////////////////////////////////////////////////////////
2 //    WinMerge:  an interactive diff/merge utility
3 //    Copyright (C) 1997  Dean P. Grimm
4 //
5 //    This program is free software; you can redistribute it and/or modify
6 //    it under the terms of the GNU General Public License as published by
7 //    the Free Software Foundation; either version 2 of the License, or
8 //    (at your option) any later version.
9 //
10 //    This program is distributed in the hope that it will be useful,
11 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
12 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 //    GNU General Public License for more details.
14 //
15 //    You should have received a copy of the GNU General Public License
16 //    along with this program; if not, write to the Free Software
17 //    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 //
19 /////////////////////////////////////////////////////////////////////////////
20 /** 
21  * @file  ChildFrm.h
22  *
23  * @brief interface of the CHexMergeFrame class
24  *
25  */
26 // ID line follows -- this is updated by SVN
27 // $Id: HexMergeFrm.h 7166 2010-05-16 12:05:13Z jtuc $
28
29 #include "SplitterWndEx.h"
30 #include "EditorFilepathBar.h"
31
32 #define HEKSEDIT_INTERFACE_VERSION 1
33 #include "heksedit.h"
34
35 class CHexMergeDoc;
36
37 /** 
38  * @brief Frame class for file compare, handles panes, statusbar etc.
39  */
40 class CHexMergeFrame : public CMDIChildWnd
41 {
42         DECLARE_DYNCREATE(CHexMergeFrame)
43 public:
44         CHexMergeFrame();
45
46 // Operations
47 public:
48         void UpdateResources();
49         void CloseNow();
50         IHeaderBar * GetHeaderInterface();
51         void SetSharedMenu(HMENU hMenu) { m_hMenuShared = hMenu; };
52         CHexMergeDoc * GetMergeDoc() { return m_pMergeDoc; }
53         void SetLastCompareResult(int nResult);
54
55         void UpdateAutoPaneResize();
56         void UpdateSplitter();
57
58
59 // Attributes
60 protected:
61         CSplitterWndEx m_wndSplitter;
62         CEditorFilePathBar m_wndFilePathBar;
63         CStatusBar m_wndStatusBar[3];
64 // Overrides
65 public:
66         virtual void GetMessageString(UINT nID, CString& rMessage) const;
67         // ClassWizard generated virtual function overrides
68         //{{AFX_VIRTUAL(CHexMergeFrame)
69         public:
70         virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
71         virtual void ActivateFrame(int nCmdShow = -1);
72         virtual BOOL DestroyWindow();
73         protected:
74         //}}AFX_VIRTUAL
75
76 // Implementation
77 private:
78         void SavePosition();
79         virtual ~CHexMergeFrame();
80         void CreateHexWndStatusBar(CStatusBar &, CWnd *);
81 // Generated message map functions
82 private:
83         int m_nLastSplitPos;
84         void UpdateHeaderSizes();
85         CHexMergeDoc * m_pMergeDoc;
86         HICON m_hIdentical;
87         HICON m_hDifferent;
88
89         //{{AFX_MSG(CHexMergeFrame)
90         afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
91         afx_msg void OnSize(UINT nType, int cx, int cy);
92         afx_msg void OnIdleUpdateCmdUI();
93         afx_msg LRESULT OnStorePaneSizes(WPARAM wParam, LPARAM lParam);
94         afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
95         //}}AFX_MSG
96         DECLARE_MESSAGE_MAP()
97 };
98
99 /////////////////////////////////////////////////////////////////////////////
100
101 //{{AFX_INSERT_LOCATION}}
102 // Microsoft Developer Studio will insert additional declarations immediately before the previous line.