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