]> git.lyx.org Git - lyx.git/blob - src/lfuns.h
2df4b25a8dc57918efb64ec6276f2d3f37f0e423
[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         LFUN_RECONFIGURE,               // Asger 1997-02-14
374         LFUN_INDEX_PRINT,               // Lgb 97-02-27
375         // 155
376         LFUN_CELL_SPLIT,
377         LFUN_BUFFER_CHILD_OPEN,         // Ale 970528
378         LFUN_TOC_INSERT,                // Lgb 97-05-27
379         LFUN_FLOAT_LIST,                // Lgb 20010503
380         LFUN_BUFFER_TOGGLE_READ_ONLY,   // Lgb 97-05-27
381         // 160
382         LFUN_VC_REGISTER,               // Lgb 97-07-01
383         LFUN_VC_CHECK_IN,               // Lgb 97-07-01
384         LFUN_VC_CHECK_OUT,              // Lgb 97-07-01
385         LFUN_VC_REVERT,                 // Lgb 97-07-01
386         LFUN_VC_UNDO_LAST,              // Lgb 97-07-01
387         // 165
388         LFUN_BUFFER_EXPORT,             // Lgb 97-07-29
389         LFUN_LABEL_GOTO,                // Ale 970806
390         LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR, // ARRae 971202
391         LFUN_BUFFER_CHKTEX,             // Asger 971030
392         LFUN_HYPERLINK_INSERT,          // CFO-G 971121
393         // 170
394         LFUN_WORD_FIND_FORWARD,         // Etienne 980216
395         LFUN_WORD_FIND_BACKWARD,        // Etienne 980220
396         LFUN_APPENDIX,                  // ettrich 980505
397         LFUN_BUFFER_IMPORT,             // Asger 980724
398         LFUN_COMMAND_SEQUENCE,          // Andre' 991111
399         // 175
400         LFUN_PREFERENCES_SAVE,          // Lgb 991127
401         LFUN_HELP_OPEN,                 // Jug 990627
402         LFUN_DATE_INSERT,               // jdblair 20000131
403         LFUN_LANGUAGE,                  // Dekel 20000203
404         LFUN_ERT_INSERT,                // Jug 20000218
405         // 180
406         LFUN_FOOTNOTE_INSERT,           // Jug 20000307
407         LFUN_PARAGRAPH_SPACING,         // Lgb 20000411
408         LFUN_TABULAR_INSERT,            // Jug 20000412
409         LFUN_LOFVIEW,                   // Dekel 20000519
410         LFUN_LOTVIEW,                   // Dekel 20000519
411         // 185
412         LFUN_LOAVIEW,                   // Dekel 20000519
413         LFUN_SET_COLOR,                 // SLior 20000611
414         LFUN_MARGINALNOTE_INSERT,       // Lgb 20000626
415         LFUN_FLOAT_INSERT,              // Lgb 20000627
416         LFUN_FLOAT_WIDE_INSERT,         // Lgb 20010531
417         // 190
418         LFUN_CAPTION_INSERT,            // Lgb 20000718; inactive as of 20060905
419         LFUN_BUFFER_SWITCH,
420         LFUN_TABULAR_FEATURE,           // Jug 20000728
421         LFUN_LAYOUT_TABULAR,            // Jug 20000731
422         LFUN_BUFFER_UPDATE,             // Dekel 20000805
423         // 195
424         LFUN_INDEX_INSERT,              // Angus 20000803
425         LFUN_SCREEN_FONT_UPDATE,        // ARRae 20000813
426         LFUN_PARAGRAPH_GOTO,            // Dekel 20000826
427         LFUN_REFERENCE_NEXT,            // Dekel 20010114
428 /**
429  * LFUN_BOOKMARK_SAVE
430  * \li Action: Save a bookmark
431  * \li Notion: Saves a numbered bookmark to the sessions file. The number
432                must be between 1 and 9, inclusive. Note that bookmarks are
433                saved per-session, not per file.
434  * \li Syntax: bookmark-save <NUMBER>
435  * \li Params: <NUMBER>: the number of the bookmark to save.
436  * \li Origin: Dekel, 27 January 2001
437  */
438         LFUN_BOOKMARK_SAVE,
439         // 200
440 /**
441  * LFUN_BOOKMARK_GOTO
442  * \li Action: Goto a bookmark
443  * \li Notion: Moves the cursor to the numbered bookmark, opening the file
444                if necessary. Note that bookmarsk are saved per-session, not
445                per file.
446  * \li Syntax: bookmark-goto <NUMBER>
447  * \li Params: <NUMBER>: the number of the bookmark to restore.
448  * \li Origin: Dekel, 27 January 2001
449  */
450         LFUN_BOOKMARK_GOTO,
451         LFUN_SELECT_FILE_SYNC,          // Levon 20010214
452         LFUN_MESSAGE,                   // Lgb 20010408; for scripting purposes, output in minibuffer
453         LFUN_CHARS_TRANSPOSE,           // Lgb 20010425
454         LFUN_ESCAPE,                    // Lgb 20010517
455         // 205
456         LFUN_THESAURUS_ENTRY,           // Levon 20010720
457         LFUN_OPTIONAL_INSERT,           // Martin 12 Aug 2002
458         LFUN_MOUSE_PRESS,               // André 9 Aug 2002
459         LFUN_MOUSE_MOTION,              // André 9 Aug 2002
460         LFUN_MOUSE_RELEASE,             // André 9 Aug 2002
461         // 210
462         LFUN_MOUSE_DOUBLE,              // André 9 Aug 2002
463         LFUN_MOUSE_TRIPLE,              // André 9 Aug 2002
464         LFUN_WRAP_INSERT,               // Dekel 7 Apr 2002
465         LFUN_CHANGES_TRACK,             // Levon 20021001 (cool date !)
466         LFUN_CHANGES_MERGE,             // Levon 20021016
467         // 215
468         LFUN_CHANGE_ACCEPT,             // Levon 20021016
469         LFUN_CHANGE_REJECT,             // Levon 20021016
470         LFUN_ALL_CHANGES_ACCEPT,        // Levon 20021016
471         LFUN_ALL_CHANGES_REJECT,        // Levon 20021016
472         LFUN_BIBITEM_INSERT,            // André 14 Feb 2003
473         // 220
474         LFUN_DIALOG_SHOW,
475         LFUN_DIALOG_SHOW_NEW_INSET,
476         LFUN_DIALOG_UPDATE,
477         LFUN_DIALOG_HIDE,
478         LFUN_DIALOG_TOGGLE,             // JSpitzm 20070430
479         // 225
480         LFUN_DIALOG_DISCONNECT_INSET,
481         LFUN_INSET_APPLY,
482         LFUN_INSET_INSERT,
483         LFUN_INSET_MODIFY,
484         LFUN_INSET_DIALOG_UPDATE,
485         // 230
486         LFUN_INSET_SETTINGS,
487 /**
488  * LFUN_PARAGRAPH_PARAMS_APPLY
489  * \li Action: Change paragraph settings.
490  * \li Notion: Overwrite all nonspecified settings to the default ones. 
491                Use paragraph-params lfun if you don't want to overwrite others settings.
492  * \li Syntax: paragraph-params-apply <INDENT> <SPACING> <ALIGN> <OTHERS>
493  * \li Params: For parameters see LFUN_PARAGRAPH_PARAMS
494  * \li Origin: leeming, 30 Mar 2004
495  */
496         LFUN_PARAGRAPH_PARAMS_APPLY,
497         LFUN_PARAGRAPH_UPDATE,
498         LFUN_EXTERNAL_EDIT,
499         LFUN_BRANCH_INSERT,
500         // 235
501         LFUN_BOX_INSERT,
502         LFUN_LINE_INSERT,
503         LFUN_NEWPAGE_INSERT,            // uwestoehr 20071124
504         LFUN_PAGEBREAK_INSERT,
505         LFUN_REPEAT,
506         // 240
507         LFUN_FINISHED_LEFT,
508         LFUN_FINISHED_RIGHT,
509         LFUN_FLEX_INSERT,
510         LFUN_WORD_FIND,
511         LFUN_WORD_REPLACE,
512         // 245
513         LFUN_BUFFER_EXPORT_CUSTOM,
514         LFUN_BUFFER_PRINT,
515         LFUN_NEXT_INSET_TOGGLE,
516         LFUN_ALL_INSETS_TOGGLE,
517         LFUN_BUFFER_LANGUAGE,
518         // 250
519 /**
520  * LFUN_TEXTCLASS_APPLY
521  * \li Action: Sets the text class for the current buffer
522  * \li Syntax: textclass-apply <TEXTCLASS>
523  * \li Params: <TEXTCLASS>: the textclass to set. Note that this must be
524                    the filename, minus the ".layout" extension.
525  */
526         LFUN_TEXTCLASS_APPLY,
527 /**
528  * LFUN_TEXTCLASS_LOAD
529  * \li Action: Loads information for a textclass from disk
530  * \li Syntax: textclass-load <TEXTCLASS>
531  * \li Params: <TEXTCLASS>: the textclass to load. Note that this must be
532                    the filename, minus the ".layout" extension.
533  */
534         LFUN_TEXTCLASS_LOAD,
535         LFUN_BUFFER_SAVE_AS_DEFAULT,
536         LFUN_BUFFER_PARAMS_APPLY,
537         LFUN_LYXRC_APPLY,
538         // 255
539         LFUN_GRAPHICS_EDIT,
540         LFUN_INSET_REFRESH,
541         LFUN_BUFFER_NEXT,
542         LFUN_BUFFER_PREVIOUS,
543         LFUN_WORDS_COUNT,
544         // 260
545         LFUN_CHANGES_OUTPUT,             // jspitzm 20050121
546         LFUN_BIBTEX_DATABASE_ADD,
547         LFUN_BIBTEX_DATABASE_DEL,
548         LFUN_CITATION_INSERT,
549 /**
550  * LFUN_OUTLINE_UP
551  * \li Action: Move the current group in the upward direction in the
552                structure of the document.
553  * \li Notion: The "group" can be Part/Chapter/Section/etc. It moves
554                the whole substructure of the group.
555  * \li Syntax: outline-up
556  * \li Origin: Vermeer, 23 Mar 2006
557  */
558         LFUN_OUTLINE_UP,
559         // 265
560 /**
561  * LFUN_OUTLINE_DOWN
562  * \li Action: Move the current group in the downward direction in the
563                structure of the document.
564  * \li Notion: The "group" can be Part/Chapter/Section/etc. It moves
565                the whole substructure of the group.
566  * \li Syntax: outline-down
567  * \li Origin: Vermeer, 23 Mar 2006
568  */
569         LFUN_OUTLINE_DOWN,
570 /**
571  * LFUN_OUTLINE_IN
572  * \li Action: Moves the current group in the downward direction in the
573                hierarchy of the document structure.
574  * \li Notion: Part -> Chapter -> Section -> etc.
575  * \li Syntax: outline-in
576  * \li Origin: Vermeer, 23 Mar 2006
577  */
578         LFUN_OUTLINE_IN,
579 /**
580  * LFUN_OUTLINE_OUT
581  * \li Action: Moves the current group in the upward direction in the
582                hierarchy of the document structure.
583  * \li Notion: Part <- Chapter <- Section <- etc.
584  * \li Syntax: outline-out
585  * \li Origin: Vermeer, 23 Mar 2006
586  */
587         LFUN_OUTLINE_OUT,
588         LFUN_PARAGRAPH_MOVE_DOWN,        // Edwin 20060408
589         LFUN_PARAGRAPH_MOVE_UP,          // Edwin 20060408
590         // 270
591         LFUN_BUFFER_TOGGLE_COMPRESSION,  // bpeng 20060427
592         LFUN_MATH_BIGDELIM,
593         LFUN_CLIPBOARD_PASTE,
594         LFUN_INSET_DISSOLVE,             // jspitzm 20060807
595         LFUN_CHANGE_NEXT,
596         // 275
597         LFUN_WINDOW_NEW,                 // Abdel 20061021
598         LFUN_WINDOW_CLOSE,               // Abdel 20061023
599         LFUN_UNICODE_INSERT,             // Lgb 20061022
600 /**
601  * LFUN_BOOKMARK_CLEAR
602  * \li Action: Clears the list of saved bookmarks
603  * \li Syntax: bookmark-clear
604  * \li Origin: bpeng, 31 October 2006
605  */
606         LFUN_BOOKMARK_CLEAR,             // bpeng 20061031
607         LFUN_NOMENCL_INSERT,             // Ugras
608         // 280
609         LFUN_NOMENCL_PRINT,              // Ugras
610         LFUN_CLEARPAGE_INSERT,           // Ugras 20061125
611         LFUN_CLEARDOUBLEPAGE_INSERT,     // Ugras 20061125
612         LFUN_LISTING_INSERT,             // Herbert 20011110, bpeng 20070502
613         LFUN_TOOLBAR_TOGGLE,             // Edwin 20070521
614         // 285
615         LFUN_BUFFER_WRITE_ALL,           // rgh, gpothier 200707XX
616 /**
617  * LFUN_PARAGRAPH_PARAMS
618  * \li Action: Change paragraph settings
619  * \li Notion: Modifies the current paragraph, or currently selected paragraphs.
620                This function only modifies, and does not override, existing settings.
621                Note that the "leftindent" indent setting is deprecated.
622  * \li Syntax: paragraph-params [<INDENT>] [<SPACING>] [<ALIGN>] [<OTHERS>]
623  * \li Params: <INDENT>:  \\noindent|\\indent|\\indent-toggle|\\leftindent LENGTH\n
624                <SPACING>: \\paragraph_spacing default|single|onehalf|double|other\n
625                <ALIGN>:   \\align block|left|right|center|default\n
626                <OTHERS>:  \\labelwidthstring WIDTH|\\start_of_appendix\n
627  * \li Origin: rgh, Aug 15 2007
628  */
629         LFUN_PARAGRAPH_PARAMS,
630 /**
631  * LFUN_LAYOUT_MODULES_CLEAR
632  * \li Action: Clears the module list
633  * \li Notion: Clears the list of included modules for the current buffer. 
634  * \li Syntax: layout-modules-clear
635  * \li Origin: rgh, 25 August 2007
636  */
637         LFUN_LAYOUT_MODULES_CLEAR,
638 /**
639  * LFUN_LAYOUT_MODULE_ADD
640  * \li Action: Adds a module
641  * \li Notion: Adds a module to the list of included modules for the current buffer.
642  * \li Syntax: layout-module-add <MODULE>
643  * \li Params: <MODULE>: the module to be added
644  * \li Origin: rgh, 25 August 2007
645  */
646         LFUN_LAYOUT_MODULE_ADD,
647 /**
648  * LFUN_LAYOUT_RELOAD
649  * \li Action: Reloads layout information
650  * \li Notion: Reloads all layout information for the current buffer from disk, thus
651                recognizing any changes that have been made to layout files on the fly. 
652                This is intended to be used only by layout developers and should not be
653                used when one is trying to do actual work.
654  * \li Syntax: layout-reload
655  * \li Origin: rgh, 3 September 2007
656  */
657         LFUN_LAYOUT_RELOAD,
658         // 290
659         LFUN_MASTER_BUFFER_VIEW,         // Tommaso, 20070920
660         LFUN_MASTER_BUFFER_UPDATE,       // Tommaso, 20070920
661         LFUN_INFO_INSERT,                // bpeng, 20071007
662         LFUN_CALL,                       // broider, 20071002
663         LFUN_BUFFER_TOGGLE_EMBEDDING,    // bpeng, 20071021
664         // 295
665         LFUN_CHAR_LEFT,                  // dov, 20071022
666         LFUN_CHAR_LEFT_SELECT,           // dov, 20071022
667         LFUN_CHAR_RIGHT,                 // dov, 20071022
668         LFUN_CHAR_RIGHT_SELECT,          // dov, 20071022
669         LFUN_FINISHED_BACKWARD,          // dov, 20071022
670         // 300
671         LFUN_FINISHED_FORWARD,           // dov, 20071022
672         LFUN_WORD_LEFT,                  // dov, 20071028
673         LFUN_WORD_LEFT_SELECT,           // dov, 20071028
674         LFUN_WORD_RIGHT,                 // dov, 20071028
675         LFUN_WORD_RIGHT_SELECT,          // dov, 20071028
676         // 305
677 /**
678  * LFUN_MATH_MACRO_FOLD
679  * \li Action: Fold a Math Macro
680  * \li Notion: Fold the Math Macro the cursor is in if it was 
681                unfolded, i.e. displayed as \foo before. 
682  * \li Syntax: math-macro-fold
683  * \li Origin: sts, 06 January 2008
684  */
685         LFUN_MATH_MACRO_FOLD,
686 /**
687  * LFUN_MATH_MACRO_UNFOLD
688  * \li Action: Unfold a Math Macro
689  * \li Notion: Unfold the Math Macro the cursor is in, i.e. 
690                display it as \foo. 
691  * \li Syntax: math-macro-unfold
692  * \li Origin: sts, 06 January 2008
693  */
694         LFUN_MATH_MACRO_UNFOLD,
695 /**
696  * LFUN_MATH_MACRO_ADD_PARAM
697  * \li Action: Add a parameter
698  * \li Notion: Add a parameter to a Math Macro
699  * \li Params: <NUM>: The number of the parameter behind which the new one
700                will be added (1 for the first, i.e. use 0 for add a 
701                parameter at the left), defaults to the last one.
702  * \li Syntax: math-macro-add-param <NUM>
703  * \li Origin: sts, 06 January 2008
704  */     
705         LFUN_MATH_MACRO_ADD_PARAM,
706 /**
707  * LFUN_MATH_MACRO_REMOVE_PARAM
708  * \li Action: Remove the last parameter
709  * \li Notion: Remove the last parameter of a Math Macro and
710                remove its value in all instances of the macro 
711                in the buffer.
712  * \li Params: <NUM>: The number of the parameter to be deleted (1 for 
713                the first), defaults to the last one.
714  * \li Syntax: math-macro-remove-param <NUM>
715  * \li Origin: sts, 06 January 2008
716  */
717         LFUN_MATH_MACRO_REMOVE_PARAM,
718 /**
719  * LFUN_MATH_MACRO_APPEND_GREEDY_PARAM
720  * \li Action: Append a greedy parameter
721  * \li Notion: Append a greedy parameter to a Math Macro which
722                eats the following mathed cell in every instance of
723                the macro in the buffer.
724  * \li Syntax: math-macro-append-greedy-param
725  * \li Origin: sts, 06 January 2008
726  */
727         LFUN_MATH_MACRO_APPEND_GREEDY_PARAM,
728         // 310
729 /**
730  * LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM
731  * \li Action: Remove a greedy parameter
732  * \li Notion: Remove a greedy parameter of a Math Macro and spit
733                out the values of it in every instance of the macro 
734                in the buffer. If it is an optional parameter the [valud]
735                format is used.
736  * \li Syntax: math-macro-remove-greedy-param
737  * \li Origin: sts, 06 January 2008
738  */
739         LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM,
740 /**
741  * LFUN_MATH_MACRO_MAKE_OPTIONAL
742  * \li Action: Make a parameter optional
743  * \li Notion: Turn the first non-optional parameter of a Math Macro
744                into an optional parameter with a default value.
745  * \li Syntax: math-macro-make-optional
746  * \li Origin: sts, 06 January 2008
747  */     
748         LFUN_MATH_MACRO_MAKE_OPTIONAL,
749 /**
750  * LFUN_MATH_MACRO_MAKE_NONOPTIONAL
751  * \li Action: Make a parameter non-optional
752  * \li Notion: Turn the last optional parameter of a Math Macro
753                into a non-optional parameter. The default value is
754                remembered to be reused later if the user changes his mind.
755  * \li Syntax: math-macro-make-nonoptional
756  * \li Origin: sts, 06 January 2008
757  */
758         LFUN_MATH_MACRO_MAKE_NONOPTIONAL,
759 /**
760  * LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM
761  * \li Action: Add an optional parameter
762  * \li Notion: Insert an optional parameter just behind the 
763                already existing optional parameters.
764  * \li Syntax: math-macro-add-optional-param
765  * \li Origin: sts, 06 January 2008
766  */
767         LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM,
768 /**
769  * LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM
770  * \li Action: Remove the last optional parameter
771  * \li Notion: Remove the last optional parameter of a Math Macro and
772                remove it in all the instances of the macro in the buffer.
773  * \li Syntax: math-macro-remove-optional-param
774  * \li Origin: sts, 06 January 2008
775  */
776         LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM,
777
778         // 315
779 /**
780  * LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM
781  * \li Action: Add a greedy optional parameter
782  * \li Notion: Add a greedy optional parameter which eats the value
783                from the following cells in mathed which are in the [value]
784                format.
785  * \li Syntax: math-macro-add-greedy-optional-param
786  * \li Origin: sts, 06 January 2008
787  */
788         LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM,
789 /**
790  * LFUN_IN_MATHMACROTEMPLATE
791  * \li Action: Only active in Math Macro definition
792  * \li Notion: Dummy function which is only active in a Math Macro definition. 
793                It's used to toggle the Math Macro toolbar if the cursor moves
794                into a Math Macro definition.
795  * \li Syntax: in-mathmacrotemplate
796  * \li Origin: sts, 06 January 2008
797  */
798         LFUN_IN_MATHMACROTEMPLATE,
799 /** LFUN_SCROLL
800  * \li Action: scroll the buffer view
801  * \li Notion: Only scrolls the screen up or down; does not move the cursor.
802  * \li Syntax: scroll <TYPE> <QUANTITY>
803  * \li Params: <TYPE>:  line|page\n
804                <QUANTITY>: up|down|<number>\n
805  * \li Origin: Abdelrazak Younes, Dec 27 2007
806  */
807         LFUN_SCROLL,
808         LFUN_LASTACTION                  // end of the table
809 };
810
811
812 } // namespace lyx
813
814 #endif // LFUNS_H