ReactOS 0.4.15-dev-5893-g1bb4167
addresseditbox.h
Go to the documentation of this file.
1/*
2 * ReactOS Explorer
3 *
4 * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
5 *
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.
10 *
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.
15 *
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21#pragma once
22
24 public CWindowImpl<CAddressEditBox, CWindow, CControlWinTraits>,
25 public CComCoClass<CAddressEditBox, &CLSID_AddressEditBox>,
26 public CComObjectRootEx<CComMultiThreadModelNoCS>,
27 public IWinEventHandler,
28 public IDispatch,
29 public IAddressBand,
30 public IAddressEditBox,
31 public IOleCommandTarget,
32 public IPersistStream,
33 public IShellService
34{
35private:
36 CContainedWindow fCombobox;
37 CContainedWindow fEditWindow;
39 CComPtr<IUnknown> fSite;
42public:
45private:
47 void AddComboBoxItem(LPITEMIDLIST pidl, int index, int indent);
48 void FillOneLevel(int index, int levelIndent, int indent);
53 BOOL GetComboBoxText(CComHeapPtr<WCHAR>& pszText);
55public:
56 // *** IShellService methods ***
58
59 // *** IAddressBand methods ***
60 virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC);
61 virtual HRESULT STDMETHODCALLTYPE Refresh(long param8);
62
63 // *** IAddressEditBox methods ***
64 virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18);
65 virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC);
66 virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC);
67 virtual HRESULT STDMETHODCALLTYPE Execute(long paramC);
68 virtual HRESULT STDMETHODCALLTYPE Save(long paramC);
69
70 // *** IWinEventHandler methods ***
73
74 // *** IOleCommandTarget methods ***
75 virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText);
76 virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
77
78 // *** IDispatch methods ***
80 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
81 virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
82 virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
83
84 // *** IPersist methods ***
85 virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
86
87 // *** IPersistStream methods ***
90 virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
92
93 // message handlers
94
97
99
102
104 COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService)
105 COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand)
106 COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox)
107 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
108 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
113};
HWND hWnd
Definition: settings.c:17
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
HRESULT RefreshAddress()
virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC)
void FillOneLevel(int index, int levelIndent, int indent)
CContainedWindow fEditWindow
virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
HRESULT GetAbsolutePidl(PIDLIST_ABSOLUTE *pAbsolutePIDL)
virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *)
virtual HRESULT STDMETHODCALLTYPE IsDirty()
CContainedWindow fCombobox
CComPtr< IUnknown > fSite
virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize)
HRESULT STDMETHODCALLTYPE ShowFileNotFoundError(HRESULT hRet)
virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC)
virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC)
LPITEMIDLIST GetItemData(int index)
virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
virtual HRESULT STDMETHODCALLTYPE Save(long paramC)
virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm)
LPITEMIDLIST pidlLastParsed
virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
void AddComboBoxItem(LPITEMIDLIST pidl, int index, int indent)
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo)
virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd)
void PopulateComboBox(LPITEMIDLIST pidl)
BOOL GetComboBoxText(CComHeapPtr< WCHAR > &pszText)
virtual HRESULT STDMETHODCALLTYPE Execute(long paramC)
virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID)
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define IDR_ADDRESSEDITBOX
Definition: resource.h:92
static const WCHAR indent[]
Definition: object.c:1156
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLuint index
Definition: glext.h:6031
REFIID riid
Definition: atlbase.h:39
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:542
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:562
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:640
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:612
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:606
#define END_COM_MAP()
Definition: atlcom.h:553
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1892
#define END_MSG_MAP()
Definition: atlwin.h:1911
void Refresh(void)
Definition: magnifier.c:317
static LPOLESTR
Definition: stg_prop.c:27
static VARIANTARG static DISPID
Definition: ordinal.c:49
unsigned int UINT
Definition: ndis.h:50
const GUID IID_IDispatch
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IPersistStream
Definition: proxy.cpp:13
#define REFIID
Definition: guiddef.h:118
DWORD LCID
Definition: nls.h:13
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
uint32_t ULONG
Definition: typedefs.h:59
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207