home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / recent / recent.exe / Chooser.h < prev    next >
C/C++ Source or Header  |  1998-04-13  |  1KB  |  47 lines

  1. #pragma once
  2.  
  3. #include <ObjModel\addguid.h>
  4. #include <ObjModel\appguid.h>
  5. #include <ObjModel\bldguid.h>
  6. #include <ObjModel\textguid.h>
  7. #include <ObjModel\dbgguid.h>
  8.  
  9. #include "resource.h"
  10.  
  11. class ATL_NO_VTABLE Chooser : 
  12.     public CComObjectRootEx<CComSingleThreadModel>,
  13.     public CComCoClass<Chooser, &CLSID_Chooser>,
  14.     public IDSAddIn,
  15.     public IDispatchImpl<IChooser, &IID_IChooser, &LIBID_Recent>
  16. {
  17. public:
  18.     Chooser()
  19.     {
  20.     }
  21.  
  22. DECLARE_REGISTRY_RESOURCEID(IDR_CHOOSER)
  23.  
  24. BEGIN_COM_MAP(Chooser)
  25.     COM_INTERFACE_ENTRY(IChooser)
  26.     COM_INTERFACE_ENTRY2(IDispatch, IChooser)
  27.     COM_INTERFACE_ENTRY(IDSAddIn)
  28. END_COM_MAP()
  29.  
  30.     CComPtr<IApplication> m_spApplication;
  31.     DWORD m_dwAddInID;
  32.  
  33. // IDSAddIn methods
  34. public:
  35.     STDMETHOD(OnConnection)(IApplication* pApp, VARIANT_BOOL bFirstTime, long dwCookie, VARIANT_BOOL* bOnConnection);
  36.     STDMETHOD(OnDisconnection)(VARIANT_BOOL bLastTime);
  37.  
  38. // IChooser
  39. public:
  40.     STDMETHOD(ChooseRecentFile)();
  41.     STDMETHOD(ChooseRecentWorkspace)();
  42.  
  43. private:
  44.     HRESULT ChooseRecent(const TCHAR* title, const TCHAR* prefix, const TCHAR* append = NULL);
  45.     static bool FillList(list<tstring>& files, const tstring& prefix);
  46. };
  47.