OSDN Git Service

Show GUI friendly diffstat after pull
[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 \r
26         CString m_LogFile;\r
27 \r
28         CProgressCtrl m_Progress;\r
29         \r
30         CEdit             m_Log;\r
31         CString m_Title;\r
32         CAnimateCtrl  m_Animate;\r
33         CStatic           m_CurrentWork;\r
34         CWinThread*                             m_pThread;      \r
35         volatile LONG                   m_bThreadRunning;\r
36         DWORD                     m_GitStatus;\r
37         BOOL              m_bShowCommand;       // whether to display the command in the log window (default true)\r
38         CString           m_PreText;            // optional text to show in log window before running command\r
39         CString           m_LogText;\r
40 protected:\r
41         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
42         static UINT ProgressThreadEntry(LPVOID pVoid);\r
43         UINT            ProgressThread();\r
44 \r
45         void            ParserCmdOutput(TCHAR ch);\r
46         int                     FindPercentage(CString &log);\r
47         void        RemoveLastLine(CString &str);\r
48 \r
49         LRESULT CProgressDlg::OnProgressUpdateUI(WPARAM wParam,LPARAM lParam);\r
50 \r
51         \r
52         DECLARE_MESSAGE_MAP()\r
53 public:\r
54         afx_msg void OnBnClickedOk();\r
55 };\r