OSDN Git Service

Merge branch 'master' of git://github.com/Jopie64/tortoisegit
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / ProgressDlg.h
1 #pragma once\r
2 \r
3 #include "StandAloneDlg.h"\r
4 \r
5 #define MSG_PROGRESSDLG_UPDATE_UI       (WM_USER+121)\r
6 // CProgressDlg dialog\r
7 #define MSG_PROGRESSDLG_START 0\r
8 #define MSG_PROGRESSDLG_RUN   50\r
9 #define MSG_PROGRESSDLG_END   110\r
10 #define MSG_PROGRESSDLG_FAILED 111\r
11 \r
12 class CProgressDlg : public CResizableStandAloneDialog\r
13 {\r
14         DECLARE_DYNAMIC(CProgressDlg)\r
15 \r
16 public:\r
17         CProgressDlg(CWnd* pParent = NULL);   // standard constructor\r
18         virtual ~CProgressDlg();\r
19         virtual BOOL OnInitDialog();\r
20 // Dialog Data\r
21         enum { IDD = IDD_GITPROGRESS };\r
22         CString m_GitCmd;\r
23         std::vector<CString> m_GitCmdList;\r
24         bool m_bAutoCloseOnSuccess;\r
25         CString m_changeAbortButtonOnSuccessTo;\r
26 \r
27         CString m_LogFile;\r
28 \r
29         CProgressCtrl m_Progress;\r
30         \r
31         CEdit             m_Log;\r
32         CString m_Title;\r
33         CAnimateCtrl  m_Animate;\r
34         CStatic           m_CurrentWork;\r
35         CWinThread*                             m_pThread;      \r
36         volatile LONG                   m_bThreadRunning;\r
37         DWORD                     m_GitStatus;\r
38         BOOL              m_bShowCommand;       // whether to display the command in the log window (default true)\r
39         CString           m_PreText;            // optional text to show in log window before running command\r
40         CString           m_LogText;\r
41 \r
42         bool                    m_bAbort;\r
43         bool                    m_bDone;\r
44 protected:\r
45         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
46         static UINT ProgressThreadEntry(LPVOID pVoid);\r
47         UINT            ProgressThread();\r
48 \r
49         void            ParserCmdOutput(TCHAR ch);\r
50         int                     FindPercentage(CString &log);\r
51         void        RemoveLastLine(CString &str);\r
52 \r
53         LRESULT CProgressDlg::OnProgressUpdateUI(WPARAM wParam,LPARAM lParam);\r
54 \r
55         void            OnCancel();\r
56 \r
57         \r
58         DECLARE_MESSAGE_MAP()\r
59 public:\r
60         afx_msg void OnBnClickedOk();\r
61 };\r