Lhaz
lhazfiletree.h
[詳解]
1 /*************************************************************************/
6 #pragma once
7 
8 #include "altstr.hpp"
9 #include <vector>
10 #include "lhazarc.h"
11 
12 #ifdef FEATURE_V3
13 #using <AppLimit.CloudComputing.SharpBox.dll>
15 #endif
16 
17 class ARCHIVE;
18 class LHAZFILES;
19 class LHAZFILE;
20 
21 namespace {
22 
23 class LHAZTREEVIEW;
24 
25 } // namespace gui
26 
27 class LHAZFILETREE {
28 public:
29  LHAZFILETREE(void);
30  LHAZFILETREE(const WSTR& name, ARCHIVE* archive, gui::LHAZTREEVIEW* treeview);
31  LHAZFILETREE(const WSTR& name, LHAZFILES* files, gui::LHAZTREEVIEW* treeview, ARCHIVE::TYPE type);
32  LHAZFILETREE(const WSTR& name, gui::LHAZTREEVIEW* treeview, HTREEITEM parent, bool isfile, LHAZFILE* file);
33  ‾LHAZFILETREE(void);
34  //
35  const WSTR& GetName(void) const { return Name; }
36  HTREEITEM GetTreeItem(void) const { return TreeItem; }
37  const std::vector<LHAZFILETREE*>& GetChildren(void) const { return Children; }
38  LHAZFILE* GetFile(void) const { return File; }
39  ARCHIVE* GetArchive(void) const { return Archive; }
40  void Add(gui::LHAZTREEVIEW* treeview, ARCHIVE::TYPE type, const WSTR& name, bool isdir, LHAZFILE* file);
41  void Add(ARCHIVE::TYPE type, const WSTR& name, bool isdir, LHAZFILE* file);
42 #ifdef FEATURE_V3
43  void AddDBList(ICloudDirectoryEntry^ parent, std::vector<LHAZFILE*>& files);
44  void AddGDList(const WSTR& parent, std::vector<LHAZFILE*>& files);
45  void AddGDList(LHAZFILE* file);
46  void AddODList(const WSTR& parent, std::vector<LHAZFILE*>& files);
47 #endif
48  HTREEITEM FindTreeItem(const WSTR& dir) const;
49  bool GetDescendantMember(std::vector<LHAZFILE*>& files) const;
50  LONGLONG GetChildSizeTotal(void) const;
51 
52 private:
53  WSTR Name;
57  HTREEITEM TreeItem;
58  std::vector<LHAZFILETREE*> Children;
60  //
61  void AddSub(gui::LHAZTREEVIEW* treeview, ARCHIVE::TYPE type, const WSTR& name, bool isdir, LHAZFILE* file, WSTR ascendant);
62 
63 };
ARCHIVE * Archive
Definition: lhazfiletree.h:55
Definition: lhazfile.h:14
XZ Utils and lzmadec command line tools are in the public domain unless GNU getopt_long had to be compiled and linked in from the lib directory The getopt_long code is under GNU LGPLv2 The scripts to and view compressed files have been adapted from gzip These scripts and their documentation are under GNU GPLv2 All the documentation in the doc directory and most of the XZ Utils specific documentation files in other directories are in the public domain Translated messages are in the public domain The build system contains public domain files
Definition: COPYING.txt:3
Archive.
TYPE
Definition: lhazarc.h:28
HTREEITEM TreeItem
Definition: lhazfiletree.h:57
LHAZFILES * Files
Definition: lhazfiletree.h:56
Definition: lhazarc.h:25
const WSTR & GetName(void) const
Definition: lhazfiletree.h:35
Definition: lhazfiletree.h:27
then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file
Definition: LICENSE.txt:110
LHAZFILE * GetFile(void) const
Definition: lhazfiletree.h:38
Definition: lhaztreeview.h:18
const std::vector< LHAZFILETREE * > & GetChildren(void) const
Definition: lhazfiletree.h:37
LHAZFILE * File
Definition: lhazfiletree.h:54
ARCHIVE * GetArchive(void) const
Definition: lhazfiletree.h:39
WSTR Name
Definition: lhazfiletree.h:53
gui::LHAZTREEVIEW * m_treeview
Definition: lhazfiletree.h:59
std::vector< LHAZFILETREE * > Children
Definition: lhazfiletree.h:58
Definition: lhazfiles.h:22
HTREEITEM GetTreeItem(void) const
Definition: lhazfiletree.h:36