update for HEAD-2003091401
[reactos.git] / subsys / system / explorer / Seashell / SeaShellExt / Include / Refresh.h
1 //*******************************************************************************
2 // COPYRIGHT NOTES
3 // ---------------
4 // You may use this source code, compile or redistribute it as part of your application 
5 // for free. You cannot redistribute it as a part of a software development 
6 // library without the agreement of the author. If the sources are 
7 // distributed along with the application, you should leave the original 
8 // copyright notes in the source code without any changes.
9 // This code can be used WITHOUT ANY WARRANTIES at your own risk.
10 // 
11 // For the latest updates to this code, check this site:
12 // http://www.masmex.com 
13 // after Sept 2000
14 // 
15 // Copyright(C) 2000 Philip Oldaker <email: philip@masmex.com>
16 //*******************************************************************************
17
18 #ifndef __REFRESH_H__
19 #define __REFRESH_H__
20
21 #include "UIFolderRefresh.h"
22
23 // SHELL ITEM DATA STRUCTURES
24
25 // List Control
26 typedef struct tagLVID
27 {
28    LPSHELLFOLDER lpsfParent;
29    LPITEMIDLIST  lpi;
30    LPITEMIDLIST  lpifq;
31    ULONG         ulAttribs;
32    LPARAM                lParam;                
33 } LVITEMDATA, *LPLVITEMDATA;
34
35 // Tree Control
36 typedef struct tagTVID
37 {
38    LPSHELLFOLDER lpsfParent;
39    LPITEMIDLIST  lpi;
40    LPITEMIDLIST  lpifq;
41    LPARAM                lParam;                
42 } TVITEMDATA, *LPTVITEMDATA;
43
44 #include <vector>
45 using namespace std;
46 typedef vector<LPTVITEMDATA> vecItemData;
47
48 class CRefreshIEFolder : public CRefresh
49 {
50 private:
51         CRefreshIEFolder(const CRefreshIEFolder &rRefresh);
52         CRefreshIEFolder &operator=(const CRefreshIEFolder &rRefresh);
53 public:
54         CRefreshIEFolder(HTREEITEM hItem,LPARAM lParam) : CRefresh(hItem,lParam) {}
55         LPTVITEMDATA GetItemData() const { return (LPTVITEMDATA)GetExtData(); }
56 };
57
58 class CRefreshShellFolder : public CRefresh
59 {
60 private:
61         CRefreshShellFolder(const CRefreshShellFolder &rRefresh);
62         CRefreshShellFolder &operator=(const CRefreshShellFolder &rRefresh);
63 public:
64         CRefreshShellFolder(HTREEITEM hItem,LPARAM lParam) : CRefresh(hItem,lParam) {}
65         LPTVITEMDATA GetItemData() const { return (LPTVITEMDATA)GetExtData(); }
66 };
67
68 #endif //__REFRESH_H__