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