]> git.lyx.org Git - lyx.git/blob - src/lfuns.h
New nomenclature inset from Ugras
[lyx.git] / src / lfuns.h
1 // -*- C++ -*-
2 /**
3  * \file lfuns.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 in LyXAction.C
12  * - add a branch to a suitable ::doDispatch() method
13  * - add correct test to the corresponding ::getStatus() method
14  */
15
16 #ifndef LFUNS_H
17 #define LFUNS_H
18
19 #include <iosfwd>
20
21
22 namespace lyx {
23
24 /** These are all the lyx functions, the main mechanism
25  * through which the frontends communicate with the core.
26  *
27  * They are managed in LyXAction.C and handled in various
28  * ::dispatch() functions, starting with LyXFunc.C:dispatch(),
29  * BufferView::dispatch(), LCursor::dispatch() and
30  * Inset*::doDispatch();
31  */
32 enum kb_action {
33         LFUN_UNKNOWN_ACTION = -1,
34         // 0
35         LFUN_NOACTION = 0,
36         LFUN_COMMAND_PREFIX,
37         LFUN_SCREEN_RECENTER,
38         LFUN_BUFFER_NEW,
39         LFUN_BUFFER_WRITE,
40         // 5
41         LFUN_BUFFER_WRITE_AS,
42         LFUN_BUILD_PROGRAM,
43         LFUN_TOC_VIEW,
44         LFUN_BUFFER_VIEW,
45         LFUN_BUFFER_CLOSE,
46         // 10
47         LFUN_LYX_QUIT,
48         LFUN_BUFFER_AUTO_SAVE,
49         LFUN_UNDO,
50         LFUN_REDO,
51         LFUN_PASTE,
52         // 15
53         LFUN_PRIMARY_SELECTION_PASTE,
54         LFUN_CUT,
55         LFUN_COPY,
56         LFUN_ERROR_NEXT,
57         LFUN_NOTE_NEXT,
58         // 20
59         LFUN_INSET_TOGGLE,
60         LFUN_HYPHENATION_POINT_INSERT,
61         LFUN_LIGATURE_BREAK_INSERT,
62         LFUN_HFILL_INSERT,
63         LFUN_FONT_FREE_APPLY,
64         // 25
65         LFUN_FONT_FREE_UPDATE,
66         LFUN_FONT_EMPH,
67         LFUN_FONT_BOLD,
68         LFUN_FONT_ROMAN,
69         LFUN_FONT_NOUN,
70         // 30
71         LFUN_FONT_ITAL,
72         LFUN_FONT_FRAK,
73         LFUN_CHAR_FORWARD,
74         LFUN_CHAR_BACKWARD,
75         LFUN_UP,
76         // 35
77         LFUN_DOWN,
78         LFUN_SCREEN_UP,
79         LFUN_SCREEN_DOWN,
80         LFUN_LINE_BEGIN,
81         LFUN_LINE_END,
82         // 40
83         LFUN_CELL_FORWARD,
84         LFUN_CELL_BACKWARD,
85         LFUN_WORD_FORWARD,
86         LFUN_WORD_BACKWARD,
87         LFUN_BUFFER_BEGIN,
88         // 45
89         LFUN_BUFFER_END,
90         LFUN_CHAR_FORWARD_SELECT,
91         LFUN_CHAR_BACKWARD_SELECT,
92         LFUN_UP_SELECT,
93         LFUN_DOWN_SELECT,
94         // 50
95         LFUN_SCREEN_UP_SELECT,
96         LFUN_SCREEN_DOWN_SELECT,
97         LFUN_LINE_BEGIN_SELECT,
98         LFUN_LINE_END_SELECT,
99         LFUN_WORD_FORWARD_SELECT,
100         // 55
101         LFUN_WORD_BACKWARD_SELECT,
102         LFUN_WORD_SELECT,
103         LFUN_BUFFER_BEGIN_SELECT,
104         LFUN_BUFFER_END_SELECT,
105         LFUN_SPACE_INSERT,  // JSpitzm 20030520
106         // 60
107         LFUN_MARK_TOGGLE,
108         LFUN_CHAR_DELETE_FORWARD,
109         LFUN_CHAR_DELETE_BACKWARD,
110         LFUN_BREAK_LINE,
111         LFUN_BREAK_PARAGRAPH,
112         // 65
113         LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT,
114         LFUN_QUOTE_INSERT,
115         LFUN_ACCENT_CIRCUMFLEX,
116         LFUN_MATH_SUBSCRIPT,
117         LFUN_MATH_SUPERSCRIPT,
118         // 70
119         LFUN_ACCENT_GRAVE,
120         LFUN_ACCENT_ACUTE,
121         LFUN_ACCENT_TILDE,
122         LFUN_ACCENT_CEDILLA,
123         LFUN_ACCENT_MACRON,
124         // 75
125         LFUN_ACCENT_UNDERBAR,
126         LFUN_ACCENT_UNDERDOT,
127         LFUN_ACCENT_CIRCLE,
128         LFUN_ACCENT_TIE,
129         LFUN_ACCENT_BREVE,
130         // 80
131         LFUN_ACCENT_CARON,
132         LFUN_ACCENT_SPECIAL_CARON,
133         LFUN_ACCENT_HUNGARIAN_UMLAUT,
134         LFUN_ACCENT_UMLAUT,
135         LFUN_ACCENT_DOT,
136         // 85
137         LFUN_ACCENT_OGONEK,
138         LFUN_SELF_INSERT,
139         LFUN_GETBUFNAME,
140         LFUN_SERVER_GET_XY,
141         LFUN_SERVER_SET_XY,
142         // 90
143         LFUN_SERVER_CHAR_AFTER,
144         LFUN_LINEATCURSOR,
145         LFUN_SERVER_GET_LAYOUT,
146         LFUN_SERVER_GET_FONT,
147         LFUN_SERVER_GET_NAME,
148         // 95
149         LFUN_SERVER_NOTIFY,
150         LFUN_SERVER_GOTO_FILE_ROW,
151         LFUN_NOTE_INSERT,
152         LFUN_ENVIRONMENT_INSERT,        // unused as of 20060905
153         LFUN_KEYMAP_OFF,
154         // 100
155         LFUN_KEYMAP_PRIMARY,
156         LFUN_KEYMAP_SECONDARY,
157         LFUN_KEYMAP_TOGGLE,
158         LFUN_MATH_INSERT,
159         LFUN_MATH_MATRIX,
160         // 105
161         LFUN_MATH_LIMITS,
162         LFUN_MATH_DELIM,                // Alejandro 180696
163         LFUN_MATH_DISPLAY,              // Alejandro 180696
164         LFUN_MATH_MODE,                 // Alejandro 040696
165         LFUN_MATH_NUMBER,               // Alejandro 040696
166         // 110
167         LFUN_MATH_NONUMBER,             // Alejandro 180696
168         LFUN_MATH_SIZE,                 // Alejandro 150896
169         LFUN_MATH_MACRO,                // ale970510
170         LFUN_MATH_EXTERN,               // Andre' 20010424
171         LFUN_MATH_MUTATE,               // Andre' 20010523
172         // 115
173         LFUN_MATH_IMPORT_SELECTION,     // Andre' 20010704
174         LFUN_MATH_SPACE,                // Andre' 20010725
175         LFUN_WORD_DELETE_FORWARD,
176         LFUN_WORD_DELETE_BACKWARD,
177         LFUN_LINE_DELETE,
178         // 120
179         LFUN_MARK_OFF,
180         LFUN_MARK_ON,
181         LFUN_LAYOUT,
182         LFUN_LAYOUT_PARAGRAPH,
183         LFUN_DROP_LAYOUTS_CHOICE,       // used in bindings as of 20060905
184         // 125
185         LFUN_FONT_CODE,
186         LFUN_FONT_SANS,
187         LFUN_FONT_DEFAULT,
188         LFUN_FONT_UNDERLINE,
189         LFUN_FONT_SIZE,
190         // 130
191         LFUN_FONT_STATE,
192         LFUN_WORD_UPCASE,
193         LFUN_WORD_LOWCASE,
194         LFUN_WORD_CAPITALIZE,
195         LFUN_LABEL_INSERT,
196         // 135
197         LFUN_DEPTH_DECREMENT,
198         LFUN_DEPTH_INCREMENT,
199         LFUN_MENU_OPEN,                 // used in bindings as of 20060905
200         LFUN_CANCEL,
201         LFUN_META_PREFIX,
202         // 140
203         LFUN_COMMAND_EXECUTE,
204         LFUN_FILE_INSERT,
205         LFUN_FILE_INSERT_ASCII,         // CFO-G 1997-11-19
206         LFUN_FILE_INSERT_ASCII_PARA,    // Levon 2001-02-14
207         LFUN_FILE_NEW,                  // for scripting purposes
208         // 145
209         LFUN_FILE_OPEN,
210         LFUN_PARAGRAPH_UP,              // Asger 1996-10-01
211         LFUN_PARAGRAPH_UP_SELECT,       // Asger 1996-10-01
212         LFUN_PARAGRAPH_DOWN,            // Asger 1996-10-01
213         LFUN_PARAGRAPH_DOWN_SELECT,     // Asger 1996-10-01
214         // 150
215         LFUN_BREAK_PARAGRAPH_SKIP,
216         LFUN_DELETE_BACKWARD_SKIP,
217         LFUN_DELETE_FORWARD_SKIP,
218         LFUN_BUFFER_NEW_TEMPLATE,       // Asger 1997-02-02
219         LFUN_BUFFER_RELOAD,             // Asger 1997-02-02
220         // 155
221         LFUN_RECONFIGURE,               // Asger 1997-02-14
222         LFUN_INDEX_PRINT,               // Lgb 97-02-27
223         LFUN_CELL_SPLIT,
224         LFUN_BUFFER_CHILD_OPEN,         // Ale 970528
225         LFUN_TOC_INSERT,                // Lgb 97-05-27
226         // 160
227         LFUN_FLOAT_LIST,                // Lgb 20010503
228         LFUN_BUFFER_TOGGLE_READ_ONLY,          // Lgb 97-05-27
229         LFUN_VC_REGISTER,               // Lgb 97-07-01
230         LFUN_VC_CHECK_IN,               // Lgb 97-07-01
231         LFUN_VC_CHECK_OUT,              // Lgb 97-07-01
232         // 165
233         LFUN_VC_REVERT,                 // Lgb 97-07-01
234         LFUN_VC_UNDO_LAST,              // Lgb 97-07-01
235         LFUN_BUFFER_EXPORT,             // Lgb 97-07-29
236         LFUN_LABEL_GOTO,                // Ale 970806
237         LFUN_DOTS_INSERT,               // Asger 970929
238         // 170
239         LFUN_END_OF_SENTENCE_PERIOD_INSERT,           // Asger 970929
240         LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR,        // ARRae 971202
241         LFUN_BUFFER_CHKTEX,                 // Asger 971030
242         LFUN_HTML_INSERT,                   // CFO-G 971121; must co-exist with URL_INSERT as of 20060905
243         LFUN_URL_INSERT,                       // CFO-G 971121
244         // 175
245         LFUN_WORD_FIND_FORWARD,           // Etienne 980216
246         LFUN_WORD_FIND_BACKWARD,          // Etienne 980220
247         LFUN_APPENDIX,                  // ettrich 980505
248         LFUN_BUFFER_IMPORT,                    // Asger 980724
249         LFUN_MENU_SEPARATOR_INSERT,            // Asger 990220
250         // 180
251         LFUN_COMMAND_SEQUENCE,                  // Andre' 991111
252         LFUN_PREFERENCES_SAVE,           // Lgb 991127
253         LFUN_HELP_OPEN,                 // Jug 990627
254         LFUN_DATE_INSERT,               // jdblair 20000131
255         LFUN_LANGUAGE,                  // Dekel 20000203
256         // 185
257         LFUN_ERT_INSERT,                        // Jug 20000218
258         LFUN_FOOTNOTE_INSERT,            // Jug 20000307
259         LFUN_PARAGRAPH_SPACING,         // Lgb 20000411
260         LFUN_TABULAR_INSERT,            // Jug 20000412
261         LFUN_LOFVIEW,                   // Dekel 20000519
262         // 190
263         LFUN_LOTVIEW,                   // Dekel 20000519
264         LFUN_LOAVIEW,                   // Dekel 20000519
265         LFUN_SET_COLOR,                 // SLior 20000611
266         LFUN_MARGINALNOTE_INSERT,            // Lgb 20000626
267         LFUN_FLOAT_INSERT,               // Lgb 20000627
268         // 195
269         LFUN_FLOAT_WIDE_INSERT,          // Lgb 20010531
270         LFUN_CAPTION_INSERT,             // Lgb 20000718; inactive as of 20060905
271         LFUN_BUFFER_SWITCH,
272         LFUN_TABULAR_FEATURE,           // Jug 20000728
273         LFUN_LAYOUT_TABULAR,            // Jug 20000731
274         // 200
275         LFUN_BUFFER_UPDATE,                    // Dekel 20000805
276         LFUN_INDEX_INSERT,              // Angus 20000803
277         LFUN_SCREEN_FONT_UPDATE,        // ARRae 20000813
278         LFUN_PARAGRAPH_GOTO,            // Dekel 20000826
279         LFUN_REFERENCE_NEXT,            // Dekel 20010114
280         // 205
281         LFUN_BOOKMARK_SAVE,             // Dekel 20010127
282         LFUN_BOOKMARK_GOTO,             // Dekel 20010127
283         LFUN_SELECT_FILE_SYNC,          // Levon 20010214
284         LFUN_MESSAGE,                   // Lgb 20010408; for scripting purposes, output in minibuffer
285         LFUN_CHARS_TRANSPOSE,           // Lgb 20010425
286         // 210
287         LFUN_ESCAPE,                    // Lgb 20010517
288         LFUN_THESAURUS_ENTRY,           // Levon 20010720
289         LFUN_OPTIONAL_INSERT,              // Martin 12 Aug 2002
290         LFUN_MOUSE_PRESS,               // André 9 Aug 2002
291         // 215
292         LFUN_MOUSE_MOTION,              // André 9 Aug 2002
293         LFUN_MOUSE_RELEASE,             // André 9 Aug 2002
294         LFUN_MOUSE_DOUBLE,              // André 9 Aug 2002
295         LFUN_MOUSE_TRIPLE,              // André 9 Aug 2002
296         LFUN_WRAP_INSERT,                // Dekel 7 Apr 2002
297         // 220
298         LFUN_CHANGES_TRACK,             // Levon 20021001 (cool date !)
299         LFUN_CHANGES_MERGE,             // Levon 20021016
300         LFUN_CHANGE_ACCEPT,             // Levon 20021016
301         LFUN_CHANGE_REJECT,             // Levon 20021016
302         LFUN_ALL_CHANGES_ACCEPT,        // Levon 20021016
303         // 225
304         LFUN_ALL_CHANGES_REJECT,        // Levon 20021016
305         LFUN_BIBITEM_INSERT,            // André 14 Feb 2003
306         LFUN_DIALOG_SHOW,
307         LFUN_DIALOG_SHOW_NEW_INSET,
308         LFUN_DIALOG_UPDATE,
309         // 230
310         LFUN_DIALOG_HIDE,
311         LFUN_DIALOG_DISCONNECT_INSET,
312         LFUN_INSET_APPLY,
313         LFUN_INSET_INSERT,
314         LFUN_INSET_MODIFY,
315         // 235
316         LFUN_INSET_DIALOG_UPDATE,
317         LFUN_INSET_SETTINGS,
318         LFUN_PARAGRAPH_PARAMS_APPLY,
319         LFUN_PARAGRAPH_UPDATE,
320         LFUN_EXTERNAL_EDIT,
321         // 240
322         LFUN_BRANCH_INSERT,
323         LFUN_BOX_INSERT,
324         LFUN_LINE_INSERT,
325         LFUN_PAGEBREAK_INSERT,
326         LFUN_REPEAT,
327         // 245
328         LFUN_FINISHED_LEFT,
329         LFUN_FINISHED_RIGHT,
330         LFUN_FINISHED_UP,
331         LFUN_FINISHED_DOWN,
332         LFUN_CHARSTYLE_INSERT,
333         // 250
334         LFUN_WORD_FIND,
335         LFUN_WORD_REPLACE,
336         LFUN_BUFFER_EXPORT_CUSTOM,
337         LFUN_BUFFER_PRINT,
338         LFUN_NEXT_INSET_TOGGLE,
339         // 255
340         LFUN_ALL_INSETS_TOGGLE,
341         LFUN_BUFFER_LANGUAGE,
342         LFUN_TEXTCLASS_APPLY,
343         LFUN_TEXTCLASS_LOAD,
344         LFUN_BUFFER_SAVE_AS_DEFAULT,
345         // 260
346         LFUN_BUFFER_PARAMS_APPLY,
347         LFUN_LYXRC_APPLY,
348         LFUN_GRAPHICS_EDIT,
349         LFUN_INSET_REFRESH,
350         LFUN_BUFFER_NEXT,
351         // 265
352         LFUN_BUFFER_PREVIOUS,
353         LFUN_WORDS_COUNT,
354         LFUN_CHANGES_OUTPUT,             // jspitzm 20050121
355         LFUN_BIBTEX_DATABASE_ADD,
356         LFUN_BIBTEX_DATABASE_DEL,
357         // 270
358         LFUN_CITATION_INSERT,
359         LFUN_OUTLINE_UP,                 // Vermeer 20060323
360         LFUN_OUTLINE_DOWN,
361         LFUN_OUTLINE_IN,
362         LFUN_OUTLINE_OUT,
363         // 275
364         LFUN_PARAGRAPH_MOVE_DOWN,                // Edwin 20060408
365         LFUN_PARAGRAPH_MOVE_UP,                  // Edwin 20060408
366         LFUN_BUFFER_TOGGLE_COMPRESSION,                 // bpeng 20060427
367         LFUN_MATH_BIGDELIM,
368         LFUN_CLIPBOARD_PASTE,
369         // 280
370         LFUN_INSET_DISSOLVE,                 // jspitzm 20060807
371         LFUN_CHANGE_NEXT,
372         LFUN_WINDOW_NEW,                 // Abdel 20061021
373         LFUN_WINDOW_CLOSE,               // Abdel 20061023
374         LFUN_UNICODE_INSERT,             // Lgb 20061022
375         // 285
376         LFUN_BOOKMARK_CLEAR,             // bpeng 20061031
377         LFUN_TOOLBAR_TOGGLE_STATE,       // bpeng 20061101
378         LFUN_NOMENCL_INSERT,                    // Ugras
379         LFUN_NOMENCL_PRINT,                     // Ugras
380
381         LFUN_LASTACTION                  // end of the table
382 };
383
384 std::ostream & operator<<(std::ostream &, kb_action);
385
386
387 } // namespace lyx
388
389 #endif // LFUNS_H