Commit before breaking everything
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / Explorer / src / MyTreeView.h
diff --git a/research/transmission_spectroscopy/TOF/Win32++/samples/Explorer/src/MyTreeView.h b/research/transmission_spectroscopy/TOF/Win32++/samples/Explorer/src/MyTreeView.h
new file mode 100644 (file)
index 0000000..e77eb61
--- /dev/null
@@ -0,0 +1,68 @@
+//////////////////////////////////////////////////////\r
+// MyTreeView.h\r
+//  Declaration of the CMyTreeView class\r
+\r
+#ifndef MYTREEVIEW_H\r
+#define MYTREEVIEW_H\r
+\r
+\r
+#include "ShellWrapper.h"\r
+\r
+using namespace ShellWrapper;\r
+\r
+\r
+class CMyTreeView : public CTreeView\r
+{\r
+public:\r
+       CMyTreeView();\r
+       virtual ~CMyTreeView();\r
+       HIMAGELIST GetImageList(BOOL bLarge);\r
+       BOOL GetRootItems();\r
+       BOOL SelectFromListView(Cpidl& CpidlFull);\r
+\r
+ protected:\r
+       virtual void OnInitialUpdate();\r
+       virtual LRESULT OnNotifyReflect(WPARAM wParam, LPARAM lParam);\r
+       virtual void PreCreate(CREATESTRUCT &cs);\r
+       virtual LRESULT WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam);\r
+\r
+private:\r
+       class TreeItemData //A nested class inside CMyTreeView\r
+       {\r
+       public:\r
+               TreeItemData(Cpidl& cpidlParent, Cpidl& cpidlRel, CShellFolder& cParentFolder);\r
+               TreeItemData(Cpidl& cpidl);\r
+               ~TreeItemData();\r
+\r
+               CShellFolder& GetParentFolder() {return m_cParentFolder;}\r
+               Cpidl& GetFullCpidl() {return m_cpidlFull;}\r
+               Cpidl& GetRelCpidl()  {return m_cpidlRel;}\r
+\r
+       private:\r
+               Cpidl        m_cpidlFull;               //Fully Qualified PIDL\r
+               Cpidl        m_cpidlRel;                //Relative PIDL\r
+               CShellFolder m_cParentFolder;   //Parent Folder\r
+\r
+       };  //class TreeItemData\r
+\r
+       typedef Shared_Ptr<TreeItemData> TreeItemDataPtr;\r
+\r
+       static int CALLBACK CompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);\r
+       void DeleteItems();\r
+       void DoItemMenu(HTREEITEM hItem, CPoint& ptScreen);\r
+       void DoContextMenu(CPoint& ptScreen);\r
+       void EnumObjects(HTREEITEM hParentItem, CShellFolder& cParentFolder, Cpidl& cpidlParent);\r
+       BOOL GetChildItems(HTREEITEM hParentItem);\r
+\r
+       void SetImageLists();\r
+\r
+       HIMAGELIST m_hLargeImageList;\r
+       HIMAGELIST m_hSmallImageList;\r
+       CContextMenu2 m_ccm2;\r
+       std::vector <TreeItemDataPtr> m_pItems;\r
+public:\r
+       DWORD m_dwThreadID;\r
+\r
+};\r
+\r
+#endif  // MYTREEVIEW_H\r

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