Lhaz
lhaztabcontent.h
[詳解]
1 /*************************************************************************/
6 #pragma once
7 
8 #include <vector>
9 #include <windows.h>
10 #include <CommCtrl.h>
11 #include "mystr.h"
12 #include "lhazarc.h"
13 #include "gui/lhazcol.h"
14 #include "lhazlist.h"
15 #include "lhazfile.h"
16 
17 class ARCHIVE;
18 class ARCHIVES;
19 class LHAZFILES;
20 class LHAZSTS;
21 class MYPANEL;
22 class MYONEDRIVE;
23 class PATH;
24 
25 namespace gui {
26 
27 class LHAZLISTVIEW;
28 class LHAZTREEVIEW;
29 
30 } // namespace gui
31 
33 public:
34  enum TYPE { TYPE_ARCHIVE, TYPE_GD, TYPE_OD, TYPE_DB, TYPE_AD, TYPE_MAX };
35  //
36  LHAZTABCONTENT(void);
38  HINSTANCE hins,
39  HWND parent,
40  DWORD dwStyle,
41  int lv_id,
42  bool edge,
43  int page,
44  HIMAGELIST himage,
45  const MYSTR& label,
46  TYPE type,
47  int lvx,
48  int panel_id,
49  int panel_x,
50  HWND panel_mes_hwnd,
51  int panel_mes,
52  int tree_id,
53  bool showtreeview,
54  std::vector<WSTR>& filters,
55  LHAZSTS* stsbar
56  );
57  virtual ‾LHAZTABCONTENT(void);
58  //
59  virtual void CloseArchive(HTREEITEM hitem);
60  virtual void Compress(std::vector<LHAZPROCFILE>& compfiles, const MYSTR& curdir);
61  virtual void DispStsBar(void);
62  virtual const MYSTR& GetLabel(void) const { return m_label; }
63  virtual MYONEDRIVE* GetOneDrive(void) const;
64  virtual void OutputList(const MYSTR& file, LHAZLIST::FORMAT format, bool csv, bool count, const MYSTR& countfile);
65  virtual void SetColumn(HMENU menu, int sortkind, int sortrev);
66  virtual void SortByMenu(WPARAM wParam);
67  virtual void SortRev(void);
68  virtual bool UploadFiles(const std::vector<WSTR>& files);
69  //
70  virtual void OnCompress(void);
71  virtual void OnDropFiles(const std::vector<WSTR>& files, const PATH& tempname);
72  virtual void OnEnter(const PATH& tempdir);
73  virtual int OnNotify(HWND hWnd, WPARAM wParam, LPARAM lParam, const MYSTR& destdir, const MYSTR& tempdir);
74  virtual void OnRefresh(void);
75  virtual void OnSelChange(void);
76  //
77  ARCHIVES* GetArchive(void) const { return m_archive; }
78  const MYSTR& GetFixLabel(void) const { return m_label; }
79  gui::LHAZLISTVIEW* GetListView(void) const { return m_listview; }
80  gui::LVCOLMS* GetLvcolms(void) const { return m_lvcolms; }
81  gui::LHAZTREEVIEW* GetTreeView(void) const { return m_treeview; }
82  TYPE GetType(void) const { return m_type; }
83  void SetLabel(const MYSTR& label) { m_label = label; }
84  //
85  void ChangeColumn(void);
86  void ClearArchive(void);
87  ARCHIVE* GetActiveArchive(void) const;
88  void Hide(void) const;
89  void MoveWindow(const RECT& rect, BOOL bRepaint) const;
90  void SetSizeText(int kb_b);
91  void Show(void) const;
92  void ShowTreeView(bool show, const RECT& rect);
93  //
94  void OnMovePane(void);
95  void OnPanelSize(HWND tab, WPARAM wParam, LPARAM lParam);
96  void OnUp(void);
97 
98 protected:
100  MYSTR m_label;
103  MYPANEL* m_panel;
107  bool m_sortrev;
110  int m_viewkb;
111  //
112  virtual void OnBeginDrag(LPARAM lParam);
113 
114 private:
115  static gui::LVCOLM Columns[];
116  //
118  int m_filter;
119  std::vector<WSTR> m_filters;
121  //
122  virtual void Filter(void);
123  //
124  void OnColumnClick(LPARAM lParam);
125  void OnDoubleClick(HWND hwnd, LPARAM lParam);
126  void OnGetDispInfo(LPARAM lParam);
127  void OnIncrementalSearch(LPARAM lParam);
128  void OnItemChanged(LPARAM lParam);
129  void OnRightClick(HWND hwnd);
130  //
131  bool CompressAdd(const MYSTR& arcname, std::vector<LHAZPROCFILE>& files, ARCHIVE::TYPE type);
132  bool CompressNew(std::vector<LHAZPROCFILE>& files, const MYSTR& curdir);
133  HDROP APIPRIVATE CreateDropFileMem(TCHAR** FileName, int cnt);
134  bool OpenArchive(const MYSTR& name, bool add_or_new, bool rechis);
135  bool OpenArchiveSub(const MYSTR& name, ARCHIVE::TYPE type, bool rechis);
136  void Sort(void);
137 
138 };
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
LHAZFILE::FIELD m_sortfield
Definition: lhaztabcontent.h:105
gui::LHAZTREEVIEW * m_treeview
Definition: lhaztabcontent.h:109
Archive.
TYPE
Definition: lhazarc.h:28
Output file list in archive.
bool m_showtreeview
Definition: lhaztabcontent.h:104
virtual const MYSTR & GetLabel(void) const
Definition: lhaztabcontent.h:62
ARCHIVES * GetArchive(void) const
Definition: lhaztabcontent.h:77
TYPE
Definition: lhaztabcontent.h:34
Definition: lhazarc.h:25
TYPE GetType(void) const
Definition: lhaztabcontent.h:82
Definition: lhazbz2.h:17
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
gui::LVCOLMS * m_lvcolms
Definition: lhaztabcontent.h:102
int m_filter
Definition: lhaztabcontent.h:118
Definition: lhazarcs.h:11
int m_sortkind
Definition: lhaztabcontent.h:106
Definition: lhazcol.h:35
Listview column header.
TYPE m_type
Definition: lhaztabcontent.h:120
Definition: lhaztreeview.h:18
void SetLabel(const MYSTR &label)
Definition: lhaztabcontent.h:83
FIELD
Definition: lhazfile.h:16
FORMAT
Definition: lhazlist.h:22
gui::LHAZTREEVIEW * GetTreeView(void) const
Definition: lhaztabcontent.h:81
Definition: lhazlistview.h:14
LHAZFILES * m_files
Definition: lhaztabcontent.h:99
gui::LHAZLISTVIEW * m_listview
Definition: lhaztabcontent.h:101
const MYSTR & GetFixLabel(void) const
Definition: lhaztabcontent.h:78
MYPANEL * m_panel
Definition: lhaztabcontent.h:103
Definition: lhaztabcontent.h:32
LHAZSTS * m_statusbar
Definition: lhaztabcontent.h:108
gui::LHAZLISTVIEW * GetListView(void) const
Definition: lhaztabcontent.h:79
MYSTR m_label
Definition: lhaztabcontent.h:100
bool m_sortrev
Definition: lhaztabcontent.h:107
Definition: lhazsts.h:12
Definition: lhaztabcontent.h:34
ARCHIVES * m_archive
Definition: lhaztabcontent.h:117
gui::LVCOLMS * GetLvcolms(void) const
Definition: lhaztabcontent.h:80
Definition: lhazfiles.h:22
リストビューで用いるカラム.
Definition: lhazcol.h:23
int m_viewkb
Definition: lhaztabcontent.h:110
std::vector< WSTR > m_filters
Definition: lhaztabcontent.h:119