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