Develop and Download Open Source Software

Browse CVS Repository

Contents of /tombo/Tombo/Src/TreeViewItem.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.39 - (show annotations) (download) (as text)
Mon Sep 25 15:59:44 2006 UTC (17 years, 6 months ago) by hirami
Branch: MAIN
CVS Tags: Tombo_2_0b4, B231, HEAD
Changes since 1.38: +7 -2 lines
File MIME type: text/x-chdr
* FIX: One pane mode is not worked(#8954)
* FIX: Save new note failed when choosing virtual folder(#9013)
* FIX: Cut/Copy/Paste is not worked when choosing from menu(WM5)(#9008)
* FIX: Renaming is not worked on some WM5 devices(#9014)
* FIX: Password timeout is not occured when displaying crypted notes and focus is in treeview.(#9050)

1 #ifndef TREEVIEWITEM_H
2 #define TREEVIEWITEM_H
3
4 #include <commctrl.h>
5
6 class MemoSelectView;
7 class MemoManager;
8 class VFDirectoryGenerator;
9 class VFStore;
10 class VFStream;
11 class MemoLoctor;
12 class TreeViewVirtualFolder;
13 class TString;
14 class VFManager;
15 class VFInfo;
16 class TomboURI;
17
18 #include "MemoManager.h"
19 #include "VarBuffer.h"
20
21 /////////////////////////////////////////////
22 // TreeView Node
23 /////////////////////////////////////////////
24
25 class TreeViewItem {
26 BOOL bHasMultiItem;
27 HTREEITEM hItem;
28
29 protected:
30 class Locator {
31 TomboURI *pURI;
32 public:
33 Locator() : pURI(NULL) {}
34 ~Locator();
35 const TomboURI *getURI() const { return pURI; }
36 void set(const TomboURI *pURI);
37 };
38
39 Locator loc;
40
41 public:
42 ///////////////////////////////////////////////////////
43 // constants
44
45 enum OpType {
46 OpDelete = (1 << 0),
47 OpRename = (1 << 1),
48 OpEncrypt = (1 << 2),
49 OpDecrypt = (1 << 3),
50 OpNewMemo = (1 << 4),
51 OpNewFolder = (1 << 5),
52 OpCut = (1 << 6),
53 OpCopy = (1 << 7),
54 OpPaste = (1 << 8),
55 OpGrep = (1 << 9),
56 OpLink = (1 << 10)
57 };
58
59 ///////////////////////////////////////////////////////
60 // TreeViewItem specific methods
61
62 TreeViewItem(BOOL bMultiItem);
63 virtual ~TreeViewItem();
64
65 HTREEITEM GetViewItem();
66 void SetViewItem(HTREEITEM h);
67
68 BOOL HasMultiItem() { return bHasMultiItem; }
69
70 ////////////////////////////////
71 // location related members
72
73 void SetURI(const TomboURI *p);
74 virtual const TomboURI *GetRealURI() const { return loc.getURI(); }
75
76 ///////////////////////////////////////////////////////
77
78 // is operation enabled?
79 virtual BOOL IsOperationEnabled(MemoSelectView *pView, OpType op);
80
81 // node operators
82 virtual BOOL Rename(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR pNewName) = 0;
83 virtual BOOL Delete(MemoManager *pMgr, MemoSelectView *pView) = 0;
84 // "this" object is not deleted, so delete manually if return value is TRUE.
85 virtual BOOL Encrypt(MemoManager *pMgr, MemoSelectView *pView) = 0;
86 virtual BOOL Decrypt(MemoManager *pMgr, MemoSelectView *pView) = 0;
87 virtual BOOL ExecApp(MemoManager *pMgr, MemoSelectView *pView, ExeAppType nType) = 0;
88
89 // Move/Copy this item to current selected item
90 virtual BOOL Move(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR *ppErr) = 0;
91 virtual BOOL Copy(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR *ppErr) = 0;
92
93 // Compare item order
94 virtual DWORD ItemOrder() = 0;
95 virtual DWORD GetIcon(MemoSelectView *pView, DWORD nStatus) = 0;
96
97 // Get path information
98
99 virtual BOOL OpenMemo(MemoSelectView *pView, DWORD nOption);
100 virtual BOOL LoadMemo(MemoSelectView *pView, BOOL bAskPass);
101 virtual BOOL IsUseDetailsView();
102 };
103
104 /////////////////////////////////////////////
105 // File
106 /////////////////////////////////////////////
107 class TreeViewFileItem : public TreeViewItem {
108 protected:
109
110 BOOL CopyMove(BOOL bCopy, MemoManager *pMgr, MemoSelectView *pView);
111 public:
112 TreeViewFileItem();
113 ~TreeViewFileItem();
114
115 ////////////////////////////////
116 // inherited methods
117 BOOL IsOperationEnabled(MemoSelectView *pView, OpType op);
118
119 BOOL Delete(MemoManager *pMgr, MemoSelectView *pView);
120 BOOL Encrypt(MemoManager *pMgr, MemoSelectView *pView);
121 BOOL Decrypt(MemoManager *pMgr, MemoSelectView *pView);
122 BOOL Rename(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR pNewName);
123 BOOL ExecApp(MemoManager *pMgr, MemoSelectView *pView, ExeAppType nType);
124
125 BOOL Move(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR *ppErr);
126 BOOL Copy(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR *ppErr);
127
128 DWORD GetIcon(MemoSelectView *pView, DWORD nStatus);
129 DWORD ItemOrder();
130
131 BOOL OpenMemo(MemoSelectView *pView, DWORD nOption);
132 BOOL LoadMemo(MemoSelectView *pView, BOOL bAskPass);
133
134 };
135
136 /////////////////////////////////////////////
137 // Real folder
138 /////////////////////////////////////////////
139
140 class TreeViewFolderItem : public TreeViewItem {
141 BOOL CopyMove(BOOL bCopy, MemoManager *pMgr, MemoSelectView *pView, LPCTSTR *ppErr);
142 public:
143 TreeViewFolderItem();
144
145 ////////////////////////////////
146 // multi node methods
147
148 virtual BOOL Expand(MemoSelectView *pView);
149
150 ////////////////////////////////
151 // inherited methods
152
153 BOOL IsOperationEnabled(MemoSelectView *pView, OpType op);
154
155 BOOL Rename(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR pNewName);
156 BOOL Delete(MemoManager *pMgr, MemoSelectView *pView);
157 BOOL Encrypt(MemoManager *pMgr, MemoSelectView *pView);
158 BOOL Decrypt(MemoManager *pMgr, MemoSelectView *pView);
159 BOOL ExecApp(MemoManager *pMgr, MemoSelectView *pView, ExeAppType nType);
160
161 BOOL Move(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR *ppErr);
162 BOOL Copy(MemoManager *pMgr, MemoSelectView *pView, LPCTSTR *ppErr);
163
164 DWORD GetIcon(MemoSelectView *pView, DWORD nStatus);
165 DWORD ItemOrder();
166 };
167
168 /////////////////////////////////////////////
169 // File link
170 /////////////////////////////////////////////
171 class TreeViewFileLink : public TreeViewFileItem {
172 public:
173
174 ////////////////////////////////
175 // inherited methods
176
177 BOOL IsOperationEnabled(MemoSelectView *pView, OpType op);
178 };
179
180 /////////////////////////////////////////////
181 // Virtual Folder (Root)
182 /////////////////////////////////////////////
183
184 class TreeViewVirtualFolderRoot : public TreeViewFolderItem {
185 VFManager *pManager;
186 TomboURI *pDefaultURI;
187 public:
188 TreeViewVirtualFolderRoot();
189 ~TreeViewVirtualFolderRoot();
190 BOOL Init(const TomboURI *pURI, VFManager *pManager);
191
192 ////////////////////////////
193 // class specific methods
194
195 BOOL AddSearchResult(MemoSelectView *pView, const VFInfo *p);
196 BOOL InsertVirtualFolder(MemoSelectView *pView, LPCTSTR pName, VFDirectoryGenerator *pGen, VFStore *pStore);
197
198 ////////////////////////////////
199 // multi node methods
200
201 BOOL Expand(MemoSelectView *pView);
202
203 ////////////////////////////////
204 // inherited methods
205
206 BOOL IsOperationEnabled(MemoSelectView *pView, OpType op);
207
208 DWORD GetIcon(MemoSelectView *pView, DWORD nStatus);
209
210 const TomboURI *GetRealURI() const;
211 };
212
213
214 /////////////////////////////////////////////
215 // Virtual Folder (Non-root)
216 /////////////////////////////////////////////
217
218 class TreeViewVirtualFolder : public TreeViewFolderItem {
219 protected:
220 VFDirectoryGenerator *pGenerator;
221 VFStore *pStore;
222 TomboURI *pDefaultURI;
223 public:
224 TreeViewVirtualFolder();
225 ~TreeViewVirtualFolder();
226
227 ////////////////////////////
228 // class specific methods
229
230 // pGen's life scope is control under TreeViewVirtualFolder.
231 // don't delete pGen after calling SetGenerator.
232 BOOL SetGenerator(VFDirectoryGenerator *pGen);
233
234 // pStore's life scope is control under TreeViewVirtualFolder.
235 // don't delete pStore after calling SetStore.
236 BOOL SetStore(VFStore *pStore);
237
238 ////////////////////////////////
239 // multi node methods
240
241 BOOL Expand(MemoSelectView *pView);
242
243 ////////////////////////////////
244 // inherited methods
245
246 BOOL IsOperationEnabled(MemoSelectView *pView, OpType op);
247
248 DWORD GetIcon(MemoSelectView *pView, DWORD nStatus);
249
250 const TomboURI *GetRealURI() const;
251 };
252
253
254 #endif

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26