]> git.lyx.org Git - features.git/blob - src/FuncCode.h
1e4671654634ae59161033ad8c5ba1ad322ad3d3
[features.git] / src / FuncCode.h
1 // -*- C++ -*-
2 /**
3  * \file FuncCode.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * Full author contact details are available in file CREDITS.
8  *
9  * To add a new function:
10  * - add a new enum constant immediately before LFUN_LASTACTION
11  * - add an appropriate line and documentation in LyXAction.cpp
12  * - add a branch to a suitable ::doDispatch() method
13  * - add correct test to the corresponding ::getStatus() method
14  */
15
16 #ifndef FUNCCODE_H
17 #define FUNCCODE_H
18
19 namespace lyx {
20
21 /** These are all the lyx functions, the main mechanism
22  * through which the frontends communicate with the core.
23  *
24  * They are managed in LyXAction.cpp and handled in various
25  * ::dispatch() functions, starting with Application::dispatch(),
26  * BufferView::dispatch(), Cursor::dispatch() and
27  * Inset*::doDispatch();
28  */
29 enum FuncCode
30 {
31         LFUN_UNKNOWN_ACTION = -1,
32         // 0
33         LFUN_NOACTION = 0,
34         LFUN_COMMAND_PREFIX,
35         LFUN_SCREEN_RECENTER,
36         LFUN_BUFFER_NEW,
37         LFUN_BUFFER_WRITE,
38         // 5
39         LFUN_BUFFER_WRITE_AS,
40         LFUN_BUILD_PROGRAM,
41         LFUN_BUFFER_VIEW,
42         LFUN_BUFFER_CLOSE,
43         LFUN_LYX_QUIT,
44         // 10
45         LFUN_BUFFER_AUTO_SAVE,
46         LFUN_UNDO,
47         LFUN_REDO,
48         LFUN_PASTE,
49         LFUN_PRIMARY_SELECTION_PASTE,
50         // 15
51         LFUN_SELECTION_PASTE, // JMarc 2008/12/15
52         LFUN_CUT,
53         LFUN_COPY,
54         LFUN_TAB_GROUP_CLOSE,
55         LFUN_NOTE_NEXT,
56         // 20
57         LFUN_INSET_TOGGLE,
58         LFUN_TEXTSTYLE_APPLY,
59         LFUN_TEXTSTYLE_UPDATE,
60         LFUN_FONT_EMPH,
61         // 25
62         LFUN_FONT_BOLD,
63         LFUN_FONT_BOLDSYMBOL,
64         LFUN_FONT_ROMAN,
65         LFUN_FONT_NOUN,
66         LFUN_FONT_ITAL,
67         // 30
68         LFUN_FONT_FRAK,
69         LFUN_CHAR_FORWARD,
70         LFUN_CHAR_BACKWARD,
71         LFUN_UP,
72         LFUN_DOWN,
73         // 35
74         LFUN_SCREEN_UP,
75         LFUN_SCREEN_DOWN,
76         LFUN_LINE_BEGIN,
77         LFUN_LINE_END,
78         LFUN_CELL_FORWARD,
79         // 40
80         LFUN_CELL_BACKWARD,
81         LFUN_WORD_FORWARD,
82         LFUN_WORD_BACKWARD,
83         LFUN_BUFFER_BEGIN,
84         LFUN_BUFFER_END,
85         // 45
86         LFUN_CHAR_FORWARD_SELECT,
87         LFUN_CHAR_BACKWARD_SELECT,
88         LFUN_UP_SELECT,
89         LFUN_DOWN_SELECT,
90         LFUN_SCREEN_UP_SELECT,
91         // 50
92         LFUN_SCREEN_DOWN_SELECT,
93         LFUN_LINE_BEGIN_SELECT,
94         LFUN_LINE_END_SELECT,
95         LFUN_WORD_FORWARD_SELECT,
96         LFUN_WORD_BACKWARD_SELECT,
97         // 55
98         LFUN_WORD_SELECT,
99         LFUN_BUFFER_BEGIN_SELECT,
100         LFUN_BUFFER_END_SELECT,
101         LFUN_SPACE_INSERT,              // JSpitzm 20030520
102         LFUN_SPECIALCHAR_INSERT,        // JSpitzm, 20071206
103         // 60
104         LFUN_MARK_TOGGLE,
105         LFUN_CHAR_DELETE_FORWARD,
106         LFUN_CHAR_DELETE_BACKWARD,
107         LFUN_NEWLINE_INSERT,            // renamed: JSpitzm, 20080325
108         LFUN_PARAGRAPH_BREAK,
109         // 65
110         LFUN_QUOTE_INSERT,
111         LFUN_ACCENT_CIRCUMFLEX,
112         LFUN_MATH_SUBSCRIPT,
113         LFUN_MATH_SUPERSCRIPT,
114         LFUN_ACCENT_GRAVE,
115         // 70
116         LFUN_ACCENT_ACUTE,
117         LFUN_ACCENT_TILDE,
118         LFUN_ACCENT_CEDILLA,
119         LFUN_ACCENT_MACRON,
120         LFUN_ACCENT_UNDERBAR,
121         // 75
122         LFUN_ACCENT_UNDERDOT,
123         LFUN_ACCENT_CIRCLE,
124         LFUN_ACCENT_TIE,
125         LFUN_ACCENT_BREVE,
126         LFUN_ACCENT_CARON,
127         // 80
128         LFUN_ACCENT_HUNGARIAN_UMLAUT,
129         LFUN_ACCENT_UMLAUT,
130         LFUN_ACCENT_DOT,
131         LFUN_ACCENT_OGONEK,
132         LFUN_SELF_INSERT,
133         // 85
134         LFUN_SERVER_GET_XY,
135         LFUN_SERVER_SET_XY,
136         LFUN_VIEW_SPLIT,
137         // 90
138         LFUN_SERVER_GET_LAYOUT,
139         LFUN_SERVER_GET_FILENAME,
140         LFUN_SERVER_NOTIFY,
141         LFUN_SERVER_GOTO_FILE_ROW,
142         LFUN_NOTE_INSERT,
143         // 95
144         LFUN_UI_TOGGLE,
145         LFUN_KEYMAP_OFF,
146         LFUN_KEYMAP_PRIMARY,
147         LFUN_KEYMAP_SECONDARY,
148         LFUN_KEYMAP_TOGGLE,
149         // 100
150         LFUN_MATH_INSERT,
151         LFUN_MATH_MATRIX,
152         LFUN_MATH_LIMITS,
153         LFUN_MATH_DELIM,                // Alejandro 180696
154         LFUN_MATH_DISPLAY,              // Alejandro 180696
155         // 105
156         LFUN_MATH_MODE,                 // Alejandro 040696
157         LFUN_MATH_NUMBER_TOGGLE,
158         LFUN_MATH_NUMBER_LINE_TOGGLE,
159         LFUN_MATH_SIZE,                 // Alejandro 150896
160         LFUN_MATH_MACRO,                // ale970510
161         // 110
162         LFUN_MATH_EXTERN,               // André 20010424
163         LFUN_MATH_MUTATE,               // André 20010523
164         LFUN_MATH_SPACE,                // André 20010725
165         LFUN_WORD_DELETE_FORWARD,
166         LFUN_WORD_DELETE_BACKWARD,
167         // 115
168         LFUN_LINE_DELETE,
169         LFUN_DEBUG_LEVEL_SET,
170         LFUN_MARK_OFF,
171         LFUN_MARK_ON,
172         LFUN_LAYOUT,
173         // 120
174         LFUN_LAYOUT_PARAGRAPH,
175         LFUN_DROP_LAYOUTS_CHOICE,       // used in bindings as of 20071228
176         LFUN_FONT_TYPEWRITER,           // changed from FONT_CODE 20070920
177         LFUN_FONT_SANS,
178         LFUN_FONT_DEFAULT,
179         // 125
180         LFUN_FONT_SIZE,
181         LFUN_FONT_STATE,
182         LFUN_MATH_FONT_STYLE,
183         LFUN_LABEL_INSERT,
184         LFUN_WORD_UPCASE,
185         // 130
186         LFUN_WORD_LOWCASE,
187         LFUN_WORD_CAPITALIZE,
188         LFUN_DEPTH_DECREMENT,
189         LFUN_DEPTH_INCREMENT,
190         LFUN_MENU_OPEN,                 // used in bindings as of 20060905
191         // 135
192         LFUN_CANCEL,
193         LFUN_META_PREFIX,
194         LFUN_COMMAND_EXECUTE,
195         LFUN_FILE_INSERT,
196         LFUN_FILE_INSERT_PLAINTEXT,     // CFO-G 1997-11-19
197         // 140
198         LFUN_FILE_INSERT_PLAINTEXT_PARA,// Levon 2001-02-14
199         LFUN_FILE_OPEN,
200         LFUN_PARAGRAPH_UP,              // Asger 1996-10-01
201         LFUN_PARAGRAPH_UP_SELECT,       // Asger 1996-10-01
202         LFUN_PARAGRAPH_DOWN,            // Asger 1996-10-01
203         // 145
204         LFUN_PARAGRAPH_DOWN_SELECT,     // Asger 1996-10-01
205         LFUN_INSET_FORALL,              // lasgouttes, 20091127
206         LFUN_BUFFER_NEW_TEMPLATE,       // Asger 1997-02-02
207         LFUN_BUFFER_RELOAD,             // Asger 1997-02-02
208         LFUN_RECONFIGURE,
209         // 150
210         LFUN_BRANCH_ACTIVATE,
211         LFUN_BRANCH_DEACTIVATE,
212         LFUN_INDEX_PRINT,               // Lgb 97-02-27
213         LFUN_CELL_SPLIT,
214         LFUN_BUFFER_CHILD_OPEN,         // Ale 970528
215         // 155
216         LFUN_INSET_COPY_AS,             // vfr, 20100419
217         LFUN_FLOAT_LIST_INSERT,         // Lgb 20010503
218         LFUN_BUFFER_TOGGLE_READ_ONLY,   // Lgb 97-05-27
219         LFUN_VC_REGISTER,               // Lgb 97-07-01
220         LFUN_VC_CHECK_IN,               // Lgb 97-07-01
221         // 160
222         LFUN_VC_CHECK_OUT,              // Lgb 97-07-01
223         LFUN_VC_REVERT,                 // Lgb 97-07-01
224         LFUN_VC_UNDO_LAST,              // Lgb 97-07-01
225         LFUN_VC_COMMAND,
226         LFUN_VC_LOCKING_TOGGLE,
227         // 165
228         LFUN_VC_REPO_UPDATE,
229         LFUN_VC_COMPARE,
230         LFUN_HYPERLINK_INSERT,          // CFO-G 971121
231         LFUN_WORD_FIND_FORWARD,         // Etienne 980216
232         LFUN_WORD_FIND_BACKWARD,        // Etienne 980220
233         // 170
234         LFUN_APPENDIX,                  // ettrich 980505
235         LFUN_BUFFER_IMPORT,             // Asger 980724
236         LFUN_COMMAND_SEQUENCE,          // Andre' 991111
237         LFUN_PREFERENCES_SAVE,
238         LFUN_HELP_OPEN,                 // Jug 990627
239         // 175
240         LFUN_DATE_INSERT,               // jdblair 20000131
241         LFUN_LANGUAGE,                  // Dekel 20000203
242         LFUN_ERT_INSERT,                // Jug 20000218
243         LFUN_FOOTNOTE_INSERT,           // Jug 20000307
244         LFUN_MATH_AMS_MATRIX,           // uwestoehr 12-07-2009
245         // 180
246         LFUN_TABULAR_INSERT,            // Jug 20000412
247         LFUN_SET_COLOR,                 // SLior 20000611
248         // 185
249         LFUN_MARGINALNOTE_INSERT,       // Lgb 20000626
250         LFUN_FLOAT_INSERT,              // Lgb 20000627
251         LFUN_FLOAT_WIDE_INSERT,         // Lgb 20010531
252         LFUN_CAPTION_INSERT,            // Lgb 20000718; inactive as of 20060905
253         LFUN_BUFFER_SWITCH,
254         // 190
255         LFUN_BUFFER_CHKTEX,             // Asger 971030
256         LFUN_LAYOUT_TABULAR,            // Jug 20000731
257         LFUN_BUFFER_UPDATE,             // Dekel 20000805
258         LFUN_INDEX_INSERT,              // Angus 20000803
259         LFUN_SCREEN_FONT_UPDATE,        // ARRae 20000813
260         // 195
261         LFUN_PARAGRAPH_GOTO,            // Dekel 20000826
262         LFUN_REFERENCE_NEXT,            // Dekel 20010114
263         LFUN_BOOKMARK_SAVE,
264         LFUN_BOOKMARK_GOTO,
265         LFUN_SELECT_FILE_SYNC,          // Levon 20010214
266         // 200
267         LFUN_MESSAGE,                   // Lgb 20010408; for scripting purposes, output in minibuffer
268         LFUN_CHARS_TRANSPOSE,           // Lgb 20010425
269         LFUN_ESCAPE,                    // Lgb 20010517
270         LFUN_THESAURUS_ENTRY,           // Levon 20010720
271         LFUN_ARGUMENT_INSERT,           // Martin 12 Aug 2002
272         // 205
273         LFUN_MOUSE_PRESS,               // André 9 Aug 2002
274         LFUN_MOUSE_MOTION,              // André 9 Aug 2002
275         LFUN_MOUSE_RELEASE,             // André 9 Aug 2002
276         LFUN_MOUSE_DOUBLE,              // André 9 Aug 2002
277         LFUN_MOUSE_TRIPLE,              // André 9 Aug 2002
278         // 210
279         LFUN_WRAP_INSERT,               // Dekel 7 Apr 2002
280         LFUN_CHANGES_TRACK,             // Levon 20021001 (cool date !)
281         LFUN_CHANGES_MERGE,             // Levon 20021016
282         LFUN_CHANGE_ACCEPT,             // Levon 20021016
283         LFUN_CHANGE_REJECT,             // Levon 20021016
284         // 215
285         LFUN_ALL_CHANGES_ACCEPT,        // Levon 20021016
286         LFUN_ALL_CHANGES_REJECT,        // Levon 20021016
287         LFUN_SCROLL,
288         LFUN_DIALOG_SHOW,
289         LFUN_DIALOG_SHOW_NEW_INSET,
290         // 220
291         LFUN_DIALOG_UPDATE,
292         LFUN_DIALOG_HIDE,
293         LFUN_DIALOG_TOGGLE,             // JSpitzm 20070430
294         LFUN_DIALOG_DISCONNECT_INSET,
295         LFUN_INSET_APPLY,
296         // 225
297         LFUN_INSET_INSERT,
298         LFUN_INSET_MODIFY,
299         LFUN_INSET_DIALOG_UPDATE,
300         LFUN_INSET_SETTINGS,
301         LFUN_PARAGRAPH_PARAMS_APPLY,
302         // 230
303         LFUN_PARAGRAPH_UPDATE,
304         LFUN_INSET_EDIT,                // JSpitzm 20080427
305         LFUN_BRANCH_INSERT,
306         LFUN_BOX_INSERT,
307         LFUN_BUFFER_TOGGLE_OUTPUT_SYNC,
308         // 235
309         LFUN_NEWPAGE_INSERT,            // uwestoehr, 20071124
310         LFUN_REPEAT,
311         LFUN_FINISHED_LEFT,
312         LFUN_FINISHED_RIGHT,
313         LFUN_FLEX_INSERT,
314         // 240
315         LFUN_WORD_FIND,
316         LFUN_WORD_REPLACE,
317         LFUN_BUFFER_EXPORT_CUSTOM,
318         LFUN_BUFFER_PRINT,
319         LFUN_BUFFER_CLOSE_ALL,          // vfr 20090806
320         // 245
321         LFUN_BUFFER_LANGUAGE,
322         LFUN_TEXTCLASS_APPLY,
323         LFUN_TEXTCLASS_LOAD,
324         LFUN_BUFFER_SAVE_AS_DEFAULT,
325         LFUN_BUFFER_PARAMS_APPLY,
326         // 250
327         LFUN_LYXRC_APPLY,
328         LFUN_BUFFER_NEXT,
329         LFUN_BUFFER_PREVIOUS,
330         LFUN_STATISTICS,
331         LFUN_CHANGES_OUTPUT,            // jspitzm 20050121
332         // 255
333         LFUN_BIBTEX_DATABASE_ADD,
334         LFUN_BIBTEX_DATABASE_DEL,
335         LFUN_CITATION_INSERT,
336         LFUN_OUTLINE_UP,
337         LFUN_OUTLINE_DOWN,
338         // 260
339         LFUN_OUTLINE_IN,
340         LFUN_OUTLINE_OUT,
341         LFUN_PARAGRAPH_MOVE_DOWN,
342         LFUN_PARAGRAPH_MOVE_UP,
343         LFUN_CURSOR_FOLLOWS_SCROLLBAR_TOGGLE, // ARRae 971202
344         // 265
345         LFUN_CLIPBOARD_PASTE,
346         LFUN_INSET_DISSOLVE,            // jspitzm 20060807
347         LFUN_CHANGE_NEXT,
348         LFUN_CHANGE_PREVIOUS,           // vfr 20090404
349         LFUN_WINDOW_NEW,                // Abdel 20061021
350         // 270
351         LFUN_WINDOW_CLOSE,              // Abdel 20061023
352         LFUN_UNICODE_INSERT,            // Lgb 20061022
353         LFUN_BOOKMARK_CLEAR,            // bpeng 20061031
354         LFUN_NOMENCL_INSERT,            // Ugras
355         LFUN_NOMENCL_PRINT,             // Ugras
356         // 275
357         LFUN_LISTING_INSERT,            // Herbert 20011110, bpeng 20070502
358         LFUN_TOOLBAR_TOGGLE,            // Edwin 20070521
359         LFUN_BUFFER_WRITE_ALL,          // rgh, gpothier 200707XX
360         LFUN_PARAGRAPH_PARAMS,
361         LFUN_LAYOUT_MODULES_CLEAR,
362         // 280
363         LFUN_LAYOUT_MODULE_ADD,
364         LFUN_LAYOUT_RELOAD,
365         LFUN_MASTER_BUFFER_VIEW,        // Tommaso, 20070920
366         LFUN_MASTER_BUFFER_UPDATE,      // Tommaso, 20070920
367         LFUN_INFO_INSERT,               // bpeng, 20071007
368         // 285
369         LFUN_CALL,                      // broider, 20071002
370         LFUN_CHAR_LEFT,                 // dov, 20071022
371         LFUN_CHAR_LEFT_SELECT,          // dov, 20071022
372         LFUN_CHAR_RIGHT,                // dov, 20071022
373         LFUN_CHAR_RIGHT_SELECT,         // dov, 20071022
374         // 290
375         LFUN_FINISHED_BACKWARD,         // dov, 20071022
376         LFUN_FINISHED_FORWARD,          // dov, 20071022
377         LFUN_WORD_LEFT,                 // dov, 20071028
378         LFUN_WORD_LEFT_SELECT,          // dov, 20071028
379         LFUN_WORD_RIGHT,                // dov, 20071028
380         // 295
381         LFUN_WORD_RIGHT_SELECT,         // dov, 20071028
382         LFUN_MATH_MACRO_FOLD,
383         LFUN_MATH_MACRO_UNFOLD,
384         LFUN_MATH_MACRO_ADD_PARAM,
385         LFUN_MATH_MACRO_REMOVE_PARAM,
386         // 300
387         LFUN_MATH_MACRO_APPEND_GREEDY_PARAM,
388         LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM,
389         LFUN_MATH_MACRO_MAKE_OPTIONAL,
390         LFUN_MATH_MACRO_MAKE_NONOPTIONAL,
391         LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM,
392         // 305
393         LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM,
394         LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM,
395         LFUN_IN_MATHMACROTEMPLATE,
396         LFUN_COMPLETION_POPUP,
397         LFUN_COMPLETION_INLINE,
398         // 310
399         LFUN_COMPLETION_COMPLETE,
400         LFUN_SET_GRAPHICS_GROUP,
401         LFUN_COMPLETION_CANCEL,
402         LFUN_COMPLETION_ACCEPT,
403         LFUN_COMMAND_ALTERNATIVES,
404         // 315
405         LFUN_TAB_INSERT,
406         LFUN_TAB_DELETE,
407         LFUN_WORD_FINDADV,              // Tommaso, 20081003
408         LFUN_REGEXP_MODE,               // Tommaso, 20081003
409         LFUN_LABEL_GOTO,                // Ale 970806
410         // 320
411         LFUN_LABEL_COPY_AS_REF,         // sts, 20081116
412         LFUN_LABEL_INSERT_AS_REF,       // vfr, 20090407
413         LFUN_PHANTOM_INSERT,            // uwestoehr, 20090130
414         LFUN_INSET_BEGIN,               // JMarc, 20090316
415         LFUN_INSET_END,                 // JMarc, 20090316
416         // 325
417         LFUN_INSET_BEGIN_SELECT,        // JMarc, 20090316
418         LFUN_INSET_END_SELECT,          // JMarc, 20090316
419         LFUN_INSET_SELECT_ALL,                  // vfr, 20090822
420         LFUN_BUFFER_ZOOM_IN,            // vfr, 20090330
421         LFUN_BUFFER_ZOOM_OUT,           // vfr, 20090330
422         // 330
423         LFUN_MATH_BIGDELIM,
424         LFUN_SECTION_SELECT,            // vfr, 20090503
425         LFUN_FONT_UNDERLINE,
426         LFUN_FONT_STRIKEOUT,
427         LFUN_FONT_UULINE,
428         // 335
429         LFUN_FONT_UWAVE,
430         LFUN_BUFFER_EXPORT,             // Lgb 97-07-29
431         LFUN_BUFFER_TOGGLE_COMPRESSION, // bpeng 20060427
432         LFUN_BRANCH_ADD,                // spitz 20090707
433         LFUN_BRANCH_ADD_INSERT,
434         // 340
435         LFUN_BRANCHES_RENAME,           // spitz 20090709
436         LFUN_GRAPHICS_RELOAD,           // vfr 20090810
437         LFUN_SCREEN_SHOW_CURSOR,        // vfr, 20090325
438         LFUN_SPELLING_ADD,              // spitz 20100118
439         LFUN_SPELLING_IGNORE,           // spitz 20100118
440         // 345
441         LFUN_SPELLING_REMOVE,           // switt 20100728
442         LFUN_PREVIEW_INSERT,            // vfr, 20100328
443         LFUN_FORWARD_SEARCH,
444         LFUN_SCRIPT_INSERT,             // gb, 20101123
445         LFUN_BUFFER_EXPORT_AS,          // tommaso 20111006
446         // 350
447         LFUN_CLIPBOARD_PASTE_SIMPLE,    // tommaso, 20111028
448         LFUN_IPA_INSERT,                // spitz, 20120305
449         LFUN_BUFFER_FORALL,             // scottkostyshak, 20120720
450         LFUN_IN_IPA,                    // spitz, 20120520
451         LFUN_IPAMACRO_INSERT,           // spitz, 20120822
452         // 355
453         LFUN_VIEW_CLOSE,                // Tommaso, 20120915
454         LFUN_LASTACTION                 // end of the table
455 };
456
457
458 } // namespace lyx
459
460 #endif // FUNCCODE_H