forked from uesp/skyedit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Srprogressdlg.h
124 lines (94 loc) · 3.76 KB
/
Srprogressdlg.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*===========================================================================
*
* File: Srprogressdlg.H
* Author: Dave Humphrey ([email protected])
* Created On: 27 November 2011
*
* Description
*
*=========================================================================*/
#ifndef __SRPROGRESSDLG_H
#define __SRPROGRESSDLG_H
/*===========================================================================
*
* Begin Required Includes
*
*=========================================================================*/
#include "common/srcallback.h"
/*===========================================================================
* End of Required Includes
*=========================================================================*/
/*===========================================================================
*
* Begin Class CSrProgressDlg Definition
*
*=========================================================================*/
class CSrProgressDlg : public CDialog {
/*---------- Protected Class Members --------------------------------*/
protected:
CString m_Title;
CString m_CancelMsg;
CString m_Label;
bool m_AllowCancel;
bool m_PromptCancel;
bool m_RunAsModal;
bool m_IsCancelled;
/*---------- Protected Class Methods --------------------------------*/
protected:
/*---------- Public Class Methods -----------------------------------*/
public:
/* Constructor */
CSrProgressDlg (const TCHAR* pTitle, const TCHAR* pLabel);
/* Get class members */
bool GetIsCancelled (void) { return (m_IsCancelled); }
/* Pump messages in the dialog's queue */
BOOL Pump (void);
/* Update progress */
void SetProgress (const float Progress);
/* Set class members */
void SetTitle (const TCHAR* pString) { m_Title = pString; }
void SetLabel (const TCHAR* pString) { m_Label = pString; }
void SetCancelMsg (const TCHAR* pString) { m_CancelMsg = pString; }
void SetAllowCancel (const bool Value) { m_AllowCancel = Value; }
void SetPromptCancel (const bool Value) { m_PromptCancel = Value; }
/* Update the control contents using the current data */
void UpdateControls (void);
void UpdateLabel (const TCHAR* pString);
void UpdateTitle (const TCHAR* pString);
/* Main update method */
void Update (const float Percent);
/* Dialog Data */
enum { IDD = IDD_PROGRESS_DLG };
CStatic m_PercentLabel;
CProgressCtrl m_ProgressCtrl;
CStatic m_LabelText;
CButton m_CancelButton;
protected:
virtual void DoDataExchange(CDataExchange* pDX);
virtual void OnCancel ();
protected:
virtual BOOL OnInitDialog();
afx_msg void OnDestroy (void);
DECLARE_MESSAGE_MAP();
};
/*===========================================================================
* End of Class CSrProgressDlg Definition
*=========================================================================*/
/*===========================================================================
*
* Begin Function Prototypes
*
*=========================================================================*/
/* Create and display a modeless progress dialog */
CSrProgressDlg* ShowSrProgressDlg (const TCHAR* pTitle, const TCHAR* pLabel, ...);
/* Destroy a previously created progress dialog */
void DestroySrProgressDlg (CSrProgressDlg* pProgressDlg);
/* Default progress callback function */
int SrEditDefaultProgressCallback (CSrCallback* pCallback);
/*===========================================================================
* End of Function Prototypes
*=========================================================================*/
#endif
/*===========================================================================
* End of File SrProgressdlg.H
*=========================================================================*/