-
Notifications
You must be signed in to change notification settings - Fork 3
/
FsbP.h
211 lines (166 loc) · 4.75 KB
/
FsbP.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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
/*
* Copyright 2021 Olaf Wintermann
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#ifndef FSBP_H
#define FSBP_H
#include <X11/CoreP.h>
#include <Xm/XmP.h>
#include <Xm/PrimitiveP.h>
#include <Xm/ManagerP.h>
#include <Xm/FormP.h>
#include "Fsb.h"
#ifdef __cplusplus
extern "C" {
#endif
#define FSB_MAX_VIEWS 8
typedef struct FSBView FSBView;
struct FSBView {
Widget widget;
Widget focus;
FSBViewUpdateProc update;
FSBViewSelectProc select;
FSBViewCleanupProc cleanup;
FSBViewDestroyProc destroy;
void *userData;
Boolean useDirList;
};
typedef struct FSBClassPart {
int unused;
} FSBClassPart;
typedef struct FSBClassRec {
CoreClassPart core_class;
CompositeClassPart composite_class;
ConstraintClassPart constraint_class;
XmManagerClassPart manager_class;
XmBulletinBoardClassPart bulletin_board_class;
XmFormClassPart form_class;
FSBClassPart fsb_class;
} FSBClassRec;
typedef struct FSBPart {
XtCallbackList okCallback;
XtCallbackList cancelCallback;
Dimension widgetSpacing;
Dimension windowSpacing;
Boolean showHiddenButton;
Widget path;
PathBar *pathBar;
Widget filter;
Widget filterButton;
Widget showHiddenButtonW;
FSBFilterFunc filterFunc;
char *filterStr;
Widget dirUp;
Widget home;
Widget newFolder;
Widget viewSelectorList;
Widget viewSelectorDetail;
Widget viewMenu;
Widget viewOption;
Widget detailToggleButton;
Widget filterForm;
Widget lsDirLabel;
Widget lsFileLabel;
Widget listContextMenu;
Widget gridContextMenu;
// icon view
// dir/file list view
Widget listform;
Widget dirlist;
FSBView view[FSB_MAX_VIEWS];
int numviews;
int selectedview;
Widget filelist;
Widget grid;
Widget separator;
Widget nameLabel;
Widget name;
Widget bottom_widget;
Widget workarea;
Widget okBtn;
Widget cancelBtn;
Widget helpBtn;
FileElm *dirs;
FileElm *files;
int dircount;
int filecount;
int maxnamelen;
char *homePath;
char *currentPath;
char *selectedPath;
int selIsDir;
Boolean showHidden;
Boolean showViewMenu;
int type;
int end;
int status;
int disable_set_values;
int gui_created;
char *labelListView;
char *labelDetailView;
char* labelOpenFileTitle;
char* labelSaveFileTitle;
XmString labelDirUp;
XmString labelHome;
XmString labelNewFolder;
XmString labelFilterButton;
XmString labelShowHiddenFiles;
XmString labelDirectories;
XmString labelFiles;
XmString labelRename;
XmString labelDelete;
XmString labelOpen;
XmString labelSave;
XmString labelOk;
XmString labelCancel;
XmString labelHelp;
XmString labelFileName;
XmString labelDirectoryName;
XmString labelNewFileName;
char *labelDeleteFile;
char *detailHeadings;
char *dateFormatSameYear;
char *dateFormatOtherYear;
char *suffixBytes;
char *suffixKB;
char *suffixMB;
char *suffixGB;
char *suffixTB;
char *errorTitle;
char *errorIllegalChar;
char *errorRename;
char *errorFolder;
char *errorDelete;
char *errorOpenDir;
} FSBPart;
typedef struct FSBRec {
CorePart core;
CompositePart composite;
ConstraintPart constraint;
XmManagerPart manager;
XmBulletinBoardPart bulletin_board;
XmFormPart form;
FSBPart fsb;
} FSBRec;
typedef struct FSBRec *XnFileSelectionBox;
#ifdef __cplusplus
}
#endif
#endif /* FSBP_H */