3 #include "StandAloneDlg.h"
\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
12 class CProgressDlg : public CResizableStandAloneDialog
\r
14 DECLARE_DYNAMIC(CProgressDlg)
\r
17 CProgressDlg(CWnd* pParent = NULL); // standard constructor
\r
18 virtual ~CProgressDlg();
\r
19 virtual BOOL OnInitDialog();
\r
21 enum { IDD = IDD_GITPROGRESS };
\r
23 std::vector<CString> m_GitCmdList;
\r
24 bool m_bAutoCloseOnSuccess;
\r
25 CString m_changeAbortButtonOnSuccessTo;
\r
29 CProgressCtrl m_Progress;
\r
33 CAnimateCtrl m_Animate;
\r
34 CStatic m_CurrentWork;
\r
35 CWinThread* m_pThread;
\r
36 volatile LONG m_bThreadRunning;
\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
44 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
\r
45 static UINT ProgressThreadEntry(LPVOID pVoid);
\r
46 UINT ProgressThread();
\r
48 void ParserCmdOutput(TCHAR ch);
\r
49 int FindPercentage(CString &log);
\r
50 void RemoveLastLine(CString &str);
\r
52 LRESULT CProgressDlg::OnProgressUpdateUI(WPARAM wParam,LPARAM lParam);
\r
57 DECLARE_MESSAGE_MAP()
\r
59 afx_msg void OnBnClickedOk();
\r