ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

addresseditbox.cpp
Go to the documentation of this file.
00001 /*
00002  * ReactOS Explorer
00003  *
00004  * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 /*
00022 This class handles the combo box of the address band.
00023 */
00024 #include "precomp.h"
00025 /*
00026 TODO:
00027     Add auto completion support
00028     Subclass windows in Init method
00029     Connect to browser connection point
00030     Handle navigation complete messages to set edit box text
00031     Handle listbox dropdown message and fill contents
00032     Add drag and drop of icon in edit box
00033     Handle enter in edit box to browse to typed path
00034     Handle change notifies to update appropriately
00035     Add handling of enter in edit box
00036     Fix so selection in combo listbox navigates
00037     Fix so editing text and typing enter navigates
00038 */
00039 
00040 CAddressEditBox::CAddressEditBox() :
00041         fEditWindow(NULL, this, 1),
00042         fComboBoxExWindow(NULL, this, 2)
00043 {
00044 }
00045 
00046 CAddressEditBox::~CAddressEditBox()
00047 {
00048 }
00049 
00050 HRESULT STDMETHODCALLTYPE CAddressEditBox::SetOwner(IUnknown *)
00051 {
00052     // connect to browser connection point
00053     return E_NOTIMPL;
00054 }
00055 
00056 HRESULT STDMETHODCALLTYPE CAddressEditBox::FileSysChange(long param8, long paramC)
00057 {
00058     return E_NOTIMPL;
00059 }
00060 
00061 HRESULT STDMETHODCALLTYPE CAddressEditBox::Refresh(long param8)
00062 {
00063     return E_NOTIMPL;
00064 }
00065 
00066 HRESULT STDMETHODCALLTYPE CAddressEditBox::Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18)
00067 {
00068     fComboBoxExWindow.SubclassWindow(comboboxEx);
00069     fEditWindow.SubclassWindow(editControl);
00070     return S_OK;
00071 }
00072 
00073 HRESULT STDMETHODCALLTYPE CAddressEditBox::SetCurrentDir(long paramC)
00074 {
00075     return E_NOTIMPL;
00076 }
00077 
00078 HRESULT STDMETHODCALLTYPE CAddressEditBox::ParseNow(long paramC)
00079 {
00080     return E_NOTIMPL;
00081 }
00082 
00083 HRESULT STDMETHODCALLTYPE CAddressEditBox::Execute(long paramC)
00084 {
00085     return E_NOTIMPL;
00086 }
00087 
00088 HRESULT STDMETHODCALLTYPE CAddressEditBox::Save(long paramC)
00089 {
00090     return E_NOTIMPL;
00091 }
00092 
00093 HRESULT STDMETHODCALLTYPE CAddressEditBox::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
00094 {
00095     // handle fill of listbox here
00096     return E_NOTIMPL;
00097 }
00098 
00099 HRESULT STDMETHODCALLTYPE CAddressEditBox::IsWindowOwner(HWND hWnd)
00100 {
00101     return E_NOTIMPL;
00102 }
00103 
00104 HRESULT STDMETHODCALLTYPE CAddressEditBox::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[  ], OLECMDTEXT *pCmdText)
00105 {
00106     return E_NOTIMPL;
00107 }
00108 
00109 HRESULT STDMETHODCALLTYPE CAddressEditBox::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
00110 {
00111     return E_NOTIMPL;
00112 }
00113 
00114 HRESULT STDMETHODCALLTYPE CAddressEditBox::GetTypeInfoCount(UINT *pctinfo)
00115 {
00116     return E_NOTIMPL;
00117 }
00118 
00119 HRESULT STDMETHODCALLTYPE CAddressEditBox::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
00120 {
00121     return E_NOTIMPL;
00122 }
00123 
00124 HRESULT STDMETHODCALLTYPE CAddressEditBox::GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
00125 {
00126     return E_NOTIMPL;
00127 }
00128 
00129 HRESULT STDMETHODCALLTYPE CAddressEditBox::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
00130 {
00131     // on navigate complete, change edit section of combobox
00132     return E_NOTIMPL;
00133 }
00134 
00135 HRESULT STDMETHODCALLTYPE CAddressEditBox::GetClassID(CLSID *pClassID)
00136 {
00137     if (pClassID == NULL)
00138         return E_POINTER;
00139     *pClassID = CLSID_AddressEditBox;
00140     return S_OK;
00141 }
00142 
00143 HRESULT STDMETHODCALLTYPE CAddressEditBox::IsDirty()
00144 {
00145     return E_NOTIMPL;
00146 }
00147 
00148 HRESULT STDMETHODCALLTYPE CAddressEditBox::Load(IStream *pStm)
00149 {
00150     return E_NOTIMPL;
00151 }
00152 
00153 HRESULT STDMETHODCALLTYPE CAddressEditBox::Save(IStream *pStm, BOOL fClearDirty)
00154 {
00155     return E_NOTIMPL;
00156 }
00157 
00158 HRESULT STDMETHODCALLTYPE CAddressEditBox::GetSizeMax(ULARGE_INTEGER *pcbSize)
00159 {
00160     return E_NOTIMPL;
00161 }
00162 
00163 HRESULT CreateAddressEditBox(REFIID riid, void **ppv)
00164 {
00165     CComObject<CAddressEditBox>             *theMenuBar;
00166     HRESULT                                 hResult;
00167 
00168     if (ppv == NULL)
00169         return E_POINTER;
00170     *ppv = NULL;
00171     ATLTRY (theMenuBar = new CComObject<CAddressEditBox>);
00172     if (theMenuBar == NULL)
00173         return E_OUTOFMEMORY;
00174     hResult = theMenuBar->QueryInterface (riid, (void **)ppv);
00175     if (FAILED (hResult))
00176     {
00177         delete theMenuBar;
00178         return hResult;
00179     }
00180     return S_OK;
00181 }

Generated on Mon May 28 2012 04:22:30 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.