]> git.lyx.org Git - lyx.git/blob - src/lfuns.h
fix some C++ parsing bugs
[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 the suitable ::dispatch() methods
13  */
14
15 #ifndef LFUNS_H
16 #define LFUNS_H
17
18 #include <iosfwd>
19
20 /** These are all the lyx functions, the main mechanism
21  * through which the frontends communicate with the core.
22  *
23  * They are managed in LyXAction.C and handled in various
24  * ::dispatch() functions, starting with LyXFunc.C:dispatch()
25  */
26 enum kb_action {
27         LFUN_UNKNOWN_ACTION = -1,
28         // 0
29         LFUN_NOACTION = 0,
30         LFUN_PREFIX,
31         LFUN_CENTER,
32         LFUN_MENUNEW,
33         LFUN_MENUWRITE,
34         // 5
35         LFUN_WRITEAS,
36         LFUN_MENUPRINT,
37         LFUN_MENUSENDTO,
38         LFUN_BUILDPROG,
39         LFUN_TOCVIEW,
40         // 10
41         LFUN_PREVIEW,
42         LFUN_CLOSEBUFFER,
43         LFUN_QUIT,
44         LFUN_AUTOSAVE,
45         LFUN_UNDO,
46         // 15
47         LFUN_REDO,
48         LFUN_MENUSEARCH,
49         LFUN_PASTE,
50         LFUN_PASTESELECTION,
51         LFUN_CUT,
52         // 20
53         LFUN_COPY,
54         LFUN_GOTOERROR,
55         LFUN_GOTONOTE,
56         LFUN_INSET_TOGGLE,
57         LFUN_HYPHENATION,
58         // 25
59         LFUN_LIGATURE_BREAK,
60         LFUN_HFILL,
61         LFUN_FREEFONT_APPLY,
62         LFUN_FREEFONT_UPDATE,
63         LFUN_EMPH,
64         // 30
65         LFUN_BOLD,
66         LFUN_ROMAN,
67         LFUN_NOUN,
68         LFUN_ITAL,
69         LFUN_FRAK,
70         // 35
71         LFUN_RIGHT,
72         LFUN_LEFT,
73         LFUN_UP,
74         LFUN_DOWN,
75         LFUN_PRIOR,
76         // 40
77         LFUN_NEXT,
78         LFUN_HOME,
79         LFUN_END,
80         LFUN_TAB,
81         LFUN_SHIFT_TAB,
82         // 45
83         LFUN_WORDRIGHT,
84         LFUN_WORDLEFT,
85         LFUN_BEGINNINGBUF,
86         LFUN_ENDBUF,
87         LFUN_RIGHTSEL,
88         // 50
89         LFUN_LEFTSEL,
90         LFUN_UPSEL,
91         LFUN_DOWNSEL,
92         LFUN_PRIORSEL,
93         LFUN_NEXTSEL,
94         // 55
95         LFUN_HOMESEL,
96         LFUN_ENDSEL,
97         LFUN_WORDRIGHTSEL,
98         LFUN_WORDLEFTSEL,
99         LFUN_WORDSEL,
100         // 60
101         LFUN_BEGINNINGBUFSEL,
102         LFUN_ENDBUFSEL,
103         LFUN_PROTECTEDSPACE,
104         LFUN_SETMARK,
105         LFUN_DELETE,
106         // 65
107         LFUN_BACKSPACE,
108         LFUN_BREAKLINE,
109         LFUN_BREAKPARAGRAPH,
110         LFUN_BREAKPARAGRAPHKEEPLAYOUT,
111         LFUN_QUOTE,
112         // 70
113         LFUN_CIRCUMFLEX,
114         LFUN_SUBSCRIPT,
115         LFUN_SUPERSCRIPT,
116         LFUN_GRAVE,
117         LFUN_ACUTE,
118         // 75
119         LFUN_TILDE,
120         LFUN_CEDILLA,
121         LFUN_MACRON,
122         LFUN_UNDERBAR,
123         LFUN_UNDERDOT,
124         // 80
125         LFUN_CIRCLE,
126         LFUN_TIE,
127         LFUN_BREVE,
128         LFUN_CARON,
129         LFUN_SPECIAL_CARON,
130         // 85
131         LFUN_HUNG_UMLAUT,
132         LFUN_UMLAUT,
133         LFUN_DOT,
134         LFUN_OGONEK,
135         LFUN_SELFINSERT,
136         // 90
137         LFUN_GETBUFNAME,
138         LFUN_GETXY,
139         LFUN_SETXY,
140         LFUN_CHARATCURSOR,
141         LFUN_LINEATCURSOR,
142         // 95
143         LFUN_GETLAYOUT,
144         LFUN_GETFONT,
145         LFUN_GETNAME,
146         LFUN_NOTIFY,
147         LFUN_GOTOFILEROW,
148         // 100
149         LFUN_INSERT_NOTE,
150         LFUN_ENVIRONMENT_INSERT,
151         LFUN_KMAP_OFF,
152         LFUN_KMAP_PRIM,
153         LFUN_KMAP_SEC,
154         // 105
155         LFUN_KMAP_TOGGLE,
156         LFUN_INSERT_MATH,
157         LFUN_INSERT_MATRIX,
158         LFUN_GREEK,
159         LFUN_MATH_LIMITS,
160         // 110
161         LFUN_GREEK_TOGGLE,
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         // 115
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_PANEL,                // Andre' 20010522
172         // 120
173         LFUN_MATH_MUTATE,               // Andre' 20010523
174         LFUN_MATH_IMPORT_SELECTION,     // Andre' 20010704
175         LFUN_MATH_SPACE,                // Andre' 20010725
176         LFUN_DELETE_WORD_FORWARD,
177         LFUN_DELETE_WORD_BACKWARD,
178         // 125
179         LFUN_DELETE_LINE_FORWARD,
180         LFUN_MARK_OFF,
181         LFUN_MARK_ON,
182         LFUN_LAYOUT,
183         LFUN_LAYOUT_CHARACTER,
184         // 130
185         LFUN_LAYOUT_PARAGRAPH,
186         LFUN_LAYOUT_DOCUMENT,
187         LFUN_LAYOUT_PREAMBLE,
188         LFUN_DROP_LAYOUTS_CHOICE,
189         LFUN_CODE,
190         // 135
191         LFUN_SANS,
192         LFUN_DEFAULT,
193         LFUN_UNDERLINE,
194         LFUN_FONT_SIZE,
195         LFUN_FONT_STATE,
196         // 140
197         LFUN_UPCASE_WORD,
198         LFUN_LOWCASE_WORD,
199         LFUN_CAPITALIZE_WORD,
200         LFUN_INSERT_LABEL,
201         LFUN_DEPTH_MIN,
202         // 145
203         LFUN_DEPTH_PLUS,
204         LFUN_MENU_OPEN_BY_NAME,
205         LFUN_SPELLCHECK,
206         LFUN_CANCEL,
207         LFUN_META_FAKE,
208         // 150
209         LFUN_EXEC_COMMAND,
210         LFUN_FILE_INSERT,
211         LFUN_FILE_INSERT_ASCII,         // CFO-G 1997-11-19
212         LFUN_FILE_INSERT_ASCII_PARA,    // Levon 2001-02-14
213         LFUN_FILE_NEW,
214         // 155
215         LFUN_FILE_OPEN,
216         LFUN_UP_PARAGRAPH,              // Asger 1996-10-01
217         LFUN_UP_PARAGRAPHSEL,           // Asger 1996-10-01
218         LFUN_DOWN_PARAGRAPH,            // Asger 1996-10-01
219         LFUN_DOWN_PARAGRAPHSEL,         // Asger 1996-10-01
220         // 160
221         LFUN_BREAKPARAGRAPH_SKIP,
222         LFUN_BACKSPACE_SKIP,
223         LFUN_DELETE_SKIP,
224         LFUN_MENUNEWTMPLT,              // Asger 1997-02-02
225         LFUN_MENURELOAD,                // Asger 1997-02-02
226         // 165
227         LFUN_RECONFIGURE, // 170        // Asger 1997-02-14
228         LFUN_INDEX_PRINT,               // Lgb 97-02-27
229         LFUN_APROPOS,                   // Asger 1997-02-27
230         LFUN_LATEX_LOG,                 // Lgb 97-04-05
231         LFUN_LAYOUT_COPY,               // Asger 1997-05-04
232         // 170
233         LFUN_LAYOUT_PASTE,              // Asger 1997-05-04
234         LFUN_TABINSERT, // 180          // Ale 970515
235         LFUN_CHILDOPEN,                 // Ale 970528
236         LFUN_TOC_INSERT,                // Lgb 97-05-27
237         LFUN_FLOAT_LIST,                // Lgb 20010503
238         // 175
239         LFUN_READ_ONLY_TOGGLE,          // Lgb 97-05-27
240         LFUN_GETTIP,                    // Ale 970603
241         LFUN_VC_REGISTER,               // Lgb 97-07-01
242         LFUN_VC_CHECKIN,                // Lgb 97-07-01
243         LFUN_VC_CHECKOUT,               // Lgb 97-07-01
244         // 180
245         LFUN_VC_REVERT,                 // Lgb 97-07-01
246         LFUN_VC_UNDO,                   // Lgb 97-07-01
247         LFUN_VC_HISTORY,                // Lgb 97-07-01
248         LFUN_EXPORT,                    // Lgb 97-07-29
249         LFUN_REF_GOTO,                  // Ale 970806
250         // 185
251         LFUN_PARENTINSERT,              // Ale 970813
252         LFUN_REMOVEERRORS,              // Asger 970906
253         LFUN_LDOTS,                     // Asger 970929
254         LFUN_END_OF_SENTENCE,           // Asger 970929
255         LFUN_RUNCHKTEX,                 // Asger 971030
256         // 190
257         LFUN_TOGGLECURSORFOLLOW,        // ARRae 971202
258         LFUN_HTMLURL,                   // CFO-G 971121
259         LFUN_URL,                       // CFO-G 971121
260         LFUN_WORDFINDFORWARD,           // Etienne 980216
261         LFUN_WORDFINDBACKWARD,          // Etienne 980220
262         // 195
263         LFUN_APPENDIX,                  // ettrich 980505
264         LFUN_IMPORT,                    // Asger 980724
265         LFUN_MENU_SEPARATOR,            // Asger 990220
266         LFUN_SEQUENCE,                  // Andre' 991111
267         LFUN_DIALOG_PREFERENCES,        // ARRae 20000726
268         // 200
269         LFUN_SAVEPREFERENCES,           // Lgb 991127
270         LFUN_HELP_OPEN,                 // Jug 990627
271         LFUN_DATE_INSERT,               // jdblair 20000131
272         LFUN_LANGUAGE,                  // Dekel 20000203
273         LFUN_INSET_ERT,                 // Jug 20000218
274         // 205
275         LFUN_INSET_FOOTNOTE,            // Jug 20000307
276         LFUN_PARAGRAPH_SPACING,         // Lgb 20000411
277         LFUN_TABULAR_INSERT,            // Jug 20000412
278         LFUN_LOFVIEW,                   // Dekel 20000519
279         LFUN_LOTVIEW,                   // Dekel 20000519
280         // 210
281         LFUN_LOAVIEW,                   // Dekel 20000519
282         LFUN_SET_COLOR,                 // SLior 20000611
283         LFUN_INSET_MARGINAL,            // Lgb 20000626
284         LFUN_INSET_MINIPAGE,            // Lgb 20000627
285         LFUN_INSET_FLOAT,               // Lgb 20000627
286         // 215
287         LFUN_INSET_WIDE_FLOAT,          // Lgb 20010531
288         LFUN_INSET_CAPTION,             // Lgb 20000718
289         LFUN_SWITCHBUFFER,
290         LFUN_TABULAR_FEATURE,           // Jug 20000728
291         LFUN_LAYOUT_TABULAR,            // Jug 20000731
292         // 220
293         LFUN_SCROLL_INSET,              // Jug 20000801
294         LFUN_UPDATE,                    // Dekel 20000805
295         LFUN_INDEX_INSERT,              // Angus 20000803
296         LFUN_SCREEN_FONT_UPDATE,        // ARRae 20000813
297         LFUN_GOTO_PARAGRAPH,            // Dekel 20000826
298         // 225
299         LFUN_REFERENCE_GOTO,            // Dekel 20010114
300         LFUN_BOOKMARK_SAVE,             // Dekel 20010127
301         LFUN_BOOKMARK_GOTO,             // Dekel 20010127
302         LFUN_SELECT_FILE_SYNC,          // Levon 20010214
303         LFUN_MESSAGE,                   // Lgb 20010408
304         // 230
305         LFUN_TRANSPOSE_CHARS,           // Lgb 20010425
306         LFUN_ESCAPE,                    // Lgb 20010517
307         LFUN_HELP_ABOUTLYX,             // Edwin 20010712
308         LFUN_THESAURUS_ENTRY,           // Levon 20010720
309         LFUN_HELP_TEXINFO,              // Herbert 20011001
310         // 235
311         LFUN_FORKS_SHOW,                // Angus 16 Feb 2002
312         LFUN_FORKS_KILL,                // Angus 16 Feb 2002
313         LFUN_TOOLTIPS_TOGGLE,           // Angus 8 Mar 2002
314         LFUN_INSET_OPTARG,              // Martin 12 Aug 2002
315         LFUN_MOUSE_PRESS,               // André 9 Aug 2002
316         // 240
317         LFUN_MOUSE_MOTION,              // André 9 Aug 2002
318         LFUN_MOUSE_RELEASE,             // André 9 Aug 2002
319         LFUN_MOUSE_DOUBLE,              // André 9 Aug 2002
320         LFUN_MOUSE_TRIPLE,              // André 9 Aug 2002
321         // 245
322         LFUN_EDIT,                      // André 16 Aug 2002
323         LFUN_INSET_WRAP,                // Dekel 7 Apr 2002
324         LFUN_TRACK_CHANGES,             // Levon 20021001 (cool date !)
325         LFUN_MERGE_CHANGES,             // Levon 20021016
326         LFUN_ACCEPT_CHANGE,             // Levon 20021016
327         // 250
328         LFUN_REJECT_CHANGE,             // Levon 20021016
329         LFUN_ACCEPT_ALL_CHANGES,        // Levon 20021016
330         LFUN_REJECT_ALL_CHANGES,        // Levon 20021016
331         LFUN_INSERT_BIBITEM,            // André 14 Feb 2003
332         LFUN_DIALOG_SHOW_NEW_INSET,
333         // 255
334         LFUN_DIALOG_SHOW_NEXT_INSET,
335         LFUN_DIALOG_UPDATE,
336         LFUN_DIALOG_HIDE,
337         LFUN_DIALOG_DISCONNECT_INSET,
338         LFUN_INSET_APPLY,
339         // 260
340         LFUN_INSET_INSERT,
341         LFUN_INSET_MODIFY,
342         LFUN_INSET_DIALOG_UPDATE,
343         LFUN_PARAGRAPH_APPLY,
344         LFUN_PARAGRAPH_UPDATE,
345         // 265
346
347         LFUN_LASTACTION                  // end of the table
348 };
349
350 std::ostream & operator<<(std::ostream &, kb_action);
351
352 #endif // LFUNS_H