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

fonts.h
Go to the documentation of this file.
00001 /*
00002  * Fonts folder
00003  *
00004  * Copyright 2008       Johannes Anderwald <janderwald@reactos.org>
00005  * Copyright 2009       Andrew Hill
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00020  */
00021 
00022 #ifndef _SHFLDR_FONTS_H_
00023 #define _SHFLDR_FONTS_H_
00024 
00025 class CFontsFolder :
00026     public CComCoClass<CFontsFolder, &CLSID_FontsFolderShortcut>,
00027     public CComObjectRootEx<CComMultiThreadModelNoCS>,
00028     public IShellFolder2,
00029     public IPersistFolder2,
00030     public IContextMenu2
00031 {
00032     private:
00033         /* both paths are parsible from the desktop */
00034         LPITEMIDLIST pidlRoot;  /* absolute pidl */
00035         LPCITEMIDLIST apidl;    /* currently focused font item */
00036     public:
00037         CFontsFolder();
00038         ~CFontsFolder();
00039         HRESULT WINAPI FinalConstruct();
00040 
00041         // IShellFolder
00042         virtual HRESULT WINAPI ParseDisplayName (HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName, DWORD *pchEaten, LPITEMIDLIST *ppidl, DWORD *pdwAttributes);
00043         virtual HRESULT WINAPI EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList);
00044         virtual HRESULT WINAPI BindToObject(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut);
00045         virtual HRESULT WINAPI BindToStorage(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut);
00046         virtual HRESULT WINAPI CompareIDs(LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
00047         virtual HRESULT WINAPI CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID *ppvOut);
00048         virtual HRESULT WINAPI GetAttributesOf (UINT cidl, LPCITEMIDLIST *apidl, DWORD *rgfInOut);
00049         virtual HRESULT WINAPI GetUIObjectOf(HWND hwndOwner, UINT cidl, LPCITEMIDLIST *apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut);
00050         virtual HRESULT WINAPI GetDisplayNameOf(LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet);
00051         virtual HRESULT WINAPI SetNameOf(HWND hwndOwner, LPCITEMIDLIST pidl, LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST *pPidlOut);
00052 
00053         /* ShellFolder2 */
00054         virtual HRESULT WINAPI GetDefaultSearchGUID(GUID *pguid);
00055         virtual HRESULT WINAPI EnumSearches(IEnumExtraSearch **ppenum);
00056         virtual HRESULT WINAPI GetDefaultColumn(DWORD dwRes, ULONG *pSort, ULONG *pDisplay);
00057         virtual HRESULT WINAPI GetDefaultColumnState(UINT iColumn, DWORD *pcsFlags);
00058         virtual HRESULT WINAPI GetDetailsEx(LPCITEMIDLIST pidl, const SHCOLUMNID *pscid, VARIANT *pv);
00059         virtual HRESULT WINAPI GetDetailsOf(LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS *psd);
00060         virtual HRESULT WINAPI MapColumnToSCID(UINT column, SHCOLUMNID *pscid);
00061 
00062         // IPersist
00063         virtual HRESULT WINAPI GetClassID(CLSID *lpClassId);
00064 
00065         // IPersistFolder
00066         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
00067 
00068         // IPersistFolder2
00069         virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST *pidl);
00070 
00071         // IContextMenu
00072         virtual HRESULT WINAPI QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags);
00073         virtual HRESULT WINAPI InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi);
00074         virtual HRESULT WINAPI GetCommandString(UINT_PTR idCommand, UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen);
00075 
00076         // IContextMenu2
00077         virtual HRESULT WINAPI HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam);
00078 
00079         DECLARE_REGISTRY_RESOURCEID(IDR_FONTSFOLDERSHORTCUT)
00080         DECLARE_NOT_AGGREGATABLE(CFontsFolder)
00081 
00082         DECLARE_PROTECT_FINAL_CONSTRUCT()
00083 
00084         BEGIN_COM_MAP(CFontsFolder)
00085         COM_INTERFACE_ENTRY_IID(IID_IShellFolder2, IShellFolder2)
00086         COM_INTERFACE_ENTRY_IID(IID_IShellFolder, IShellFolder)
00087         COM_INTERFACE_ENTRY_IID(IID_IPersistFolder, IPersistFolder)
00088         COM_INTERFACE_ENTRY_IID(IID_IPersistFolder2, IPersistFolder2)
00089         COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)
00090         COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu)
00091         COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2)
00092         END_COM_MAP()
00093 };
00094 
00095 #endif // _SHFLDR_FONTS_H_

Generated on Sat May 26 2012 04:24:58 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.