e77eb61206f6d2af3195383b35f8808abcac15e8
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / Explorer / src / MyTreeView.h
1 //////////////////////////////////////////////////////\r
2 // MyTreeView.h\r
3 //  Declaration of the CMyTreeView class\r
4 \r
5 #ifndef MYTREEVIEW_H\r
6 #define MYTREEVIEW_H\r
7 \r
8 \r
9 #include "ShellWrapper.h"\r
10 \r
11 using namespace ShellWrapper;\r
12 \r
13 \r
14 class CMyTreeView : public CTreeView\r
15 {\r
16 public:\r
17         CMyTreeView();\r
18         virtual ~CMyTreeView();\r
19         HIMAGELIST GetImageList(BOOL bLarge);\r
20         BOOL GetRootItems();\r
21         BOOL SelectFromListView(Cpidl& CpidlFull);\r
22 \r
23  protected:\r
24         virtual void OnInitialUpdate();\r
25         virtual LRESULT OnNotifyReflect(WPARAM wParam, LPARAM lParam);\r
26         virtual void PreCreate(CREATESTRUCT &cs);\r
27         virtual LRESULT WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam);\r
28 \r
29 private:\r
30         class TreeItemData //A nested class inside CMyTreeView\r
31         {\r
32         public:\r
33                 TreeItemData(Cpidl& cpidlParent, Cpidl& cpidlRel, CShellFolder& cParentFolder);\r
34                 TreeItemData(Cpidl& cpidl);\r
35                 ~TreeItemData();\r
36 \r
37                 CShellFolder& GetParentFolder() {return m_cParentFolder;}\r
38                 Cpidl& GetFullCpidl() {return m_cpidlFull;}\r
39                 Cpidl& GetRelCpidl()  {return m_cpidlRel;}\r
40 \r
41         private:\r
42                 Cpidl        m_cpidlFull;               //Fully Qualified PIDL\r
43                 Cpidl        m_cpidlRel;                //Relative PIDL\r
44                 CShellFolder m_cParentFolder;   //Parent Folder\r
45 \r
46         };  //class TreeItemData\r
47 \r
48         typedef Shared_Ptr<TreeItemData> TreeItemDataPtr;\r
49 \r
50         static int CALLBACK CompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);\r
51         void DeleteItems();\r
52         void DoItemMenu(HTREEITEM hItem, CPoint& ptScreen);\r
53         void DoContextMenu(CPoint& ptScreen);\r
54         void EnumObjects(HTREEITEM hParentItem, CShellFolder& cParentFolder, Cpidl& cpidlParent);\r
55         BOOL GetChildItems(HTREEITEM hParentItem);\r
56 \r
57         void SetImageLists();\r
58 \r
59         HIMAGELIST m_hLargeImageList;\r
60         HIMAGELIST m_hSmallImageList;\r
61         CContextMenu2 m_ccm2;\r
62         std::vector <TreeItemDataPtr> m_pItems;\r
63 public:\r
64         DWORD m_dwThreadID;\r
65 \r
66 };\r
67 \r
68 #endif  // MYTREEVIEW_H\r

UCC git Repository :: git.ucc.asn.au