home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 April / VPR0004A.BIN / OLS / SADKT100 / sadkt100.lzh / SrcFiles.lzh / CommandSink.h < prev    next >
C/C++ Source or Header  |  1999-12-31  |  3KB  |  128 lines

  1. // CommandSink.h : CCommandSink の宣言
  2.  
  3. #ifndef __COMMANDSINK_H_
  4. #define __COMMANDSINK_H_
  5.  
  6. #include "resource.h"       // メイン シンボル
  7. #include "sari_i.h"
  8.  
  9. #include "StrSet.h"
  10.  
  11. #define DATA_KEY    _T("AD_Files")
  12. #define FLAG_MASK_A    0x000000FF
  13. #define FLAG_MASK_B 0x0000FF00
  14.  
  15. enum flag{
  16.     F_1=0x000000001,
  17.     F_2=0x000000002,
  18.     F_3=0x000000004,
  19.     F_4=0x000000008,
  20.     F_5=0x000000010,
  21.     F_6=0x000000020,
  22.     F_7=0x000000040,
  23.     F_8=0x000000080,
  24.     F_9=0x000000100,
  25.     F_10=0x00000200,
  26.     F_11=0x00000400,
  27.     F_12=0x00000800,
  28.     F_13=0x00001000,
  29.     F_14=0x00002000,
  30.     F_15=0x00004000,
  31.     F_16=0x00008000,
  32.     F_17=0x00010000,
  33.     F_18=0x00020000,
  34.     F_19=0x00040000,
  35.     F_20=0x00080000,
  36.     F_21=0x00100000,
  37.     F_22=0x00200000,
  38.     F_23=0x00400000,
  39.     F_24=0x00800000,
  40.     F_25=0x01000000,
  41.     F_26=0x02000000,
  42.     F_27=0x04000000,
  43.     F_28=0x08000000,
  44.     F_29=0x10000000,
  45.     F_30=0x20000000,
  46.     F_31=0x40000000,
  47.     F_32=0x80000000
  48. };
  49.  
  50.  
  51. /////////////////////////////////////////////////////////////////////////////
  52. // CCommandSink
  53. class ATL_NO_VTABLE CCommandSink : 
  54.     public CComObjectRootEx<CComSingleThreadModel>,
  55. //    public CComCoClass<CCommandSink, &CLSID_CommandSink>,
  56.     public IDispatchImpl<ICommandSink, &IID_ICommandSink, &LIBID_AD_FILESLib>
  57. {
  58. public:
  59.     CCommandSink()
  60.     {
  61.         m_pApl=NULL;
  62.         m_dwCookie=0;
  63.         m_dwAdvise=0;
  64.         m_wUnique=0;
  65.     }
  66.  
  67.     ISRAPL *m_pApl;
  68.     DWORD m_dwCookie;
  69.     DWORD m_dwAdvise;
  70.     WORD m_wUnique;
  71.     DWORD m_dwFlag;        // F_10 対応ファイルのツールバー
  72.                         // F_11 ディレクトリ編集禁止のツールバー
  73.                         // F_12 拡張子編集禁止のツールバー
  74.                         // F_13 ReadOnly属性のツールバー
  75.  
  76.     list<CString>    m_sltUEDir;
  77.     list<CString>    m_sltUEExt;
  78.     set<CStrSet>    m_sstExt;
  79.     set<CStrSet>    m_sstFile;
  80.  
  81. // DECLARE_REGISTRY_RESOURCEID(IDR_COMMANDSINK)
  82. DECLARE_NOT_AGGREGATABLE(CCommandSink)
  83.  
  84. DECLARE_PROTECT_FINAL_CONSTRUCT()
  85.  
  86. BEGIN_COM_MAP(CCommandSink)
  87.     COM_INTERFACE_ENTRY(ICommandSink)
  88.     COM_INTERFACE_ENTRY(IDispatch)
  89.     COM_INTERFACE_ENTRY_IID(DIID__ISRAPLEvents, IDispatch)
  90. END_COM_MAP()
  91.  
  92.  
  93.     void OnOpenMatchFile();
  94.     void DisplayMatchFile(CString& csFile, CStrSet& cSS, ISRFile *pIFile);
  95.  
  96.     void OnEnableEditDir(BOOL bEnable);
  97.     void OnEnableEditExt(BOOL bEnable);
  98.     void OnFileReadOnly(BOOL bReadOnly);
  99.     void OnDirReadOnly(BOOL bReadOnly);
  100.     void OnSetting();
  101.  
  102.     void SetEnableEdit(BOOL bEnable);
  103.     void WriteRegistryData(WORD wFlag);
  104.     BOOL GetFileName(CString &csFile);
  105.     void GetRegistryData(WORD wFlag);
  106.     void GetUniqueWord();
  107.  
  108.  
  109. // ICommandSink
  110. public:
  111.     STDMETHOD(OnBroadcastMessage)(/*[in]*/long lCookie, /*[in]*/long lMessage);
  112.     STDMETHOD(OnCloseInstance)();
  113.     STDMETHOD(OnPostSave)();
  114.     STDMETHOD(OnPreSave)();
  115.     STDMETHOD(OnPostOpen)();
  116.     STDMETHOD(OnPreOpen)();
  117.     STDMETHOD(OnNewInstance)();
  118.     STDMETHOD(OnAddinCommand)(/*[in]*/long lCookie, /*[in]*/long lInnerNumber);
  119.  
  120. public:
  121.     BOOL SetObjectInfo(ISRAPL *pApl, DWORD dwCookie);
  122.     void Unadvise();
  123.     
  124.     
  125. };
  126.  
  127. #endif //__COMMANDSINK_H_
  128.