OSDN Git Service

セットアップの追加、ヘルプの修正
[seraphyscrtools/SeraphyScriptTools.git] / TreeItem.h
1 // TreeItem.h : CTreeItem \82Ì\90é\8c¾
2
3 #pragma once
4
5 #include "resource.h"       // \83\81\83C\83\93 \83V\83\93\83{\83\8b
6 #include "generic.h"
7
8 /////////////////////////////////////////////////////////////////////////////
9 // CTreeItem
10 class ATL_NO_VTABLE CTreeItem :
11         public CComObjectRootEx<CComSingleThreadModel>,
12         public CComCoClass<CTreeItem, &CLSID_TreeItem>,
13         public ISupportErrorInfoImpl<&IID_ITreeItem>,
14         public IDispatchImpl<ITreeItem, &IID_ITreeItem, &LIBID_SERAPHYSCRIPTTOOLSLib>
15 {
16 public:
17         CTreeItem()
18                 : m_hWnd(NULL)
19                 , m_hItem(NULL)
20         {
21         }
22
23         //DECLARE_REGISTRY_RESOURCEID(IDR_TREEITEM)
24
25         DECLARE_PROTECT_FINAL_CONSTRUCT()
26
27         BEGIN_COM_MAP(CTreeItem)
28                 COM_INTERFACE_ENTRY(ITreeItem)
29                 COM_INTERFACE_ENTRY(IDispatch)
30                 COM_INTERFACE_ENTRY(ISupportErrorInfo)
31         END_COM_MAP()
32
33         // ITreeItem
34 public:
35         STDMETHOD(IsValid)(/*[out,retval]*/BOOL* pResult);
36         STDMETHOD(Sort)();
37         STDMETHOD(Expand)();
38         STDMETHOD(Select)();
39         STDMETHOD(Erase)();
40         STDMETHOD(Create)(/*[in]*/VARIANT text,/*[out,retval]*/IUnknown** punkVal);
41         STDMETHOD(get_Object)(/*[in,optional]*/VARIANT idx, /*[out, retval]*/ VARIANT *pVal);
42         STDMETHOD(get_Text)(/*[out, retval]*/ BSTR *pVal);
43         STDMETHOD(put_Text)(/*[in]*/ BSTR newVal);
44         STDMETHOD(get_PrevItem)(/*[out, retval]*/ IUnknown* *pVal);
45         STDMETHOD(get_NextItem)(/*[out, retval]*/ IUnknown* *pVal);
46         STDMETHOD(get_ChildItem)(/*[out, retval]*/ IUnknown* *pVal);
47         STDMETHOD(get_Parent)(/*[out, retval]*/ IUnknown* *pVal);
48
49         //
50         static BOOL DeleteTreeItemWithData(HWND hWnd, HTREEITEM hItem);
51         static HRESULT CreateTreeItem(HWND hWnd, HTREEITEM hParent, LPCTSTR text, IUnknown** punkVal);
52         HRESULT InitialCheck();
53         void SetParam(HWND hWnd, HTREEITEM hItem);
54
55 protected:
56         HWND m_hWnd;
57         HTREEITEM m_hItem;
58 };