OSDN Git Service

Git Blame Can Show Log
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / CreatePatchDlg.h
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2003-2008 - TortoiseSVN\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #pragma once\r
20 #include "StandAloneDlg.h"\r
21 #include "SVNStatusListCtrl.h"\r
22 \r
23 /**\r
24  * \ingroup TortoiseProc\r
25  * Shows the patch dialog where the user can select the files/folders to be\r
26  * included in the resulting patch (unified diff) file.\r
27  */\r
28 class CCreatePatch : public CResizableStandAloneDialog //CResizableStandAloneDialog\r
29 {\r
30         DECLARE_DYNAMIC(CCreatePatch)\r
31 \r
32 public:\r
33         CCreatePatch(CWnd* pParent = NULL);   // standard constructor\r
34         virtual ~CCreatePatch();\r
35 \r
36         enum { IDD = IDD_CREATEPATCH };\r
37 \r
38 protected:\r
39         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
40         virtual BOOL OnInitDialog();\r
41         virtual BOOL PreTranslateMessage(MSG* pMsg);\r
42         virtual void OnCancel();\r
43         virtual void OnOK();\r
44         afx_msg void OnBnClickedSelectall();\r
45         afx_msg void OnBnClickedShowunversioned();\r
46         afx_msg void OnBnClickedHelp();\r
47         afx_msg LRESULT OnSVNStatusListCtrlNeedsRefresh(WPARAM, LPARAM);\r
48         afx_msg LRESULT OnFileDropped(WPARAM, LPARAM lParam);\r
49 \r
50         DECLARE_MESSAGE_MAP()\r
51 \r
52 private:\r
53         static UINT PatchThreadEntry(LPVOID pVoid);\r
54         UINT PatchThread();\r
55         DWORD   ShowMask();\r
56 \r
57 private:\r
58         CSVNStatusListCtrl      m_PatchList;\r
59         LONG                            m_bThreadRunning;\r
60         CButton                         m_SelectAll;\r
61         bool                            m_bCancelled;\r
62         BOOL                            m_bShowUnversioned;\r
63 public:\r
64         /// the list of files to include in the patch\r
65         CTSVNPathList           m_pathList;\r
66         /**\r
67          * The files which have to be reverted after the patch was created.\r
68          * That's necessary if the user selected an unversioned file - such files\r
69          * are added automatically to version control so they can be included in\r
70          * the patch, but then must be reverted later.\r
71          */\r
72         CTSVNPathList           m_filesToRevert;\r
73         afx_msg void OnTimer(UINT_PTR nIDEvent);\r
74 };\r