OSDN Git Service

Fix a crash problem when the Diff algorithm is set to something other than default...
[winmerge-jp/winmerge-jp.git] / Src / MergeFrameCommon.h
1 /** \r
2  * @file  MergeFrameCommon.h\r
3  *\r
4  * @brief interface of the CMergeFrameCommon class\r
5  *\r
6  */\r
7 #pragma once\r
8 \r
9 #include "UnicodeString.h"\r
10 #include "PathContext.h"\r
11 \r
12 class PrediffingInfo;\r
13 class PackingInfo;\r
14 \r
15 class CMergeFrameCommon: public CMDIChildWnd\r
16 {\r
17         DECLARE_DYNCREATE(CMergeFrameCommon)\r
18 public:\r
19         CMergeFrameCommon(int nIdenticalIcon  = -1, int nDifferentIcon = -1);\r
20         bool IsActivated() const { return m_bActivated; }\r
21         void ActivateFrame(int nCmdShow);\r
22         void SetLastCompareResult(int nResult);\r
23         static void ShowIdenticalMessage(const PathContext& paths, bool bIdenticalAll, std::function<int (const tchar_t*, UINT, UINT)> funcMessageBox);\r
24         static String GetTitleString(const PathContext& paths, const String desc[], const PackingInfo *pInfoUnpacker, const PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs = false);\r
25         static String GetTooltipString(const PathContext& paths, const String desc[], const PackingInfo *pInfoUnpacker, const PrediffingInfo *pInfoPrediffer, bool hasTrivialDiffs = false);\r
26         static void ChangeMergeMenuText(int srcPane, int dstPane, CCmdUI* pCmdUI);\r
27         static std::pair<int, int> MenuIDtoXY(UINT nID, int nActivePane, int nBuffers);\r
28         void SaveWindowState();\r
29         void SetSharedMenu(HMENU hMenu) { m_hMenuShared = hMenu; }\r
30         void RemoveBarBorder();\r
31         virtual BOOL IsTabbedMDIChild()\r
32         {\r
33                 return TRUE; // https://stackoverflow.com/questions/35553955/getting-rid-of-3d-look-of-mdi-frame-window\r
34         }\r
35 protected:\r
36         int m_nLastSplitPos[2];\r
37 private:\r
38         bool m_bActivated;\r
39         HICON m_hCurrent;\r
40         HICON m_hIdentical;\r
41         HICON m_hDifferent;\r
42 \r
43 protected:\r
44         virtual ~CMergeFrameCommon();\r
45 \r
46 protected:\r
47         //{{AFX_MSG(CMergeFrameCommon)\r
48         afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);\r
49         afx_msg void OnDestroy();\r
50         afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);\r
51         //}}AFX_MSG\r
52         DECLARE_MESSAGE_MAP()\r
53 };\r