4 * Copyright 2016 Mark Jansen
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.
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.
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
24 WINE_DEFAULT_DEBUG_CHANNEL(shell
);
27 public CComObjectRootEx
<CComMultiThreadModelNoCS
>,
28 public IDispatchImpl
<IShellFolderViewDual2
, &IID_IShellFolderViewDual2
>
39 HRESULT STDMETHODCALLTYPE
Initialize()
41 // Nothing to do for now..
45 // *** IShellFolderViewDual methods ***
46 virtual HRESULT STDMETHODCALLTYPE
get_Application(IDispatch
**app
) override
48 if (!app
) return E_INVALIDARG
;
50 return CShellDispatch_Constructor(IID_IDispatch
, (LPVOID
*)app
);
53 virtual HRESULT STDMETHODCALLTYPE
get_Parent(IDispatch
**parent
) override
55 if (!parent
) return E_INVALIDARG
;
57 FIXME("CDefViewDual::get_Parent is UNIMPLEMENTED (%p, %p)\n", this, parent
);
61 virtual HRESULT STDMETHODCALLTYPE
get_Folder(Folder
**folder
) override
63 if (!folder
) return E_INVALIDARG
;
65 FIXME("CDefViewDual::get_Folder is UNIMPLEMENTED (%p, %p)\n", this, folder
);
69 virtual HRESULT STDMETHODCALLTYPE
SelectedItems(FolderItems
**items
) override
71 if (!items
) return E_INVALIDARG
;
73 FIXME("CDefViewDual::SelectedItems is UNIMPLEMENTED (%p, %p)\n", this, items
);
77 virtual HRESULT STDMETHODCALLTYPE
get_FocusedItem(FolderItem
**item
) override
79 if (!item
) return E_INVALIDARG
;
81 FIXME("CDefViewDual::get_FocusedItem is UNIMPLEMENTED (%p, %p)\n", this, item
);
85 virtual HRESULT STDMETHODCALLTYPE
SelectItem(VARIANT
*item
, int flags
) override
87 FIXME("CDefViewDual::SelectItem is UNIMPLEMENTED (%p, %p, %i)\n", this, item
, flags
);
91 virtual HRESULT STDMETHODCALLTYPE
PopupItemMenu(FolderItem
*item
, VARIANT vx
, VARIANT vy
, BSTR
*command
) override
93 FIXME("CDefViewDual::PopupItemMenu is UNIMPLEMENTED (%p, %p, %s, %s, %p)\n", this, item
, wine_dbgstr_variant(&vx
), wine_dbgstr_variant(&vy
), command
);
97 virtual HRESULT STDMETHODCALLTYPE
get_Script(IDispatch
**script
) override
99 FIXME("CDefViewDual::get_Script is UNIMPLEMENTED (%p, %p)\n", this, script
);
103 virtual HRESULT STDMETHODCALLTYPE
get_ViewOptions(long *options
) override
105 FIXME("CDefViewDual::get_ViewOptions is UNIMPLEMENTED (%p, %p)\n", this, options
);
109 // *** IShellFolderViewDual2 methods ***
110 virtual HRESULT STDMETHODCALLTYPE
get_CurrentViewMode(UINT
*mode
) override
112 FIXME("CDefViewDual::get_CurrentViewMode is UNIMPLEMENTED (%p, %p)\n", this, mode
);
116 virtual HRESULT STDMETHODCALLTYPE
put_CurrentViewMode(UINT mode
) override
118 FIXME("CDefViewDual::put_CurrentViewMode is UNIMPLEMENTED (%p, %u)\n", this, mode
);
122 virtual HRESULT STDMETHODCALLTYPE
SelectItemRelative(int relative
) override
124 FIXME("CDefViewDual::SelectItemRelative is UNIMPLEMENTED (%p, %i)\n", this, relative
);
128 BEGIN_COM_MAP(CDefViewDual
)
129 COM_INTERFACE_ENTRY_IID(IID_IDispatch
, IDispatch
)
130 COM_INTERFACE_ENTRY_IID(IID_IShellFolderViewDual
, IShellFolderViewDual
)
131 COM_INTERFACE_ENTRY_IID(IID_IShellFolderViewDual2
, IShellFolderViewDual2
)
135 /**********************************************************
136 * CDefViewDual_Constructor
139 HRESULT WINAPI
CDefViewDual_Constructor(REFIID riid
, LPVOID
* ppvOut
)
141 return ShellObjectCreatorInit
<CDefViewDual
>(riid
, ppvOut
);