ReactOS 0.4.16-dev-340-g0540c21
CProgressDialog.h
Go to the documentation of this file.
1/*
2 * Progress dialog
3 *
4 * Copyright 2014 Huw Campbell
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#ifndef _PROGRESSDIALOG_H_
22#define _PROGRESSDIALOG_H_
23
25 public CComCoClass<CProgressDialog, &CLSID_ProgressDialog>,
26 public CComObjectRootEx<CComMultiThreadModelNoCS>,
27 public IProgressDialog,
28 public IOleWindow
29{
30public:
44 void end_dialog();
45
47 struct progressMark {
50 };
53
56
57 // IProgressDialog
59 STDMETHOD(StopProgressDialog)() override;
60 STDMETHOD(SetTitle)(LPCWSTR pwzTitle) override;
61 STDMETHOD(SetAnimation)(HINSTANCE hInstance, UINT uiResourceId) override;
62 STDMETHOD_(BOOL, HasUserCancelled)() override;
64 STDMETHOD(SetProgress)(DWORD dwCompleted, DWORD dwTotal) override;
65 STDMETHOD(SetLine)(DWORD dwLineNum, LPCWSTR pwzLine, BOOL bPath, LPCVOID reserved) override;
67 STDMETHOD(Timer)(DWORD dwTimerAction, LPCVOID reserved) override;
68
69 // IOleWindow
70 STDMETHOD(GetWindow)(HWND* phwnd) override;
71 STDMETHOD(ContextSensitiveHelp)(BOOL fEnterMode) override;
72
75
77
79 COM_INTERFACE_ENTRY_IID(IID_IProgressDialog, IProgressDialog)
82};
83
84#endif /* _PROGRESSDIALOG_H_ */
#define STDMETHOD(m)
Definition: basetyps.h:62
HINSTANCE hInstance
Definition: charmap.c:19
STDMETHOD() SetProgress64(ULONGLONG ullCompleted, ULONGLONG ullTotal) override
STDMETHOD() SetLine(DWORD dwLineNum, LPCWSTR pwzLine, BOOL bPath, LPCVOID reserved) override
STDMETHOD() StopProgressDialog() override
void update_dialog(DWORD dwUpdate)
STDMETHOD() SetProgress(DWORD dwCompleted, DWORD dwTotal) override
ULONGLONG ullTotal
STDMETHOD() GetWindow(HWND *phwnd) override
STDMETHOD() SetCancelMsg(LPCWSTR pwzMsg, LPCVOID reserved) override
CRITICAL_SECTION cs
STDMETHOD() SetAnimation(HINSTANCE hInstance, UINT uiResourceId) override
STDMETHOD_(BOOL, HasUserCancelled)() override
STDMETHOD() ContextSensitiveHelp(BOOL fEnterMode) override
STDMETHOD() StartProgressDialog(HWND hwndParent, IUnknown *punkEnableModeless, DWORD dwFlags, LPCVOID reserved) override
STDMETHOD() SetTitle(LPCWSTR pwzTitle) override
progressMark progressClock[30]
ULONGLONG ullCompleted
static HWND hwndParent
Definition: cryptui.c:300
#define IDR_PROGRESSDIALOG
Definition: resource.h:102
r reserved
Definition: btrfs.c:3006
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
unsigned int UINT
Definition: ndis.h:50
const GUID IID_IOleWindow
uint64_t ULONGLONG
Definition: typedefs.h:67
CONST void * LPCVOID
Definition: windef.h:191
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185