1 #ifndef GRETL_ENUMS_H
2 #define GRETL_ENUMS_H
3 
4 enum extra_cmds {
5     RELABEL = NC,
6     VSETMISS,
7     GSETMISS,
8     SMPLDUM,
9     SMPLBOOL,
10     SMPLRAND,
11     STORE_MODEL,
12     VAR_SUMMARY,
13     ALL_SUMMARY,
14     ALL_CORR,
15     GENR_RANDOM,
16     SEED_RANDOM,
17     ONLINE,
18     EXPORT,
19     MEANTEST2,
20     MODEL_GENR,
21     GR_PLOT,
22     GR_XY,
23     GR_IMP,
24     GR_DUMMY,
25     GR_XYZ,
26     GR_BOX,
27     GR_FBOX,
28     GR_3D,
29     COMPACT,
30     EXPAND,
31     TDISAGG,
32     COEFFINT,
33     COVAR,
34     STAT_TABLE,
35     H_TEST,
36     TRAMO,
37     X12A,
38     VIEW_SERIES,
39     VIEW_MODEL,
40     VIEW_LOG,
41     VIEW_DATA,
42     VIEW_SCRIPT,
43     VIEW_CODEBOOK,
44     VIEW_MODELTABLE,
45     VIEW_PKG_INFO,
46     VIEW_PKG_CODE,
47     VIEW_PKG_SAMPLE,
48     VIEW_BUNDLE,
49     VIEW_DBNOMICS,
50     VIEW_FILE,
51     VIEW_DOC,
52     VIEW_BIBITEM,
53     VIEW_DBSEARCH,
54     DATA_REPORT,
55     SCRIPT_OUT,
56     FNCALL_OUT,
57     CONSOLE,
58     EDIT_HEADER,
59     EDIT_HANSL,
60     EDIT_NOTES,
61     EDIT_PKG_CODE,
62     EDIT_PKG_SAMPLE,
63     EDIT_PKG_HELP,
64     EDIT_PKG_GHLP,
65     EDIT_GP,
66     EDIT_R,
67     EDIT_OX,
68     EDIT_OCTAVE,
69     EDIT_PYTHON,
70     EDIT_STATA,
71     EDIT_JULIA,
72     EDIT_DYNARE,
73     EDIT_LPSOLVE,
74     EDIT_X12A,
75     EDIT_SPEC,
76     EDIT_MAX,
77     CMD_HELP,
78     GUI_HELP,
79     FUNC_HELP,
80     CMD_HELP_EN,
81     GUI_HELP_EN,
82     FUNC_HELP_EN,
83     KERNEL_DENSITY,
84     CREATE_DATASET,
85     HCCME,
86     VAR_IRF,
87     VAR_DECOMP,
88     IRF_BOOT,
89     HTEST,
90     HTESTNP,
91     MODEL_RESTR,
92     SYS_RESTR,
93     VECM_RESTR,
94     ELLIPSE,
95     LAGS_DIALOG,
96     MINIBUF,
97     VLAGSEL,
98     VAROMIT,
99     DEFINE_LIST,
100     DEFINE_MATRIX,
101     PANEL_WLS,
102     FE_LOGISTIC,
103     PANEL_MODE,
104     TSPLOTS,
105     ITERATIONS,
106     CUSUMSQ,
107     PANEL_B,
108     IMPORT,
109     BOOTSTRAP,
110     TRANSPOS,
111     DATASORT,
112     WORKDIR,
113     DFGLS,
114     AFR, /* actual, fitted, residual */
115     GPT_ADDLINE,
116     GPT_CURVE,
117     OLOGIT,
118     MLOGIT,
119     OPROBIT,
120     REPROBIT,
121     IV_LIML,
122     IV_GMM,
123     BFGS_CONFIG,
124     COUNTMOD,
125     REGLS,
126     REGLS_ADV,
127     BWFILTER,
128     POLYWEIGHTS,
129     EMAFILTER,
130     X12AHELP,
131     MAILHELP,
132     LOESS,
133     NADARWAT,
134     SSHEET,
135     CLUSTER,
136     GUI_FUNCS,
137     MENU_ATTACH,
138     DAILY_PURGE,
139     BUILD_PKG,
140     PKG_FILES,
141     PKG_DEPS,
142     EDITOR,
143     MIDAS_LIST,
144     MIDAS_PARM,
145     PKGHELP,
146     DBNHELP,
147     MAPHELP,
148     GUI_CMD_MAX
149 };
150 
151 #define help_role(r) (r >= CMD_HELP && r <= FUNC_HELP_EN)
152 
153 #define editing_hansl(r) (r == EDIT_HANSL || \
154 			  r == EDIT_PKG_CODE ||	\
155 			  r == EDIT_PKG_SAMPLE)
156 
157 #define editing_alt_script(r) (r >= EDIT_R && r <= EDIT_LPSOLVE)
158 
159 enum file_ops {
160     OPEN_DATA = GUI_CMD_MAX + 1, /* don't collide with extra_cmds */
161     OPEN_RATS_DB,
162     OPEN_PCGIVE_DB,
163     OPEN_SCRIPT,
164     APPEND_DATA,
165     OPEN_SESSION,
166     OPEN_MARKERS,
167     OPEN_LABELS,
168     OPEN_BARS,
169     OPEN_GFN,
170     OPEN_SPEC,
171     OPEN_ANY,
172     OPEN_MAP,
173     UPLOAD_PKG,
174     END_OPEN,        /* marker for end of file open section */
175     AUTO_SAVE_DATA,
176     SAVE_DATA,
177     SAVE_DATA_AS,
178     EXPORT_OCTAVE,
179     EXPORT_R,
180     EXPORT_CSV,
181     EXPORT_DAT,
182     EXPORT_DTA,
183     EXPORT_JM,
184     EXPORT_DB,
185     EXPORT_GDT,
186     EXPORT_GDTB,
187     COPY_CSV,
188     END_SAVE_DATA,  /* marker for end of data-saving section */
189     SAVE_TEX,
190     SAVE_RTF,
191     SAVE_TEXT,
192     SAVE_SCRIPT,
193     SAVE_OUTPUT,
194     SAVE_SESSION,
195     SAVE_GNUPLOT,
196     SAVE_GRAPHIC,
197     SAVE_GP_CMDS,
198     SAVE_R_CMDS,
199     SAVE_OX_CMDS,
200     SAVE_OCTAVE_CMDS,
201     SAVE_PYTHON_CMDS,
202     SAVE_STATA_CMDS,
203     SAVE_JULIA_CODE,
204     SAVE_DYNARE_CODE,
205     SAVE_LPSOLVE_CODE,
206     SAVE_SPEC_FILE,
207     SAVE_HELP_TEXT,
208     SAVE_CONSOLE,
209     SAVE_CMD_LOG,
210     SAVE_FUNCTIONS,
211     SAVE_FUNCTIONS_AS,
212     SAVE_BOOT_DATA,
213     SAVE_MARKERS,
214     SAVE_LABELS,
215     SAVE_GFN_SPEC,
216     SAVE_GFN_ZIP,
217     SAVE_MAP,
218     WRITE_MAP,
219     END_SAVE_OTHER, /* marker for end of other user-file saving */
220     EDIT_FUNCTIONS,
221     SET_PROG,
222     SET_DIR,
223     SET_WDIR,
224     SET_FDIR,
225     SET_DBDIR,
226     SET_OTHER,
227     SELECT_PDF,
228     SAVE_DATA_PKG,
229     SAVE_REMOTE_DB,
230     FILE_OP_MAX
231 };
232 
233 #define SAVE_DATA_ACTION(i) (i >= SAVE_DATA && i < END_SAVE_DATA)
234 
235 enum browser_codes {
236     TEXTBOOK_DATA = FILE_OP_MAX + 1, /* don't collide with file_ops enum */
237     PS_FILES,
238     FUNC_FILES,
239     REMOTE_FUNC_FILES,
240     NATIVE_DB,
241     REMOTE_DB,
242     DBNOMICS_TOP,
243     DBNOMICS_DB,
244     REMOTE_DATA_PKGS,
245     NATIVE_SERIES,
246     RATS_SERIES,
247     PCGIVE_SERIES,
248     REMOTE_SERIES,
249     DBNOMICS_SERIES,
250     REMOTE_ADDONS,
251     PKG_REGISTRY,
252     MAINWIN
253 };
254 
255 #define BROWSER_ROLE(r) (r >= TEXTBOOK_DATA && r < MAINWIN)
256 
257 enum pref_tabs {
258     TAB_NONE = 0,
259     TAB_MAIN,
260     TAB_PROGS,
261     TAB_EDITOR,
262     TAB_NET,
263     TAB_VCV,
264 #ifdef HAVE_MPI
265     TAB_MPI,
266 #endif
267     TAB_MAX
268 };
269 
270 enum clipstuff {
271     TARGET_UTF8_STRING,
272     TARGET_STRING,
273     TARGET_TEXT,
274     TARGET_COMPOUND_TEXT,
275     TARGET_RTF,
276     TARGET_SVG,
277     TARGET_EMF,
278     TARGET_EPS,
279     TARGET_PDF,
280     TARGET_PNG
281 };
282 
283 enum data_status_flags {
284     HAVE_DATA     = 1 << 0,
285     BOOK_DATA     = 1 << 1,
286     USER_DATA     = 1 << 2,
287     IMPORT_DATA   = 1 << 3,
288     GUI_DATA      = 1 << 4,
289     MODIFIED_DATA = 1 << 5,
290     GZIPPED_DATA  = 1 << 6,
291     SESSION_DATA  = 1 << 7
292 };
293 
294 enum register_data_flags {
295     DATAFILE_OPENED = 1,
296     OPENED_VIA_CLI,
297     OPENED_VIA_SESSION,
298     DATA_APPENDED,
299     NULLDATA_STARTED,
300     DATA_PASTED
301 };
302 
303 enum drag_types {
304     GRETL_FILENAME,
305     GRETL_DBSERIES_PTR,
306     GRETL_MODEL_PTR,
307     GRETL_REMOTE_DB_PTR,
308     GRETL_REMOTE_FNPKG_PTR,
309     GRETL_GRAPH_FILE
310 };
311 
312 enum file_lists {
313     FILE_LIST_DATA,
314     FILE_LIST_SESSION,
315     FILE_LIST_SCRIPT,
316     FILE_LIST_GFN,
317     FILE_LIST_WDIR,
318 };
319 
320 enum font_selections {
321     FIXED_FONT_SELECTION,
322     APP_FONT_SELECTION
323 };
324 
325 enum calc_functions {
326     CALC_PVAL,
327     CALC_DIST,
328     CALC_TEST,
329     CALC_NPTEST,
330     CALC_GRAPH,
331     CALC_GRAPH_ADD,
332     CALC_RAND,
333     CALC_PLOT,
334     CALC_MAX
335 };
336 
337 enum auto_dummies {
338     TS_DUMMIES,
339     PANEL_UNIT_DUMMIES,
340     PANEL_TIME_DUMMIES,
341     DISCRETE_DUMMIES
342 };
343 
344 enum script_output_policies {
345     OUTPUT_POLICY_UNSET,
346     OUTPUT_POLICY_REPLACE,
347     OUTPUT_POLICY_APPEND,
348     OUTPUT_POLICY_NEW_WINDOW
349 };
350 
351 enum icon_size {
352     ICON_SIZE_AUTO,
353     ICON_SIZE_SMALL,
354     ICON_SIZE_MEDIUM
355 };
356 
357 #endif /* GRETL_ENUMS_H */
358