Module: wine Branch: master Commit: a72b1eff0e1d27d87662c0bc0f09bc027999a1a1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a72b1eff0e1d27d87662c0bc0f...
Author: David Hedberg david.hedberg@gmail.com Date: Mon May 24 16:40:42 2010 +0200
include: Add IExplorerBrowserEvents, IExplorerPaneVisibility and IExplorerBrowser interface declarations and related GUID's.
---
include/shlguid.h | 12 +++++ include/shobjidl.idl | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++ include/shtypes.idl | 2 + 3 files changed, 143 insertions(+), 0 deletions(-)
diff --git a/include/shlguid.h b/include/shlguid.h index 0055d38..bd75cc3 100644 --- a/include/shlguid.h +++ b/include/shlguid.h @@ -164,4 +164,16 @@ DEFINE_GUID(VID_Thumbnails, 0x8bebb290, 0x52d0, 0x11d0, 0xb7, 0xf4, 0x00, 0xc0, DEFINE_GUID(VID_Tile, 0x65f125e5, 0x7be1, 0x4810, 0xba, 0x9d, 0xd2, 0x71, 0xc8, 0x43, 0x2c, 0xe3); DEFINE_GUID(VID_ThumbStrip, 0x8eefa624, 0xd1e9, 0x445b, 0x94, 0xb7, 0x74, 0xfb, 0xce, 0x2e, 0xa1, 0x1a);
+/* IExplorerBrowser */ +DEFINE_GUID(CLSID_ExplorerBrowser, 0x71F96385, 0xDDD6, 0x48D3, 0xA0, 0xC1, 0xAE, 0x06, 0xE8, 0xB0, 0x55, 0xFB); + +DEFINE_GUID(EP_NavPane, 0xCB316B22, 0x25F7, 0x42B8, 0x8A, 0x09, 0x54, 0x0D, 0x23, 0xA4, 0x3C, 0x2F); +DEFINE_GUID(EP_Commands,0xD9745868, 0xCA5F, 0x4A76, 0x91, 0xCD, 0xF5, 0xA1, 0x29, 0xFB, 0xB0, 0x76); +DEFINE_GUID(EP_Commands_Organize, 0x72E81700, 0xE3EC, 0x4660, 0xBF, 0x24, 0x3C, 0x3B, 0x7B, 0x64, 0x88, 0x06); +DEFINE_GUID(EP_Commands_View, 0x21F7C32D, 0xEEAA, 0x439B, 0xBB, 0x51, 0x37, 0xB9, 0x6F, 0xD6, 0xA9, 0x43); +DEFINE_GUID(EP_DetailsPane, 0x43ABF98B, 0x89B8, 0x472D, 0xB9, 0xCE, 0xE6, 0x9B, 0x82, 0x29, 0xF0, 0x19); +DEFINE_GUID(EP_PreviewPane, 0x893C63D1, 0x45C8, 0x4D17, 0xBE, 0x19, 0x22, 0x3B, 0xE7, 0x1B, 0xE3, 0x65); +DEFINE_GUID(EP_QueryPane, 0x65BCDE4F, 0x4F07, 0x4F27, 0x83, 0xA7, 0x1A, 0xFC, 0xA4, 0xDF, 0x7D, 0xDD); +DEFINE_GUID(EP_AdvQueryPane, 0xB4E9DB8B, 0x34BA, 0x4C39, 0xB5, 0xCC, 0x16, 0xA1, 0xBD, 0x2C, 0x41, 0x1C); + #endif /* __WINE_SHLGUID_H */ diff --git a/include/shobjidl.idl b/include/shobjidl.idl index a106248..cf05b33 100644 --- a/include/shobjidl.idl +++ b/include/shobjidl.idl @@ -1569,3 +1569,132 @@ interface IProfferService : IUnknown
HRESULT RevokeService([in] DWORD cookie); } + +/***************************************************************************** + * IExplorerBrowserEvents interface + */ +[ + object, + uuid(361BBDC7-E6EE-4E13-BE58-58E2240C810F) +] +interface IExplorerBrowserEvents : IUnknown +{ + HRESULT OnNavigationPending( + [in] PCIDLIST_ABSOLUTE pidlFolder); + + HRESULT OnViewCreated( + [in] IShellView *psv); + + HRESULT OnNavigationComplete( + [in] PCIDLIST_ABSOLUTE pidlFolder); + + HRESULT OnNavigationFailed( + [in] PCIDLIST_ABSOLUTE pidlFolder); +} + +typedef GUID EXPLORERPANE; +typedef EXPLORERPANE *REFEXPLORERPANE; + +/***************************************************************************** + * IExplorerPaneVisibility interface + */ +[ + object, + uuid(E07010EC-BC17-44C0-97B0-46C7C95B9EDC) +] +interface IExplorerPaneVisibility : IUnknown +{ + typedef enum tagEXPLORERPANESTATE { + EPS_DONTCARE = 0x0, + EPS_DEFAULT_ON = 0x1, + EPS_DEFAULT_OFF = 0x2, + EPS_STATE_MASK = 0xffff, + EPS_INITIALSTATE = 0x10000, + EPS_FORCE = 0x20000 + } EXPLORERPANESTATE; + + HRESULT GetPaneState( + [in] REFEXPLORERPANE ep, + [out] EXPLORERPANESTATE *peps); +} + +typedef [v1_enum] enum tagEXPLORER_BROWSER_FILL_FLAGS { + EBF_NONE = 0, + EBF_SELECTFROMDATAOBJECT = 0x100, + EBF_NODROPTARGET = 0x200 +} EXPLORER_BROWSER_FILL_FLAGS; + +typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS { + EBO_NONE = 0x00, + EBO_NAVIGATEONCE = 0x01, + EBO_SHOWFRAMES = 0x02, + EBO_ALWAYSNAVIGATE = 0x04, + EBO_NOTRAVELLOG = 0x08, + EBO_NOWRAPPERWINDOW = 0x10, + EBO_HTMLSHAREPOINTVIEW = 0x20 +} EXPLORER_BROWSER_OPTIONS; + +cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser") + +/***************************************************************************** + * IExplorerBrowser interface + */ +[ + object, + uuid(DFD3B6B5-C10C-4BE9-85F6-A66969F402F6), + pointer_default(unique) +] +interface IExplorerBrowser : IUnknown +{ + + [local] HRESULT Initialize( + [in] HWND hwndParent, + [in] const RECT *prc, + [in, unique] const FOLDERSETTINGS *pfs); + + HRESULT Destroy(); + + [local] HRESULT SetRect( + [in,out,unique] HDWP *phdwp, + [in] RECT rcBrowser); + + HRESULT SetPropertyBag( + [in, string] LPCWSTR pszPropertyBag); + + HRESULT SetEmptyText( + [in, string] LPCWSTR pszEmptyText); + + HRESULT SetFolderSettings( + [in] const FOLDERSETTINGS *pfs); + + HRESULT Advise( + [in] IExplorerBrowserEvents *psbe, + [out] DWORD *pdwCookie); + + HRESULT Unadvise( + [in] DWORD dwCookie); + + HRESULT SetOptions( + [in] EXPLORER_BROWSER_OPTIONS dwFlag); + + HRESULT GetOptions( + [out] EXPLORER_BROWSER_OPTIONS *pdwFlag); + + HRESULT BrowseToIDList( + [in] PCUIDLIST_RELATIVE pidl, + [in] UINT uFlags); + + HRESULT BrowseToObject( + [in] IUnknown *punk, + [in] UINT uFlags); + + HRESULT FillFromObject( + [in] IUnknown *punk, + [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags); + + HRESULT RemoveAll(); + + HRESULT GetCurrentView( + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppv); +} diff --git a/include/shtypes.idl b/include/shtypes.idl index dd908e3..5ed8daf 100644 --- a/include/shtypes.idl +++ b/include/shtypes.idl @@ -38,6 +38,8 @@ typedef LPITEMIDLIST PITEMID_CHILD; typedef const PITEMID_CHILD PCITEMID_CHILD; typedef LPCITEMIDLIST PCUITEMID_CHILD; typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY; +typedef LPCITEMIDLIST PCUIDLIST_RELATIVE; +typedef LPCITEMIDLIST PCIDLIST_ABSOLUTE; cpp_quote("#include <poppack.h>")
#ifndef MAX_PATH