[PATCH 3/8] include: Add INameSpaceTreeControl, INameSpaceTreeControl2 and INameSpaceTreeControlEvents interface declarations. (try 2)
David Hedberg
david.hedberg at gmail.com
Tue Jul 20 08:02:50 CDT 2010
---
include/shobjidl.idl | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 293 insertions(+), 0 deletions(-)
diff --git a/include/shobjidl.idl b/include/shobjidl.idl
index 288e62c..eb472de 100644
--- a/include/shobjidl.idl
+++ b/include/shobjidl.idl
@@ -1903,3 +1903,296 @@ interface IExplorerBrowser : IUnknown
[in] REFIID riid,
[out, iid_is(riid)] void **ppv);
}
+
+/*****************************************************************************
+ * INameSpaceTreeControl interface
+ */
+[
+ object,
+ uuid(028212A3-B627-47E9-8856-C14265554E4F)
+]
+interface INameSpaceTreeControl : IUnknown
+{
+ [v1_enum] enum _NSTCSTYLE {
+ NSTCS_HASEXPANDOS = 0x00000001,
+ NSTCS_HASLINES = 0x00000002,
+ NSTCS_SINGLECLICKEXPAND = 0x00000004,
+ NSTCS_FULLROWSELECT = 0x00000008,
+ NSTCS_SPRINGEXPAND = 0x00000010,
+ NSTCS_HORIZONTALSCROLL = 0x00000020,
+ NSTCS_ROOTHASEXPANDO = 0x00000040,
+ NSTCS_SHOWSELECTIONALWAYS = 0x00000080,
+ NSTCS_NOINFOTIP = 0x00000200,
+ NSTCS_EVENHEIGHT = 0x00000400,
+ NSTCS_NOREPLACEOPEN = 0x00000800,
+ NSTCS_DISABLEDRAGDROP = 0x00001000,
+ NSTCS_NOORDERSTREAM = 0x00002000,
+ NSTCS_RICHTOOLTIP = 0x00004000,
+ NSTCS_BORDER = 0x00008000,
+ NSTCS_NOEDITLABELS = 0x00010000,
+ NSTCS_TABSTOP = 0x00020000,
+ NSTCS_FAVORITESMODE = 0x00080000,
+ NSTCS_AUTOHSCROLL = 0x00100000,
+ NSTCS_FADEINOUTEXPANDOS = 0x00200000,
+ NSTCS_EMPTYTEXT = 0x00400000,
+ NSTCS_CHECKBOXES = 0x00800000,
+ NSTCS_PARTIALCHECKBOXES = 0x01000000,
+ NSTCS_EXCLUSIONCHECKBOXES = 0x02000000,
+ NSTCS_DIMMEDCHECKBOXES = 0x04000000,
+ NSTCS_NOINDENTCHECKS = 0x08000000,
+ NSTCS_ALLOWJUNCTIONS = 0x10000000,
+ NSTCS_SHOWTABSBUTTON = 0x20000000,
+ NSTCS_SHOWDELETEBUTTON = 0x40000000,
+ NSTCS_SHOWREFRESHBUTTON = (int)0x80000000
+ };
+ typedef DWORD NSTCSTYLE;
+
+ [v1_enum] enum _NSTCROOTSTYLE {
+ NSTCRS_VISIBLE = 0x0000,
+ NSTCRS_HIDDEN = 0x0001,
+ NSTCRS_EXPANDED = 0x0002
+ };
+ typedef DWORD NSTCROOTSTYLE;
+
+ [v1_enum] enum _NSTCITEMSTATE {
+ NSTCIS_NONE = 0x0000,
+ NSTCIS_SELECTED = 0x0001,
+ NSTCIS_EXPANDED = 0x0002,
+ NSTCIS_BOLD = 0x0004,
+ NSTCIS_DISABLED = 0x0008,
+ NSTCIS_SELECTEDNOEXPAND = 0x0010
+ };
+ typedef DWORD NSTCITEMSTATE;
+
+ typedef [v1_enum] enum NSTCGNI {
+ NSTCGNI_NEXT = 0,
+ NSTCGNI_NEXTVISIBLE = 1,
+ NSTCGNI_PREV = 2,
+ NSTCGNI_PREVVISIBLE = 3,
+ NSTCGNI_PARENT = 4,
+ NSTCGNI_CHILD = 5,
+ NSTCGNI_FIRSTVISIBLE = 6,
+ NSTCGNI_LASTVISIBLE = 7
+ } NSTCGNI;
+
+ HRESULT Initialize(
+ [in] HWND hwndParent,
+ [in, unique] RECT *prc,
+ [in] NSTCSTYLE nstcsFlags);
+
+ HRESULT TreeAdvise(
+ [in] IUnknown *punk,
+ [out] DWORD *pdwCookie);
+
+ HRESULT TreeUnadvise(
+ [in] DWORD dwCookie);
+
+ HRESULT AppendRoot(
+ [in] IShellItem *psiRoot,
+ [in] SHCONTF grfEnumFlags,
+ [in] NSTCROOTSTYLE grfRootStyle,
+ [in, unique] IShellItemFilter *pif);
+
+ HRESULT InsertRoot(
+ [in] int iIndex,
+ [in] IShellItem *psiRoot,
+ [in] SHCONTF grfEnumFlags,
+ [in] NSTCROOTSTYLE grfRootStyle,
+ [in, unique] IShellItemFilter *pif);
+
+ HRESULT RemoveRoot(
+ [in] IShellItem *psiRoot);
+
+ HRESULT RemoveAllRoots();
+
+ HRESULT GetRootItems(
+ [out] IShellItemArray **ppsiaRootItems);
+
+ HRESULT SetItemState(
+ [in] IShellItem *psi,
+ [in] NSTCITEMSTATE nstcisMask,
+ [in] NSTCITEMSTATE nstcisFlags);
+
+ HRESULT GetItemState(
+ [in] IShellItem *psi,
+ [in] NSTCITEMSTATE nstcismask,
+ [out] NSTCITEMSTATE *pnstcisFlags);
+
+ HRESULT GetSelectedItems(
+ [out] IShellItemArray **psiaItems);
+
+ HRESULT GetItemCustomState(
+ [in] IShellItem *psi,
+ [out] int *piStateNumber);
+
+ HRESULT SetItemCustomState(
+ [in] IShellItem *psi,
+ [in] int iStateNumber);
+
+ HRESULT EnsureItemVisible(
+ [in] IShellItem *psi);
+
+ HRESULT SetTheme(
+ [in, string] LPCWSTR pszTheme);
+
+ HRESULT GetNextItem(
+ [in, unique] IShellItem *psi,
+ [in] NSTCGNI nstcgi,
+ [out] IShellItem **ppsiNext);
+
+ HRESULT HitTest(
+ [in] POINT *ppt,
+ [out] IShellItem **ppsiOut);
+
+ HRESULT GetItemRect(
+ [in] IShellItem *psi,
+ [out] RECT *prect);
+
+ HRESULT CollapseAll();
+}
+
+/*****************************************************************************
+ * INameSpaceTreeControl2 interface
+ */
+[
+ object,
+ uuid(7CC7AED8-290E-49BC-8945-C1401CC9306C)
+]
+interface INameSpaceTreeControl2 : INameSpaceTreeControl
+{
+ typedef [v1_enum] enum NSTCSTYLE2 {
+ NSTCS2_DEFAULT = 0x00,
+ NSTCS2_INTERRUPTNOTIFICATIONS = 0x01,
+ NSTCS2_SHOWNULLSPACEMENU = 0x02,
+ NSTCS2_DISPLAYPADDING = 0x04,
+ NSTCS2_DISPLAYPINNEDONLY = 0x08,
+ NTSCS2_NOSINGLETONAUTOEXPAND = 0x10, /* The apparent typo here is */
+ NTSCS2_NEVERINSERTNONENUMERATED = 0x20 /* present also in the Win SDK */
+ } NSTCSTYLE2;
+ cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NSTCSTYLE2)")
+
+ HRESULT SetControlStyle(
+ [in] NSTCSTYLE nstcsMask,
+ [in] NSTCSTYLE nstcsStyle);
+
+ HRESULT GetControlStyle(
+ [in] NSTCSTYLE nstcsMask,
+ [out] NSTCSTYLE *pnstcsStyle);
+
+ HRESULT SetControlStyle2(
+ [in] NSTCSTYLE2 nstcsMask,
+ [in] NSTCSTYLE2 nstcsStyle);
+
+ HRESULT GetControlStyle2(
+ [in] NSTCSTYLE2 nstcsMask,
+ [out] NSTCSTYLE2 *pnstcsStyle);
+}
+
+/*****************************************************************************
+ * INameSpaceTreeControlEvents interface
+ */
+
+[
+ object,
+ uuid(93D77985-B3D8-4484-8318-672CDDA002CE),
+ local
+]
+interface INameSpaceTreeControlEvents : IUnknown
+{
+ [v1_enum] enum _NSTCEHITTEST {
+ NSTCEHT_NOWHERE = 0x0001,
+ NSTCEHT_ONITEMICON = 0x0002,
+ NSTCEHT_ONITEMLABEL = 0x0004,
+ NSTCEHT_ONITEMIDENT = 0x0008,
+ NSTCEHT_ONITEMBUTTON = 0x0010,
+ NSTCEHT_ONITEMRIGHT = 0x0020,
+ NSTCEHT_ONITEMSTATEICON = 0x0040,
+ NSTCEHT_ONITEM = 0x0046,
+ NSTCEHT_ONITEMTABBUTTON = 0x1000
+ };
+ typedef DWORD NSTCEHITTEST;
+
+ [v1_enum] enum _NSTCECLICKTYPE {
+ NSTCECT_LBUTTON = 0x1,
+ NSTCECT_MBUTTON = 0x2,
+ NSTCECT_RBUTTON = 0x3,
+ NSTCECT_BUTTON = 0x3,
+ NSTCECT_DBLCLICK = 0x4
+ };
+ typedef DWORD NSTCECLICKTYPE;
+
+ HRESULT OnItemClick(
+ [in] IShellItem *psi,
+ [in] NSTCEHITTEST nstceHitTest,
+ [in] NSTCECLICKTYPE nstceClickType);
+
+ HRESULT OnPropertyItemCommit(
+ [in] IShellItem *psi);
+
+ HRESULT OnItemStateChanging(
+ [in] IShellItem *psi,
+ [in] NSTCITEMSTATE nstcisMask,
+ [in] NSTCITEMSTATE nstcisState);
+
+ HRESULT OnItemStateChanged(
+ [in] IShellItem *psi,
+ [in] NSTCITEMSTATE nstcisMask,
+ [in] NSTCITEMSTATE nstcisState);
+
+ HRESULT OnSelectionChanged(
+ [in] IShellItemArray *psiaSelection);
+
+ HRESULT OnKeyboardInput(
+ [in] UINT uMsg,
+ [in] WPARAM wParam,
+ [in] LPARAM lParam);
+
+ HRESULT OnBeforeExpand(
+ [in] IShellItem *psi);
+
+ HRESULT OnAfterExpand(
+ [in] IShellItem *psi);
+
+ HRESULT OnBeginLabelEdit(
+ [in] IShellItem *psi);
+
+ HRESULT OnEndLabelEdit(
+ [in] IShellItem *psi);
+
+ HRESULT OnGetToolTip(
+ [in] IShellItem *psi,
+ [out, string, size_is(cchTip), annotation("__out_ecount(cchTip)")] LPWSTR pszTip,
+ [in] int cchTip);
+
+ HRESULT OnBeforeItemDelete(
+ [in] IShellItem *psi);
+
+ HRESULT OnItemAdded(
+ [in] IShellItem *psi,
+ [in] BOOL fIsRoot);
+
+ HRESULT OnItemDeleted(
+ [in] IShellItem *psi,
+ [in] BOOL fIsRoot);
+
+ HRESULT OnBeforeContextMenu(
+ [in, unique, annotation("__in_opt")] IShellItem *psi,
+ [in] REFIID riid,
+ [out, iid_is(riid), annotation("__deref_out")] void **ppv);
+
+ HRESULT OnAfterContextMenu(
+ [in, annotation("__in_opt")] IShellItem *psi,
+ [in] IContextMenu *pcmIn,
+ [in] REFIID riid,
+ [out, iid_is(riid), annotation("__deref_out")] void **ppv);
+
+ HRESULT OnBeforeStateImageChange(
+ [in] IShellItem *psi,
+ [out] int *piDefaultIcon,
+ [out] int *piOpenIcon);
+
+ HRESULT OnGetDefaultIconIndex(
+ [in] IShellItem *psi,
+ [out] int *piDefaultIcon,
+ [out] int *piOpenIcon);
+}
--
1.7.1.1
More information about the wine-patches
mailing list