forked from uesp/skyedit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SrLoadDlg.h
151 lines (115 loc) · 4.2 KB
/
SrLoadDlg.h
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
141
142
143
144
145
146
147
148
149
150
151
/*===========================================================================
*
* File: Srloaddlg.H
* Author: Dave Humphrey ([email protected])
* Created On: 26 November 2011
*
* Description
*
*=========================================================================*/
#ifndef __SRLOADDLG_H
#define __SRLOADDLG_H
/*===========================================================================
*
* Begin Required Includes
*
*=========================================================================*/
#include "modfile/srespfile.h"
#include "common/srutils.h"
#include "modfile/srmultirecordhandler.h"
#include "afxwin.h"
/*===========================================================================
* End of Required Includes
*=========================================================================*/
/*===========================================================================
*
* Begin Definitions
*
*=========================================================================*/
/* File list subitems indices */
#define SRFILELIST_FILENAME 0
#define SRFILELIST_DATE 1
#define SRFILELIST_SIZE 2
#define SRFILELIST_DEFAULTSORT 3
/*===========================================================================
* End of Definitions
*=========================================================================*/
/*===========================================================================
*
* Begin Type Definitions
*
*=========================================================================*/
struct srloadfilesortinfo_t
{
bool Reverse;
int SortType;
};
/* Used to hold information of files in the list */
struct srloaddlgfileinfo_t
{
WIN32_FIND_DATA FindData;
CString Path;
bool IsActive;
bool IsMaster;
};
typedef CSrPtrArray<srloaddlgfileinfo_t> CSrLoadDlgFileInfos;
typedef CSrRefPtrArray<srloaddlgfileinfo_t> CSrRefLoadDlgFileInfos;
/*===========================================================================
* End of Type Definitions
*=========================================================================*/
/*===========================================================================
*
* Begin Class CSrLoadDlg Definition
*
*=========================================================================*/
class CSrLoadDlg : public CDialog
{
/*---------- Protected Class Members ---------------------------------*/
protected:
CSrLoadDlgFileInfos m_FileInfos; /* Holds file information */
srloaddlgfileinfo_t* m_pLastActiveFile;
srfileloadinfo_t m_LoadInfo;
bool m_IsFileNew;
bool m_LastSortReverse;
int m_LastSortSubItem;
public:
static CStringArray s_ExtraFilePaths;
/*---------- Protected Class Methods ---------------------------------*/
protected:
/* Populate the file list with plugins */
void FillFileList (void);
int FillFileList (const char* pPath, const char* pFileSpec);
void AddFile (const char* pPath, WIN32_FIND_DATA& FindData);
void UpdateFile (const int ListIndex, srloaddlgfileinfo_t* pFileData);
int FindSkyrimMaster (const bool SetCheck);
/* Create the loadinfo structure from the current list */
void CreateLoadInfo (void);
/*---------- Public Class Methods ------------------------------------*/
public:
/* Construction */
CSrLoadDlg (CWnd* pParent = NULL);
/* Get class members */
srfileloadinfo_t& GetLoadInfo (void) { return (m_LoadInfo); }
int DoModalNew (void);
enum { IDD = IDD_LOAD_DLG };
CListCtrl m_FileList;
protected:
virtual void DoDataExchange(CDataExchange* pDX);
virtual void OnOK();
protected:
virtual BOOL OnInitDialog();
afx_msg void OnColumnclickFileList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnDblclkFileList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnSetactive();
DECLARE_MESSAGE_MAP();
public:
CButton m_ActiveButton;
CStatic m_Label;
};
/*===========================================================================
* End of Class CSrLoadDlg Definition
*=========================================================================*/
#endif
/*===========================================================================
* End of File Srloaddlg.H
*=========================================================================*/