1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
/*
* Descent 3
* Copyright (C) 2024 Parallax Software
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#if !defined(AFX_FILEPAGEADDDLG_H__F3555122_C5AB_11D2_AB2B_006008BF0B09__INCLUDED_)
#define AFX_FILEPAGEADDDLG_H__F3555122_C5AB_11D2_AB2B_006008BF0B09__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// FilePageAddDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CFilePageAddDlg dialog
#define DRIVES 0
#define DIRECTORIES 1
#define FILES 2
extern char *DirectoryNames[];
extern int NumDirectoryNames;
/////////////////////////////////////////////////////////////////////////////
// CFileList window
class CFileList : public CListBox {
// Construction
public:
BOOL RefreshMask(CString mask);
BOOL RefreshBox(CString path);
//*.* is default filemask
BOOL RefreshBox(CString path, CString mask);
void setFileMask(CString mask);
CString getFileMask();
void setPath(CString path);
CString getPath();
BOOL InitBox(UINT res, CWnd *parent, LPSTR lpszPath, LPSTR lpszFileMask, UINT flags, UINT msg,
void (*cb)(char *path) = NULL);
CFileList();
// Attributes
public:
// Operations
protected:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFileList)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CFileList();
// Generated message map functions
protected:
//{{AFX_MSG(CFileList)
afx_msg void OnDblclk();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CWnd *m_cwndParent;
UINT m_nMsg;
UINT m_nFlag;
CString m_csPath;
CString m_csFileMask;
void CheckEntry(LPSTR name, DWORD flag, BOOL dir); // dir==TRUE for directories
BOOL FillBox();
void (*callback)(char *path);
};
class CFilePageAddDlg : public CDialog {
// Construction
public:
CFilePageAddDlg(CWnd *pParent = NULL); // standard constructor
~CFilePageAddDlg(void);
void SetInitialPath(char *path);
int m_NumberOfSelectedFiles;
char **m_SelectedFiles;
char *m_SelectedDestDir;
private:
bool Quit(void);
CString initial_path;
// Dialog Data
//{{AFX_DATA(CFilePageAddDlg)
enum { IDD = IDD_FILEPAGEADD };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFilePageAddDlg)
protected:
virtual void DoDataExchange(CDataExchange *pDX); // DDX/DDV support
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CFilePageAddDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeListDrives();
afx_msg void OnSelchangeListFolders();
virtual void OnOK();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
// the three boxes in this example
CFileList m_cflDrive;
CFileList m_cflDir;
CFileList m_cflFile;
// user-defined message for communication between the boxes
// and dialog (msg is trapped in WindowProc)
UINT m_nBoxMsg;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FILEPAGEADDDLG_H__F3555122_C5AB_11D2_AB2B_006008BF0B09__INCLUDED_)
|