[BROWSEUI]
[reactos.git] / dll / win32 / browseui / addresseditbox.h
index 4ddc39e..99cf799 100644 (file)
 #pragma once
 
 class CAddressEditBox :
-       public CWindowImpl<CAddressEditBox, CWindow, CControlWinTraits>,
-       public CComCoClass<CAddressEditBox, &CLSID_AddressEditBox>,
-       public CComObjectRootEx<CComMultiThreadModelNoCS>,
-       public IShellService,
-       public IAddressBand,
-       public IAddressEditBox,
-       public IWinEventHandler,
-       public IOleCommandTarget,
-       public IDispatch,
-       public IPersistStream
+    public CWindowImpl<CAddressEditBox, CWindow, CControlWinTraits>,
+    public CComCoClass<CAddressEditBox, &CLSID_AddressEditBox>,
+    public CComObjectRootEx<CComMultiThreadModelNoCS>,
+    public IWinEventHandler,
+    public IDispatch,
+    public IAddressBand,
+    public IAddressEditBox,
+    public IOleCommandTarget,
+    public IPersistStream,
+    public IShellService
 {
 private:
-       CContainedWindow                                                fEditWindow;
-       CContainedWindow                                                fComboBoxExWindow;
+    CContainedWindow                        fCombobox;
+    CContainedWindow                        fEditWindow;
+    DWORD                                   fAdviseCookie;
+    CComPtr<IUnknown>                       fSite;
+    LPITEMIDLIST                            pidlLastParsed;
 public:
-       CAddressEditBox();
-       ~CAddressEditBox();
+    CAddressEditBox();
+    ~CAddressEditBox();
 private:
 public:
-       // *** IShellService methods ***
+    // *** IShellService methods ***
     virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *);
 
-       // *** IAddressBand methods ***
-       virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC);
-       virtual HRESULT STDMETHODCALLTYPE Refresh(long param8);
+    // *** IAddressBand methods ***
+    virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC);
+    virtual HRESULT STDMETHODCALLTYPE Refresh(long param8);
 
-       // *** IAddressEditBox methods ***
-       virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18);
-       virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC);
-       virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC);
-       virtual HRESULT STDMETHODCALLTYPE Execute(long paramC);
-       virtual HRESULT STDMETHODCALLTYPE Save(long paramC);
+    // *** IAddressEditBox methods ***
+    virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18);
+    virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC);
+    virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC);
+    virtual HRESULT STDMETHODCALLTYPE Execute(long paramC);
+    virtual HRESULT STDMETHODCALLTYPE Save(long paramC);
 
-       // *** IWinEventHandler methods ***
-       virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult);
-       virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd);
+    // *** IWinEventHandler methods ***
+    virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult);
+    virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd);
 
-       // *** IOleCommandTarget methods ***
-       virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[  ], OLECMDTEXT *pCmdText);
-       virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
+    // *** IOleCommandTarget methods ***
+    virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[  ], OLECMDTEXT *pCmdText);
+    virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
 
-       // *** IDispatch methods ***
-       virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo);
-       virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
-       virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
-       virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
+    // *** IDispatch methods ***
+    virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo);
+    virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
+    virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
+    virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
 
-       // *** IPersist methods ***
-       virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
+    // *** IPersist methods ***
+    virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
 
-       // *** IPersistStream methods ***
-       virtual HRESULT STDMETHODCALLTYPE IsDirty();
-       virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm);
-       virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
-       virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize);
+    // *** IPersistStream methods ***
+    virtual HRESULT STDMETHODCALLTYPE IsDirty();
+    virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm);
+    virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
+    virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize);
 
-       // message handlers
-//     LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
-//     LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
+    // message handlers
 
-DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSEDITBOX)
-DECLARE_NOT_AGGREGATABLE(CAddressEditBox)
+    DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSEDITBOX)
+    DECLARE_NOT_AGGREGATABLE(CAddressEditBox)
 
-DECLARE_PROTECT_FINAL_CONSTRUCT()
+    DECLARE_PROTECT_FINAL_CONSTRUCT()
 
-BEGIN_MSG_MAP(CAddressEditBox)
-//     MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
-//     MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
-//     MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus)
-//     ALT_MSG_MAP(1)
-//             MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSaveButton)
-//     ALT_MSG_MAP(2)
-//             MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSelectButton)
-END_MSG_MAP()
+    BEGIN_MSG_MAP(CAddressEditBox)
+    END_MSG_MAP()
 
-BEGIN_COM_MAP(CAddressEditBox)
-       COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService)
-       COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand)
-       COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox)
-       COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
-       COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
-       COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch)
-       COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)
-       COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream)
-END_COM_MAP()
+    BEGIN_COM_MAP(CAddressEditBox)
+        COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService)
+        COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand)
+        COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox)
+        COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
+        COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
+        COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch)
+        COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)
+        COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream)
+    END_COM_MAP()
 };