ReactOS  0.4.14-dev-999-g61c8d34
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 {
35 private:
39  CComPtr<IUnknown> fSite;
42 public:
45 private:
46  void PopulateComboBox(LPITEMIDLIST pidl);
47  void AddComboBoxItem(LPITEMIDLIST pidl, int index, int indent);
48  void FillOneLevel(int index, int levelIndent, int indent);
50 public:
51  // *** IShellService methods ***
53 
54  // *** IAddressBand methods ***
55  virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC);
56  virtual HRESULT STDMETHODCALLTYPE Refresh(long param8);
57 
58  // *** IAddressEditBox methods ***
59  virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18);
60  virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC);
61  virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC);
62  virtual HRESULT STDMETHODCALLTYPE Execute(long paramC);
63  virtual HRESULT STDMETHODCALLTYPE Save(long paramC);
64 
65  // *** IWinEventHandler methods ***
68 
69  // *** IOleCommandTarget methods ***
70  virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText);
71  virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
72 
73  // *** IDispatch methods ***
75  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
76  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
77  virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
78 
79  // *** IPersist methods ***
80  virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
81 
82  // *** IPersistStream methods ***
84  virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm);
85  virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
87 
88  // message handlers
89 
92 
94 
96  END_MSG_MAP()
97 
99  COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService)
100  COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand)
101  COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox)
102  COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
103  COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
107  END_COM_MAP()
108 };
#define REFIID
Definition: guiddef.h:118
virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC)
static const WCHAR indent[]
Definition: object.c:1156
virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm)
virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC)
LPITEMIDLIST GetItemData(int index)
virtual HRESULT STDMETHODCALLTYPE Save(long paramC)
CContainedWindow fEditWindow
REFIID riid
Definition: precomp.h:44
const GUID IID_IPersist
Definition: proxy.cpp:14
virtual HRESULT STDMETHODCALLTYPE Refresh(long param8)
virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize)
CContainedWindowT< CWindow > CContainedWindow
Definition: atlwin.h:1768
HWND hWnd
Definition: settings.c:17
virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd)
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:611
#define IDR_ADDRESSEDITBOX
Definition: resource.h:92
virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC)
DWORD LCID
Definition: nls.h:13
UINT_PTR WPARAM
Definition: windef.h:207
static LPOLESTR
Definition: stg_prop.c:27
WPARAM wParam
Definition: combotst.c:138
virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
void FillOneLevel(int index, int levelIndent, int indent)
unsigned int BOOL
Definition: ntddk_ex.h:94
virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
virtual HRESULT STDMETHODCALLTYPE Execute(long paramC)
LONG_PTR LPARAM
Definition: windef.h:208
GLuint index
Definition: glext.h:6031
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:541
LONG HRESULT
Definition: typedefs.h:78
virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *)
#define END_MSG_MAP()
Definition: atlwin.h:1789
virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
virtual HRESULT STDMETHODCALLTYPE IsDirty()
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
const GUID IID_IPersistStream
Definition: proxy.cpp:13
const GUID IID_IDispatch
void AddComboBoxItem(LPITEMIDLIST pidl, int index, int indent)
virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18)
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:605
void PopulateComboBox(LPITEMIDLIST pidl)
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:534
struct stdole::EXCEPINFO EXCEPINFO
CComPtr< IUnknown > fSite
static VARIANTARG static DISPID
Definition: ordinal.c:49
virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID)
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:561
unsigned int UINT
Definition: ndis.h:50
virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1770
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:639
struct stdole::DISPPARAMS DISPPARAMS
unsigned int ULONG
Definition: retypes.h:1
LPITEMIDLIST pidlLastParsed
CContainedWindow fCombobox
#define END_COM_MAP()
Definition: atlcom.h:552
LONG_PTR LRESULT
Definition: windef.h:209
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
LPARAM lParam
Definition: combotst.c:139
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo)