[PSDK]
authorThomas Faber <thomas.faber@reactos.org>
Mon, 6 Jul 2015 18:38:15 +0000 (18:38 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Mon, 6 Jul 2015 18:38:15 +0000 (18:38 +0000)
- Add IFolderView2 definition from Wine

svn path=/trunk/; revision=68357

reactos/include/psdk/shobjidl.idl
rostests/apitests/com/com_apitest.h

index 437fba3..7b6def0 100644 (file)
@@ -847,6 +847,126 @@ interface IFolderView : IUnknown
     );
 }
 
+[v1_enum] enum tagSORTDIRECTION
+{
+    SORT_DESCENDING = -1,
+    SORT_ASCENDING = 1
+};
+typedef int SORTDIRECTION;
+
+typedef struct SORTCOLUMN
+{
+    PROPERTYKEY propkey;
+    SORTDIRECTION direction;
+} SORTCOLUMN;
+
+typedef [v1_enum] enum FVTEXTTYPE
+{
+    FVST_EMPTYTEXT = 0
+} FVTEXTTYPE;
+
+[
+    uuid(1af3a467-214f-4298-908e-06b03e0b39f9),
+    object,
+    pointer_default(unique)
+]
+interface IFolderView2 : IFolderView
+{
+    HRESULT SetGroupBy(
+        [in] REFPROPERTYKEY key,
+        [in] BOOL ascending);
+
+    [local]
+    HRESULT GetGroupBy(
+        [out] PROPERTYKEY *pkey,
+        [out] BOOL *ascending);
+
+    [call_as(GetGroupBy)]
+    HRESULT RemoteGetGroupBy(
+        [out] PROPERTYKEY *pkey,
+        [out] BOOL *ascending);
+
+    HRESULT SetViewProperty(
+        [in] PCUITEMID_CHILD pidl,
+        [in] REFPROPERTYKEY propkey,
+        [in] REFPROPVARIANT propvar);
+
+    HRESULT GetViewProperty(
+        [in] PCUITEMID_CHILD pidl,
+        [in] REFPROPERTYKEY propkey,
+        [out] PROPVARIANT *propvar);
+
+    HRESULT SetTileViewProperties(
+        [in] PCUITEMID_CHILD pidl,
+        [in, string] LPCWSTR prop_list);
+
+    HRESULT SetExtendedTileViewProperties(
+        [in] PCUITEMID_CHILD pidl,
+        [in, string] LPCWSTR prop_list);
+
+    HRESULT SetText(
+        [in] FVTEXTTYPE type,
+        [in] LPCWSTR text);
+
+    HRESULT SetCurrentFolderFlags(
+        [in] DWORD mask,
+        [in] DWORD flags);
+
+    HRESULT GetCurrentFolderFlags([out] DWORD *flags);
+
+    HRESULT GetSortColumnCount([out] int *columns);
+
+    HRESULT SetSortColumns(
+        [in, size_is(count)] const SORTCOLUMN *columns,
+        [in] int count);
+
+    HRESULT GetSortColumns(
+        [out, size_is(count)] SORTCOLUMN *columns,
+        [in] int count);
+
+    HRESULT GetItem(
+        [in] int ittem,
+        [in] REFIID riid,
+        [out, iid_is(riid)] void **ppv);
+
+    HRESULT GetVisibleItem(
+        [in] int start,
+        [in] BOOL previous,
+        [out] int *item);
+
+    HRESULT GetSelectedItem(
+        [in] int start,
+        [out] int *item);
+
+    HRESULT GetSelection(
+        [in] BOOL none_implies_folder,
+        [out] IShellItemArray **array);
+
+    HRESULT GetSelectionState(
+        [in] PCUITEMID_CHILD pidl,
+        [out] DWORD *flags);
+
+    HRESULT InvokeVerbOnSelection([in, unique, string] LPCSTR verb);
+
+    HRESULT SetViewModeAndIconSize(
+        [in] FOLDERVIEWMODE mode,
+        [in] int size);
+
+    HRESULT GetViewModeAndIconSize(
+        [out] FOLDERVIEWMODE *mode,
+        [out] int *size);
+
+    HRESULT SetGroupSubsetCount([in] UINT visible_rows);
+
+    HRESULT GetGroupSubsetCount([out] UINT *visible_rows);
+
+    HRESULT SetRedraw([in] BOOL redraw);
+
+    HRESULT IsMoveInSameFolder();
+
+    HRESULT DoRename();
+}
+
 /*****************************************************************************
  * IShellBrowser interface
  */
index be1df50..976dba2 100644 (file)
@@ -126,7 +126,6 @@ DEFINE_GUID(IID_IFileSearchBand,           0x2d91eea1, 0x9932, 0x11d2, 0xbe, 0x8
 DEFINE_GUID(IID_IFolderBandPriv,           0x47c01f95, 0xe185, 0x412c, 0xb5, 0xc5, 0x4f, 0x27, 0xdf, 0x96, 0x5a, 0xea);
 DEFINE_GUID(IID_IFolderFilter,             0x9cc22886, 0xdc8e, 0x11d2, 0xb1, 0xd0, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e);
 DEFINE_GUID(IID_IFolderFilterSite,         0xc0a651f5, 0xb48b, 0x11d2, 0xb5, 0xed, 0x00, 0x60, 0x97, 0xc6, 0x86, 0xf6);
-DEFINE_GUID(IID_IFolderView2,              0x1af3a467, 0x214f, 0x4298, 0x90, 0x8e, 0x06, 0xb0, 0x3e, 0x0b, 0x39, 0xf9);
 DEFINE_GUID(IID_IFolderViewHost,           0x1ea58f02, 0xd55a, 0x411d, 0xb0, 0x9e, 0x9e, 0x65, 0xac, 0x21, 0x60, 0x5b);
 DEFINE_GUID(IID_IFolderViewSettings,       0xae8c987d, 0x8797, 0x4ed3, 0xbe, 0x72, 0x2a, 0x47, 0xdd, 0x93, 0x8d, 0xb0);
 DEFINE_GUID(IID_IGetNameSpaceExtensionPointer,0x287d4a71, 0x439f, 0x43a4, 0x8d, 0x5b, 0x0e, 0x0a, 0xe7, 0x1e, 0x84, 0xa9);