Mikolaj Zalewski : include: Add IProgressDialog definitions.
Alexandre Julliard
julliard at winehq.org
Wed Oct 24 11:04:42 CDT 2007
Module: wine
Branch: master
Commit: 09b022e3632c76b9d081d4fdac6130ba065494cf
URL: http://source.winehq.org/git/wine.git/?a=commit;h=09b022e3632c76b9d081d4fdac6130ba065494cf
Author: Mikolaj Zalewski <mikolajz at google.com>
Date: Wed Oct 3 15:13:26 2007 -0700
include: Add IProgressDialog definitions.
---
include/shlguid.h | 9 +++++++--
include/shlobj.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/include/shlguid.h b/include/shlguid.h
index be80199..503f4fc 100644
--- a/include/shlguid.h
+++ b/include/shlguid.h
@@ -54,6 +54,9 @@ DEFINE_GUID(IID_IACList, 0x77A130B0L,0x94FD,0x11D0,0xA5,0x44,0x00,0xC0,0x4F,0x
DEFINE_GUID(IID_IACList2, 0x470141A0L,0x5186,0x11D2,0xBB,0xB6,0x00,0x60,0x97,0x7B,0x46,0x4C);
DEFINE_GUID(IID_IObjMgr, 0x00BB2761L,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
+DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4);
+
+
/* avoid duplicate definitions with shobjidl.h (FIXME) */
/* DEFINE_OLEGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0); */
/* DEFINE_OLEGUID(IID_IExtractIconA, 0x000214EBL, 0, 0); */
@@ -122,8 +125,10 @@ DEFINE_GUID(IID_IQueryAssociations, 0xc46ca590, 0x3c3f, 0x11d2, 0xbe, 0xe6, 0x00
DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
-DEFINE_GUID(CLSID_AutoComplete, 0x00bb2763, 0x6a77, 0x11d0, 0xa5, 0x35, 0x00, 0xc0, 0x4f, 0xd7, 0xd0, 0x62);
-DEFINE_GUID(CLSID_ACLMulti, 0x00bb2765, 0x6a77, 0x11d0, 0xa5, 0x35, 0x00, 0xc0, 0x4f, 0xd7, 0xd0, 0x62);
+DEFINE_GUID(CLSID_AutoComplete, 0x00bb2763, 0x6a77, 0x11d0, 0xa5, 0x35, 0x00, 0xc0, 0x4f, 0xd7, 0xd0, 0x62);
+DEFINE_GUID(CLSID_ACLMulti, 0x00bb2765, 0x6a77, 0x11d0, 0xa5, 0x35, 0x00, 0xc0, 0x4f, 0xd7, 0xd0, 0x62);
+
+DEFINE_GUID(CLSID_ProgressDialog, 0xf8383852, 0xfcd3, 0x11d1, 0xa6, 0xb9, 0x0, 0x60, 0x97, 0xdf, 0x5b, 0xd4);
#define PSGUID_SHELLDETAILS {0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0}
DEFINE_GUID(FMTID_ShellDetails, 0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
diff --git a/include/shlobj.h b/include/shlobj.h
index d93a69d..bd531c8 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -359,6 +359,59 @@ DECLARE_INTERFACE_(IACList,IUnknown)
#define IACList_Expand(p,a) (p)->lpVtbl->Expand(p,a)
#endif
+/* IProgressDialog interface */
+#define PROGDLG_NORMAL 0x00000000
+#define PROGDLG_MODAL 0x00000001
+#define PROGDLG_AUTOTIME 0x00000002
+#define PROGDLG_NOTIME 0x00000004
+#define PROGDLG_NOMINIMIZE 0x00000008
+#define PROGDLG_NOPROGRESSBAR 0x00000010
+#define PROGDLG_MARQUEEPROGRESS 0x00000020
+#define PROGDLG_NOCANCEL 0x00000040
+
+#define PDTIMER_RESET 0x00000001
+#define PDTIMER_PAUSE 0x00000002
+#define PDTIMER_RESUME 0x00000003
+
+#define INTERFACE IProgressDialog
+DECLARE_INTERFACE_(IProgressDialog,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+ STDMETHOD_(ULONG,Release) (THIS) PURE;
+ /*** IProgressDialog methods ***/
+ STDMETHOD(StartProgressDialog)(THIS_ HWND hwndParent, IUnknown *punkEnableModeless, DWORD dwFlags, LPCVOID reserved) PURE;
+ STDMETHOD(StopProgressDialog)(THIS) PURE;
+ STDMETHOD(SetTitle)(THIS_ LPCWSTR pwzTitle) PURE;
+ STDMETHOD(SetAnimation)(THIS_ HINSTANCE hInstance, UINT uiResourceId) PURE;
+ STDMETHOD_(BOOL,HasUserCancelled)(THIS) PURE;
+ STDMETHOD(SetProgress)(THIS_ DWORD dwCompleted, DWORD dwTotal) PURE;
+ STDMETHOD(SetProgress64)(THIS_ ULONGLONG ullCompleted, ULONGLONG ullTotal) PURE;
+ STDMETHOD(SetLine)(THIS_ DWORD dwLineNum, LPCWSTR pwzString, BOOL bPath, LPCVOID reserved) PURE;
+ STDMETHOD(SetCancelMsg)(THIS_ LPCWSTR pwzCancelMsg, LPCVOID reserved) PURE;
+ STDMETHOD(Timer)(THIS_ DWORD dwTimerAction, LPCVOID reserved) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IProgressDialog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IProgressDialog_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IProgressDialog_Release(p) (p)->lpVtbl->Release(p)
+/*** IProgressDialog methods ***/
+#define IProgressDialog_StartProgressDialog(p,a,b,c,d) (p)->lpVtbl->StartProgressDialog(p,a,b,c,d)
+#define IProgressDialog_StopProgressDialog(p) (p)->lpVtbl->StopProgressDialog(p)
+#define IProgressDialog_SetTitle(p,a) (p)->lpVtbl->SetTitle(p,a)
+#define IProgressDialog_SetAnimation(p,a,b) (p)->lpVtbl->SetAnimation(p,a,b)
+#define IProgressDialog_HasUserCancelled(p) (p)->lpVtbl->HasUserCancelled(p)
+#define IProgressDialog_SetProgress(p,a,b) (p)->lpVtbl->SetProgress(p,a,b)
+#define IProgressDialog_SetProgress64(p,a,b) (p)->lpVtbl->SetProgress64(p,a,b)
+#define IProgressDialog_SetLine(p,a,b,c,d) (p)->lpVtbl->SetLine(p,a,b,c,d)
+#define IProgressDialog_SetCancelMsg(p,a,b) (p)->lpVtbl->SetCancelMsg(p,a,b)
+#define IProgressDialog_Timer(p,a,b) (p)->lpVtbl->Timer(p,a,b)
+#endif
+
/****************************************************************************
* SHAddToRecentDocs API
More information about the wine-cvs
mailing list