]> git.lyx.org Git - lyx.git/blob - src/lfuns.h
Embedding: saving inzip name to .lyx file so that embedded files can always be found...
[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 and doc 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 "support/strfwd.h"
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
33 /* LFUN documentation (a start at least, Chr 2007-08-12)
34  *
35  * The documentation below is primarily notes about restrictions and
36  * oddities relating to the different LFUNs.
37  *
38  * Doxygen template below. Some notes: Parameters should be set in uppercase
39  * and put in <BRACKETS>, as so.
40  */
41
42 /**
43  * 
44  * \li Action: 
45  * \li Notion: 
46  * \li Syntax: 
47  * \li Params: 
48  * \li Origin: 
49  */
50
51 enum kb_action {
52         LFUN_UNKNOWN_ACTION = -1,
53         // 0
54         LFUN_NOACTION = 0,
55         LFUN_COMMAND_PREFIX,
56 /**
57  * LFUN_SCREEN_RECENTER
58  * \li Action: Recenters the screen on the current cursor position
59  * \li Syntax: screen-recenter
60  */
61         LFUN_SCREEN_RECENTER,
62 /**
63  * LFUN_BUFFER_NEW
64  * \li Action: Creates a new buffer (that is, document)
65  * \li Syntax: buffer-new
66  */
67         LFUN_BUFFER_NEW,
68 /**
69  * LFUN_BUFFER_WRITE
70  * \li Action: Saves the current buffer
71  * \li Notion: Saves the current buffer to disk, using the filename that
72                is already associated with the buffer, asking for one if
73                none is yet assigned.
74  * \li Syntax: buffer-write
75  */
76         LFUN_BUFFER_WRITE,
77         // 5
78 /**
79  * LFUN_BUFFER_WRITE_AS
80  * \li Action: Rename and save current buffer.
81  * \li Syntax: buffer-write-as <FILENAME>
82  * \li Params: <FILENAME>: New name of the buffer/file. A relative path
83  *             is with respect to the original location of the buffer/file.
84  */
85         LFUN_BUFFER_WRITE_AS,
86         LFUN_BUILD_PROGRAM,
87 /**
88  * LFUN_BUFFER_VIEW
89  * \li Action: Displays current buffer in chosen format
90  * \li Notion: Displays the contents of the current buffer in the chosen
91                format, for example, PDF or DVI. This runs the necessary
92                converter, calls the defined viewer, and so forth.
93  * \li Syntax: buffer-view <FORMAT>
94  * \li Params: <FORMAT>: The format to display, where this is one of the
95                          formats defined (in the current GUI) in the
96                          Tools>Preferences>File Formats dialog.
97  */
98         LFUN_BUFFER_VIEW,
99 /**
100  * LFUN_BUFFER_CLOSE
101  * \li Action: Closes the current buffer
102  * \li Notion: Closes the current buffer, asking whether to save it, etc,
103                if the buffer has been modified.
104  * \li Syntax: buffer-close
105  */
106         LFUN_BUFFER_CLOSE,
107 /**
108  * LFUN_LYX_QUIT
109  * \li Action: Terminates the current LyX instance
110  * \li Notion: Terminates the current LyX instance, asking whether to save
111                modified documents, etc.
112  * \li Syntax: lyx-quit
113  */
114         LFUN_LYX_QUIT,
115         // 10
116 /**
117  * LFUN_BUFFER_AUTO_SAVE
118  * \li Action: Saves the current buffer to a temporary file
119  * \li Notion: Saves the current buffer to a file named "#filename#". This LFUN 
120                is called automatically by LyX, to "autosave" the current buffer.
121         * \li Syntax: buffer-auto-save
122  */
123         LFUN_BUFFER_AUTO_SAVE,
124 /**
125  * LFUN_UNDO
126  * \li Action: Undoes the last edit
127  * \li Syntax: undo
128  */
129         LFUN_UNDO,
130 /**
131  * LFUN_REDO
132  * \li Action: Redoes the last thing undone
133  * \li Syntax: redo
134  */
135         LFUN_REDO,
136 /**
137  * LFUN_PASTE
138  * \li Action: Pastes from the active clipboard
139  * \li Syntax: paste
140  */
141         LFUN_PASTE,
142 /**
143  * LFUN_PRIMARY_SELECTION_PASTE
144  * \li Action: Pastes the material currently selected
145  * \li Syntax: primary-selection-paste
146  */
147         LFUN_PRIMARY_SELECTION_PASTE,
148         // 15
149 /**
150  * LFUN_CUT
151  * \li Action: Cuts to the clipboard
152  * \li Syntax: cut
153  */
154         LFUN_CUT,
155 /**
156  * LFUN_COPY
157  * \li Action: Copies to the clipboard the last edit
158  * \li Syntax: copy
159  */
160         LFUN_COPY,
161         LFUN_ERROR_NEXT,
162         LFUN_NOTE_NEXT,
163         LFUN_INSET_TOGGLE,
164         // 20
165         LFUN_HFILL_INSERT,
166         LFUN_FONT_FREE_APPLY,
167         LFUN_FONT_FREE_UPDATE,
168         LFUN_FONT_EMPH,
169         LFUN_FONT_BOLD,
170         // 25
171         LFUN_FONT_ROMAN,
172         LFUN_FONT_NOUN,
173         LFUN_FONT_ITAL,
174         LFUN_FONT_FRAK,
175         LFUN_CHAR_FORWARD,
176         // 30
177         LFUN_CHAR_BACKWARD,
178         LFUN_UP,
179         LFUN_DOWN,
180         LFUN_SCREEN_UP,
181         LFUN_SCREEN_DOWN,
182         // 35
183         LFUN_LINE_BEGIN,
184         LFUN_LINE_END,
185         LFUN_CELL_FORWARD,
186         LFUN_CELL_BACKWARD,
187         LFUN_WORD_FORWARD,
188         // 40
189         LFUN_WORD_BACKWARD,
190         LFUN_BUFFER_BEGIN,
191         LFUN_BUFFER_END,
192         LFUN_CHAR_FORWARD_SELECT,
193         LFUN_CHAR_BACKWARD_SELECT,
194         // 45
195         LFUN_UP_SELECT,
196         LFUN_DOWN_SELECT,
197         LFUN_SCREEN_UP_SELECT,
198         LFUN_SCREEN_DOWN_SELECT,
199         LFUN_LINE_BEGIN_SELECT,
200         // 50
201         LFUN_LINE_END_SELECT,
202         LFUN_WORD_FORWARD_SELECT,
203         LFUN_WORD_BACKWARD_SELECT,
204         LFUN_WORD_SELECT,
205         LFUN_BUFFER_BEGIN_SELECT,
206         // 55
207         LFUN_BUFFER_END_SELECT,
208         LFUN_SPACE_INSERT,              // JSpitzm 20030520
209         LFUN_SPECIALCHAR_INSERT,        // JSpitzm, 20071206
210 /**
211  * LFUN_MARK_TOGGLE
212  * \li Action: Toggle between MARK_ON and MARK_OFF
213  * \li Syntax: mark-toggle
214  * \li Origin: poenitz, May 5 2006
215  */
216         LFUN_MARK_TOGGLE,
217         LFUN_CHAR_DELETE_FORWARD,
218         // 60
219         LFUN_CHAR_DELETE_BACKWARD,
220         LFUN_NEW_LINE,
221         LFUN_LINE_BREAK,                // uwestoehr 20071125
222         LFUN_BREAK_PARAGRAPH,
223         LFUN_QUOTE_INSERT,
224         // 65
225         LFUN_ACCENT_CIRCUMFLEX,
226         LFUN_MATH_SUBSCRIPT,
227         LFUN_MATH_SUPERSCRIPT,
228         LFUN_ACCENT_GRAVE,
229         LFUN_ACCENT_ACUTE,
230         // 70
231         LFUN_ACCENT_TILDE,
232         LFUN_ACCENT_CEDILLA,
233         LFUN_ACCENT_MACRON,
234         LFUN_ACCENT_UNDERBAR,
235         LFUN_ACCENT_UNDERDOT,
236         // 75
237         LFUN_ACCENT_CIRCLE,
238         LFUN_ACCENT_TIE,
239         LFUN_ACCENT_BREVE,
240         LFUN_ACCENT_CARON,
241         LFUN_ACCENT_SPECIAL_CARON,
242         // 80
243         LFUN_ACCENT_HUNGARIAN_UMLAUT,
244         LFUN_ACCENT_UMLAUT,
245         LFUN_ACCENT_DOT,
246         LFUN_ACCENT_OGONEK,
247         LFUN_SELF_INSERT,
248         // 85
249         LFUN_GETBUFNAME,
250         LFUN_SERVER_GET_XY,
251         LFUN_SERVER_SET_XY,
252         LFUN_SERVER_CHAR_AFTER,
253         LFUN_LINEATCURSOR,
254         // 90
255         LFUN_SERVER_GET_LAYOUT,
256         LFUN_SERVER_GET_FONT,
257         LFUN_SERVER_GET_NAME,
258         LFUN_SERVER_NOTIFY,
259         LFUN_SERVER_GOTO_FILE_ROW,
260         // 95
261         LFUN_NOTE_INSERT,
262         LFUN_ENVIRONMENT_INSERT,        // unused as of 20060905
263         LFUN_KEYMAP_OFF,
264         LFUN_KEYMAP_PRIMARY,
265         LFUN_KEYMAP_SECONDARY,
266         // 100
267         LFUN_KEYMAP_TOGGLE,
268         LFUN_MATH_INSERT,
269         LFUN_MATH_MATRIX,
270         LFUN_MATH_LIMITS,
271         LFUN_MATH_DELIM,                // Alejandro 180696
272         // 105
273         LFUN_MATH_DISPLAY,              // Alejandro 180696
274         LFUN_MATH_MODE,                 // Alejandro 040696
275 /**
276  * LFUN_MATH_NUMBER
277  * \li Action: Enable numbering of the current formula.
278  * \li Notion: Must be in display formula mode.
279  * \li Syntax: math-number
280  * \li Origin: Alejandro 4 Jun 1996
281  */
282         LFUN_MATH_NUMBER,
283 /**
284  * LFUN_MATH_NONUMBER
285  * \li Action: Disable numbering of the current formula.
286  * \li Notion: Must be in display formula mode.
287  * \li Syntax: math-nonumber
288  * \li Origin: Alejandro 18 Jun 1996
289  */
290         LFUN_MATH_NONUMBER,
291         LFUN_MATH_SIZE,                 // Alejandro 150896
292         // 110
293         LFUN_MATH_MACRO,                // ale970510
294         LFUN_MATH_EXTERN,               // Andre' 20010424
295         LFUN_MATH_MUTATE,               // Andre' 20010523
296         LFUN_MATH_IMPORT_SELECTION,     // Andre' 20010704
297         LFUN_MATH_SPACE,                // Andre' 20010725
298         // 115
299         LFUN_WORD_DELETE_FORWARD,
300         LFUN_WORD_DELETE_BACKWARD,
301         LFUN_LINE_DELETE,
302 /**
303  * LFUN_MARK_OFF
304  * \li Action: Disable selecting of text-region.
305  * \li Syntax: mark-off
306  */
307         LFUN_MARK_OFF,
308 /**
309  * LFUN_MARK_ON
310  * \li Action: Enable selecting of text-region.
311  * \li Notion: After enabling you can simply move arrow keys to get selected region.
312  * \li Syntax: mark-on
313  */
314         LFUN_MARK_ON,
315         // 120
316  /**
317  * LFUN_LAYOUT
318  * \li Action: Sets the layout (that is, environment) for the current paragraph
319  * \li Syntax: layout <LAYOUT>
320  * \li Params: <LAYOUT>: the layout to use
321  */
322         LFUN_LAYOUT,
323 /**
324  * LFUN_LAYOUT_PARAGRAPH
325  * \li Action: Launches the paragraph settings dialog
326  * \li Syntax: layout-paragraph
327  */
328         LFUN_LAYOUT_PARAGRAPH,
329 /**
330  * LFUN_DROP_LAYOUTS_CHOICE
331  * \li Action: Displays list of layout choices
332  * \li Notion: In the current (as of 2007) Qt4 frontend, this LFUN opens the
333                dropbox allowing for choice of layout
334  * \li Syntax: drop-layouts-choice
335  */
336         LFUN_DROP_LAYOUTS_CHOICE,       // used in bindings as of 20071228
337         LFUN_FONT_TYPEWRITER,           // changed from FONT_CODE 20070920
338         LFUN_FONT_SANS,
339         // 125
340         LFUN_FONT_DEFAULT,
341         LFUN_FONT_UNDERLINE,
342         LFUN_FONT_SIZE,
343         LFUN_FONT_STATE,
344         LFUN_WORD_UPCASE,
345         // 130
346         LFUN_WORD_LOWCASE,
347         LFUN_WORD_CAPITALIZE,
348         LFUN_LABEL_INSERT,
349         LFUN_DEPTH_DECREMENT,
350         LFUN_DEPTH_INCREMENT,
351         // 135
352         LFUN_MENU_OPEN,                 // used in bindings as of 20060905
353         LFUN_CANCEL,
354         LFUN_META_PREFIX,
355         LFUN_COMMAND_EXECUTE,
356         LFUN_FILE_INSERT,
357         // 140
358         LFUN_FILE_INSERT_PLAINTEXT,     // CFO-G 1997-11-19
359         LFUN_FILE_INSERT_PLAINTEXT_PARA,// Levon 2001-02-14
360         LFUN_FILE_NEW,                  // for scripting purposes
361         LFUN_FILE_OPEN,
362         LFUN_PARAGRAPH_UP,              // Asger 1996-10-01
363         // 145
364         LFUN_PARAGRAPH_UP_SELECT,       // Asger 1996-10-01
365         LFUN_PARAGRAPH_DOWN,            // Asger 1996-10-01
366         LFUN_PARAGRAPH_DOWN_SELECT,     // Asger 1996-10-01
367         LFUN_BREAK_PARAGRAPH_SKIP,
368         LFUN_DELETE_BACKWARD_SKIP,
369         // 150
370         LFUN_DELETE_FORWARD_SKIP,
371         LFUN_BUFFER_NEW_TEMPLATE,       // Asger 1997-02-02
372         LFUN_BUFFER_RELOAD,             // Asger 1997-02-02
373 /**
374  * LFUN_RECONFIGURE
375  * \li Action: Reconfigure the automatic settings.
376  * \li Syntax: reconfigure
377  * \li Origin: Asger, 14 Feb 1997
378  */
379         LFUN_RECONFIGURE,
380         LFUN_INDEX_PRINT,               // Lgb 97-02-27
381         // 155
382         LFUN_CELL_SPLIT,
383         LFUN_BUFFER_CHILD_OPEN,         // Ale 970528
384         LFUN_TOC_INSERT,                // Lgb 97-05-27
385         LFUN_FLOAT_LIST,                // Lgb 20010503
386         LFUN_BUFFER_TOGGLE_READ_ONLY,   // Lgb 97-05-27
387         // 160
388         LFUN_VC_REGISTER,               // Lgb 97-07-01
389         LFUN_VC_CHECK_IN,               // Lgb 97-07-01
390         LFUN_VC_CHECK_OUT,              // Lgb 97-07-01
391         LFUN_VC_REVERT,                 // Lgb 97-07-01
392         LFUN_VC_UNDO_LAST,              // Lgb 97-07-01
393         // 165
394         LFUN_BUFFER_EXPORT,             // Lgb 97-07-29
395         LFUN_LABEL_GOTO,                // Ale 970806
396         LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR, // ARRae 971202
397         LFUN_BUFFER_CHKTEX,             // Asger 971030
398         LFUN_HYPERLINK_INSERT,          // CFO-G 971121
399         // 170
400         LFUN_WORD_FIND_FORWARD,         // Etienne 980216
401         LFUN_WORD_FIND_BACKWARD,        // Etienne 980220
402         LFUN_APPENDIX,                  // ettrich 980505
403         LFUN_BUFFER_IMPORT,             // Asger 980724
404         LFUN_COMMAND_SEQUENCE,          // Andre' 991111
405         // 175
406 /**
407  * LFUN_PREFERENCES_SAVE
408  * \li Action: Save user preferences.
409  * \li Syntax: preferences-save
410  * \li Origin: Lgb, 27 Nov 1999
411  */
412         LFUN_PREFERENCES_SAVE,
413         LFUN_HELP_OPEN,                 // Jug 990627
414         LFUN_DATE_INSERT,               // jdblair 20000131
415         LFUN_LANGUAGE,                  // Dekel 20000203
416         LFUN_ERT_INSERT,                // Jug 20000218
417         // 180
418         LFUN_FOOTNOTE_INSERT,           // Jug 20000307
419         LFUN_PARAGRAPH_SPACING,         // Lgb 20000411
420         LFUN_TABULAR_INSERT,            // Jug 20000412
421         LFUN_LOFVIEW,                   // Dekel 20000519
422         LFUN_LOTVIEW,                   // Dekel 20000519
423         // 185
424         LFUN_LOAVIEW,                   // Dekel 20000519
425         LFUN_SET_COLOR,                 // SLior 20000611
426         LFUN_MARGINALNOTE_INSERT,       // Lgb 20000626
427         LFUN_FLOAT_INSERT,              // Lgb 20000627
428         LFUN_FLOAT_WIDE_INSERT,         // Lgb 20010531
429         // 190
430         LFUN_CAPTION_INSERT,            // Lgb 20000718; inactive as of 20060905
431         LFUN_BUFFER_SWITCH,
432         LFUN_TABULAR_FEATURE,           // Jug 20000728
433         LFUN_LAYOUT_TABULAR,            // Jug 20000731
434         LFUN_BUFFER_UPDATE,             // Dekel 20000805
435         // 195
436         LFUN_INDEX_INSERT,              // Angus 20000803
437         LFUN_SCREEN_FONT_UPDATE,        // ARRae 20000813
438         LFUN_PARAGRAPH_GOTO,            // Dekel 20000826
439         LFUN_REFERENCE_NEXT,            // Dekel 20010114
440 /**
441  * LFUN_BOOKMARK_SAVE
442  * \li Action: Save a bookmark
443  * \li Notion: Saves a numbered bookmark to the sessions file. The number
444                must be between 1 and 9, inclusive. Note that bookmarks are
445                saved per-session, not per file.
446  * \li Syntax: bookmark-save <NUMBER>
447  * \li Params: <NUMBER>: the number of the bookmark to save.
448  * \li Origin: Dekel, 27 January 2001
449  */
450         LFUN_BOOKMARK_SAVE,
451         // 200
452 /**
453  * LFUN_BOOKMARK_GOTO
454  * \li Action: Goto a bookmark
455  * \li Notion: Moves the cursor to the numbered bookmark, opening the file
456                if necessary. Note that bookmarsk are saved per-session, not
457                per file.
458  * \li Syntax: bookmark-goto <NUMBER>
459  * \li Params: <NUMBER>: the number of the bookmark to restore.
460  * \li Origin: Dekel, 27 January 2001
461  */
462         LFUN_BOOKMARK_GOTO,
463         LFUN_SELECT_FILE_SYNC,          // Levon 20010214
464         LFUN_MESSAGE,                   // Lgb 20010408; for scripting purposes, output in minibuffer
465         LFUN_CHARS_TRANSPOSE,           // Lgb 20010425
466         LFUN_ESCAPE,                    // Lgb 20010517
467         // 205
468         LFUN_THESAURUS_ENTRY,           // Levon 20010720
469         LFUN_OPTIONAL_INSERT,           // Martin 12 Aug 2002
470         LFUN_MOUSE_PRESS,               // André 9 Aug 2002
471         LFUN_MOUSE_MOTION,              // André 9 Aug 2002
472         LFUN_MOUSE_RELEASE,             // André 9 Aug 2002
473         // 210
474         LFUN_MOUSE_DOUBLE,              // André 9 Aug 2002
475         LFUN_MOUSE_TRIPLE,              // André 9 Aug 2002
476         LFUN_WRAP_INSERT,               // Dekel 7 Apr 2002
477         LFUN_CHANGES_TRACK,             // Levon 20021001 (cool date !)
478         LFUN_CHANGES_MERGE,             // Levon 20021016
479         // 215
480         LFUN_CHANGE_ACCEPT,             // Levon 20021016
481         LFUN_CHANGE_REJECT,             // Levon 20021016
482         LFUN_ALL_CHANGES_ACCEPT,        // Levon 20021016
483         LFUN_ALL_CHANGES_REJECT,        // Levon 20021016
484         LFUN_BIBITEM_INSERT,            // André 14 Feb 2003
485         // 220
486         LFUN_DIALOG_SHOW,
487         LFUN_DIALOG_SHOW_NEW_INSET,
488         LFUN_DIALOG_UPDATE,
489         LFUN_DIALOG_HIDE,
490         LFUN_DIALOG_TOGGLE,             // JSpitzm 20070430
491         // 225
492         LFUN_DIALOG_DISCONNECT_INSET,
493         LFUN_INSET_APPLY,
494         LFUN_INSET_INSERT,
495         LFUN_INSET_MODIFY,
496         LFUN_INSET_DIALOG_UPDATE,
497         // 230
498         LFUN_INSET_SETTINGS,
499 /**
500  * LFUN_PARAGRAPH_PARAMS_APPLY
501  * \li Action: Change paragraph settings.
502  * \li Notion: Overwrite all nonspecified settings to the default ones. 
503                Use paragraph-params lfun if you don't want to overwrite others settings.
504  * \li Syntax: paragraph-params-apply <INDENT> <SPACING> <ALIGN> <OTHERS>
505  * \li Params: For parameters see LFUN_PARAGRAPH_PARAMS
506  * \li Origin: leeming, 30 Mar 2004
507  */
508         LFUN_PARAGRAPH_PARAMS_APPLY,
509         LFUN_PARAGRAPH_UPDATE,
510         LFUN_EXTERNAL_EDIT,
511         LFUN_BRANCH_INSERT,
512         // 235
513         LFUN_BOX_INSERT,
514         LFUN_LINE_INSERT,
515         LFUN_NEWPAGE_INSERT,            // uwestoehr 20071124
516         LFUN_PAGEBREAK_INSERT,
517         LFUN_REPEAT,
518         // 240
519         LFUN_FINISHED_LEFT,
520         LFUN_FINISHED_RIGHT,
521         LFUN_FLEX_INSERT,
522         LFUN_WORD_FIND,
523         LFUN_WORD_REPLACE,
524         // 245
525         LFUN_BUFFER_EXPORT_CUSTOM,
526         LFUN_BUFFER_PRINT,
527         LFUN_NEXT_INSET_TOGGLE,
528         LFUN_ALL_INSETS_TOGGLE,
529         LFUN_BUFFER_LANGUAGE,
530         // 250
531 /**
532  * LFUN_TEXTCLASS_APPLY
533  * \li Action: Sets the text class for the current buffer
534  * \li Syntax: textclass-apply <TEXTCLASS>
535  * \li Params: <TEXTCLASS>: the textclass to set. Note that this must be
536                    the filename, minus the ".layout" extension.
537  */
538         LFUN_TEXTCLASS_APPLY,
539 /**
540  * LFUN_TEXTCLASS_LOAD
541  * \li Action: Loads information for a textclass from disk
542  * \li Syntax: textclass-load <TEXTCLASS>
543  * \li Params: <TEXTCLASS>: the textclass to load. Note that this must be
544                    the filename, minus the ".layout" extension.
545  */
546         LFUN_TEXTCLASS_LOAD,
547         LFUN_BUFFER_SAVE_AS_DEFAULT,
548         LFUN_BUFFER_PARAMS_APPLY,
549         LFUN_LYXRC_APPLY,
550         // 255
551         LFUN_GRAPHICS_EDIT,
552         LFUN_INSET_REFRESH,
553         LFUN_BUFFER_NEXT,
554         LFUN_BUFFER_PREVIOUS,
555 /**
556  * LFUN_STATISTICS
557  * \li Action: Count the statistics (number of words and characters)
558                in the document or in the given selection.
559  * \li Notion: Note that this function gives the number of words/chars written,
560                not the number of characters which will be typeset.
561  * \li Syntax: statistics
562  * \li Origin: lasgouttes, Jan 27 2004; ps, Jan 8 2008
563  */
564         LFUN_STATISTICS,
565         // 260
566         LFUN_CHANGES_OUTPUT,             // jspitzm 20050121
567         LFUN_BIBTEX_DATABASE_ADD,
568         LFUN_BIBTEX_DATABASE_DEL,
569         LFUN_CITATION_INSERT,
570 /**
571  * LFUN_OUTLINE_UP
572  * \li Action: Move the current group in the upward direction in the
573                structure of the document.
574  * \li Notion: The "group" can be Part/Chapter/Section/etc. It moves
575                the whole substructure of the group.
576  * \li Syntax: outline-up
577  * \li Origin: Vermeer, 23 Mar 2006
578  */
579         LFUN_OUTLINE_UP,
580         // 265
581 /**
582  * LFUN_OUTLINE_DOWN
583  * \li Action: Move the current group in the downward direction in the
584                structure of the document.
585  * \li Notion: The "group" can be Part/Chapter/Section/etc. It moves
586                the whole substructure of the group.
587  * \li Syntax: outline-down
588  * \li Origin: Vermeer, 23 Mar 2006
589  */
590         LFUN_OUTLINE_DOWN,
591 /**
592  * LFUN_OUTLINE_IN
593  * \li Action: Moves the current group in the downward direction in the
594                hierarchy of the document structure.
595  * \li Notion: Part -> Chapter -> Section -> etc.
596  * \li Syntax: outline-in
597  * \li Origin: Vermeer, 23 Mar 2006
598  */
599         LFUN_OUTLINE_IN,
600 /**
601  * LFUN_OUTLINE_OUT
602  * \li Action: Moves the current group in the upward direction in the
603                hierarchy of the document structure.
604  * \li Notion: Part <- Chapter <- Section <- etc.
605  * \li Syntax: outline-out
606  * \li Origin: Vermeer, 23 Mar 2006
607  */
608         LFUN_OUTLINE_OUT,
609 /**
610  * LFUN_PARAGRAPH_MOVE_DOWN
611  * \li Action: Moves the current paragraph downwards in the document.
612  * \li Syntax: paragraph-move-down
613  * \li Origin: Edwin, 8 Apr 2006
614  */
615         LFUN_PARAGRAPH_MOVE_DOWN,
616 /**
617  * LFUN_PARAGRAPH_MOVE_UP
618  * \li Action: Moves the current paragraph upwards in the document.
619  * \li Syntax: paragraph-move-up
620  * \li Origin: Edwin, 8 Apr 2006
621  */
622         LFUN_PARAGRAPH_MOVE_UP,
623         // 270
624         LFUN_BUFFER_TOGGLE_COMPRESSION,  // bpeng 20060427
625         LFUN_MATH_BIGDELIM,
626         LFUN_CLIPBOARD_PASTE,
627         LFUN_INSET_DISSOLVE,             // jspitzm 20060807
628         LFUN_CHANGE_NEXT,
629         // 275
630         LFUN_WINDOW_NEW,                 // Abdel 20061021
631         LFUN_WINDOW_CLOSE,               // Abdel 20061023
632         LFUN_UNICODE_INSERT,             // Lgb 20061022
633 /**
634  * LFUN_BOOKMARK_CLEAR
635  * \li Action: Clears the list of saved bookmarks
636  * \li Syntax: bookmark-clear
637  * \li Origin: bpeng, 31 October 2006
638  */
639         LFUN_BOOKMARK_CLEAR,             // bpeng 20061031
640         LFUN_NOMENCL_INSERT,             // Ugras
641         // 280
642         LFUN_NOMENCL_PRINT,              // Ugras
643         LFUN_CLEARPAGE_INSERT,           // Ugras 20061125
644         LFUN_CLEARDOUBLEPAGE_INSERT,     // Ugras 20061125
645         LFUN_LISTING_INSERT,             // Herbert 20011110, bpeng 20070502
646         LFUN_TOOLBAR_TOGGLE,             // Edwin 20070521
647         // 285
648         LFUN_BUFFER_WRITE_ALL,           // rgh, gpothier 200707XX
649 /**
650  * LFUN_PARAGRAPH_PARAMS
651  * \li Action: Change paragraph settings
652  * \li Notion: Modifies the current paragraph, or currently selected paragraphs.
653                This function only modifies, and does not override, existing settings.
654                Note that the "leftindent" indent setting is deprecated.
655  * \li Syntax: paragraph-params [<INDENT>] [<SPACING>] [<ALIGN>] [<OTHERS>]
656  * \li Params: <INDENT>:  \\noindent|\\indent|\\indent-toggle|\\leftindent LENGTH\n
657                <SPACING>: \\paragraph_spacing default|single|onehalf|double|other\n
658                <ALIGN>:   \\align block|left|right|center|default\n
659                <OTHERS>:  \\labelwidthstring WIDTH|\\start_of_appendix\n
660  * \li Origin: rgh, Aug 15 2007
661  */
662         LFUN_PARAGRAPH_PARAMS,
663 /**
664  * LFUN_LAYOUT_MODULES_CLEAR
665  * \li Action: Clears the module list
666  * \li Notion: Clears the list of included modules for the current buffer. 
667  * \li Syntax: layout-modules-clear
668  * \li Origin: rgh, 25 August 2007
669  */
670         LFUN_LAYOUT_MODULES_CLEAR,
671 /**
672  * LFUN_LAYOUT_MODULE_ADD
673  * \li Action: Adds a module
674  * \li Notion: Adds a module to the list of included modules for the current buffer.
675  * \li Syntax: layout-module-add <MODULE>
676  * \li Params: <MODULE>: the module to be added
677  * \li Origin: rgh, 25 August 2007
678  */
679         LFUN_LAYOUT_MODULE_ADD,
680 /**
681  * LFUN_LAYOUT_RELOAD
682  * \li Action: Reloads layout information
683  * \li Notion: Reloads all layout information for the current buffer from disk, thus
684                recognizing any changes that have been made to layout files on the fly. 
685                This is intended to be used only by layout developers and should not be
686                used when one is trying to do actual work.
687  * \li Syntax: layout-reload
688  * \li Origin: rgh, 3 September 2007
689  */
690         LFUN_LAYOUT_RELOAD,
691         // 290
692         LFUN_MASTER_BUFFER_VIEW,         // Tommaso, 20070920
693         LFUN_MASTER_BUFFER_UPDATE,       // Tommaso, 20070920
694         LFUN_INFO_INSERT,                // bpeng, 20071007
695         LFUN_CALL,                       // broider, 20071002
696         LFUN_BUFFER_TOGGLE_EMBEDDING,    // bpeng, 20071021
697         // 295
698         LFUN_CHAR_LEFT,                  // dov, 20071022
699         LFUN_CHAR_LEFT_SELECT,           // dov, 20071022
700         LFUN_CHAR_RIGHT,                 // dov, 20071022
701         LFUN_CHAR_RIGHT_SELECT,          // dov, 20071022
702         LFUN_FINISHED_BACKWARD,          // dov, 20071022
703         // 300
704         LFUN_FINISHED_FORWARD,           // dov, 20071022
705         LFUN_WORD_LEFT,                  // dov, 20071028
706         LFUN_WORD_LEFT_SELECT,           // dov, 20071028
707         LFUN_WORD_RIGHT,                 // dov, 20071028
708         LFUN_WORD_RIGHT_SELECT,          // dov, 20071028
709         // 305
710 /**
711  * LFUN_MATH_MACRO_FOLD
712  * \li Action: Fold a Math Macro
713  * \li Notion: Fold the Math Macro the cursor is in if it was 
714                unfolded, i.e. displayed as \foo before. 
715  * \li Syntax: math-macro-fold
716  * \li Origin: sts, 06 January 2008
717  */
718         LFUN_MATH_MACRO_FOLD,
719 /**
720  * LFUN_MATH_MACRO_UNFOLD
721  * \li Action: Unfold a Math Macro
722  * \li Notion: Unfold the Math Macro the cursor is in, i.e. 
723                display it as \foo. 
724  * \li Syntax: math-macro-unfold
725  * \li Origin: sts, 06 January 2008
726  */
727         LFUN_MATH_MACRO_UNFOLD,
728 /**
729  * LFUN_MATH_MACRO_ADD_PARAM
730  * \li Action: Add a parameter
731  * \li Notion: Add a parameter to a Math Macro
732  * \li Params: <NUM>: The number of the parameter behind which the new one
733                will be added (1 for the first, i.e. use 0 for add a 
734                parameter at the left), defaults to the last one.
735  * \li Syntax: math-macro-add-param <NUM>
736  * \li Origin: sts, 06 January 2008
737  */     
738         LFUN_MATH_MACRO_ADD_PARAM,
739 /**
740  * LFUN_MATH_MACRO_REMOVE_PARAM
741  * \li Action: Remove the last parameter
742  * \li Notion: Remove the last parameter of a Math Macro and
743                remove its value in all instances of the macro 
744                in the buffer.
745  * \li Params: <NUM>: The number of the parameter to be deleted (1 for 
746                the first), defaults to the last one.
747  * \li Syntax: math-macro-remove-param <NUM>
748  * \li Origin: sts, 06 January 2008
749  */
750         LFUN_MATH_MACRO_REMOVE_PARAM,
751 /**
752  * LFUN_MATH_MACRO_APPEND_GREEDY_PARAM
753  * \li Action: Append a greedy parameter
754  * \li Notion: Append a greedy parameter to a Math Macro which
755                eats the following mathed cell in every instance of
756                the macro in the buffer.
757  * \li Syntax: math-macro-append-greedy-param
758  * \li Origin: sts, 06 January 2008
759  */
760         LFUN_MATH_MACRO_APPEND_GREEDY_PARAM,
761         // 310
762 /**
763  * LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM
764  * \li Action: Remove a greedy parameter
765  * \li Notion: Remove a greedy parameter of a Math Macro and spit
766                out the values of it in every instance of the macro 
767                in the buffer. If it is an optional parameter the [valud]
768                format is used.
769  * \li Syntax: math-macro-remove-greedy-param
770  * \li Origin: sts, 06 January 2008
771  */
772         LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM,
773 /**
774  * LFUN_MATH_MACRO_MAKE_OPTIONAL
775  * \li Action: Make a parameter optional
776  * \li Notion: Turn the first non-optional parameter of a Math Macro
777                into an optional parameter with a default value.
778  * \li Syntax: math-macro-make-optional
779  * \li Origin: sts, 06 January 2008
780  */     
781         LFUN_MATH_MACRO_MAKE_OPTIONAL,
782 /**
783  * LFUN_MATH_MACRO_MAKE_NONOPTIONAL
784  * \li Action: Make a parameter non-optional
785  * \li Notion: Turn the last optional parameter of a Math Macro
786                into a non-optional parameter. The default value is
787                remembered to be reused later if the user changes his mind.
788  * \li Syntax: math-macro-make-nonoptional
789  * \li Origin: sts, 06 January 2008
790  */
791         LFUN_MATH_MACRO_MAKE_NONOPTIONAL,
792 /**
793  * LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM
794  * \li Action: Add an optional parameter
795  * \li Notion: Insert an optional parameter just behind the 
796                already existing optional parameters.
797  * \li Syntax: math-macro-add-optional-param
798  * \li Origin: sts, 06 January 2008
799  */
800         LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM,
801 /**
802  * LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM
803  * \li Action: Remove the last optional parameter
804  * \li Notion: Remove the last optional parameter of a Math Macro and
805                remove it in all the instances of the macro in the buffer.
806  * \li Syntax: math-macro-remove-optional-param
807  * \li Origin: sts, 06 January 2008
808  */
809         LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM,
810
811         // 315
812 /**
813  * LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM
814  * \li Action: Add a greedy optional parameter
815  * \li Notion: Add a greedy optional parameter which eats the value
816                from the following cells in mathed which are in the [value]
817                format.
818  * \li Syntax: math-macro-add-greedy-optional-param
819  * \li Origin: sts, 06 January 2008
820  */
821         LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM,
822 /**
823  * LFUN_IN_MATHMACROTEMPLATE
824  * \li Action: Only active in Math Macro definition
825  * \li Notion: Dummy function which is only active in a Math Macro definition. 
826                It's used to toggle the Math Macro toolbar if the cursor moves
827                into a Math Macro definition.
828  * \li Syntax: in-mathmacrotemplate
829  * \li Origin: sts, 06 January 2008
830  */
831         LFUN_IN_MATHMACROTEMPLATE,
832 /** LFUN_SCROLL
833  * \li Action: scroll the buffer view
834  * \li Notion: Only scrolls the screen up or down; does not move the cursor.
835  * \li Syntax: scroll <TYPE> <QUANTITY>
836  * \li Params: <TYPE>:  line|page\n
837                <QUANTITY>: up|down|<number>\n
838  * \li Origin: Abdelrazak Younes, Dec 27 2007
839  */
840         LFUN_SCROLL,
841         LFUN_LASTACTION                  // end of the table
842 };
843
844
845 } // namespace lyx
846
847 #endif // LFUNS_H