]> git.lyx.org Git - lyx.git/blobdiff - src/lfuns.h
simplify GuiToc / TocWidget interaction. Much can still be simplified...
[lyx.git] / src / lfuns.h
index 369d54e4a9c98a9a8c08535c29f0364786420a44..31331d1b08483b07f0a1907952991c6b110aeeb8 100644 (file)
@@ -7,8 +7,8 @@
  * Full author contact details are available in file CREDITS.
  *
  * To add a new function:
- * - add a new enum constant and doc immediately before LFUN_LASTACTION
- * - add an appropriate line in LyXAction.cpp
+ * - add a new enum constant immediately before LFUN_LASTACTION
+ * - add an appropriate line and documentation in LyXAction.cpp
  * - add a branch to a suitable ::doDispatch() method
  * - add correct test to the corresponding ::getStatus() method
  */
@@ -29,97 +29,21 @@ namespace lyx {
  * BufferView::dispatch(), Cursor::dispatch() and
  * Inset*::doDispatch();
  */
-
-/* LFUN documentation (a start at least, Chr 2007-08-12)
- *
- * The documentation below is primarily notes about restrictions and
- * oddities relating to the different LFUNs.
- *
- * Doxygen template below. Some notes: Parameters should be set in uppercase
- * and put in <BRACKETS>, as so.
- */
-
-/**
- * 
- * \li Action: 
- * \li Notion: 
- * \li Syntax: 
- * \li Params: 
- * \li Origin: 
- */
-
 enum kb_action {
        LFUN_UNKNOWN_ACTION = -1,
        // 0
        LFUN_NOACTION = 0,
        LFUN_COMMAND_PREFIX,
-/**
- * LFUN_SCREEN_RECENTER
- * \li Action: Recenters the screen on the current cursor position
- * \li Syntax: screen-recenter
- */
        LFUN_SCREEN_RECENTER,
-/**
- * LFUN_BUFFER_NEW
- * \li Action: Creates a new buffer (that is, document)
- * \li Syntax: buffer-new
- */
        LFUN_BUFFER_NEW,
-/**
- * LFUN_BUFFER_WRITE
- * \li Action: Saves the current buffer
- * \li Notion: Saves the current buffer to disk, using the filename that
-               is already associated with the buffer, asking for one if
-               none is yet assigned.
- * \li Syntax: buffer-write
- */
        LFUN_BUFFER_WRITE,
        // 5
-/**
- * LFUN_BUFFER_WRITE_AS
- * \li Action: Rename and save current buffer.
- * \li Syntax: buffer-write-as <FILENAME>
- * \li Params: <FILENAME>: New name of the buffer/file. A relative path
- *             is with respect to the original location of the buffer/file.
- */
        LFUN_BUFFER_WRITE_AS,
        LFUN_BUILD_PROGRAM,
-/**
- * LFUN_BUFFER_VIEW
- * \li Action: Displays current buffer in chosen format
- * \li Notion: Displays the contents of the current buffer in the chosen
-               format, for example, PDF or DVI. This runs the necessary
-               converter, calls the defined viewer, and so forth.
- * \li Syntax: buffer-view <FORMAT>
- * \li Params: <FORMAT>: The format to display, where this is one of the
-                         formats defined (in the current GUI) in the
-                         Tools>Preferences>File Formats dialog.
- */
        LFUN_BUFFER_VIEW,
-/**
- * LFUN_BUFFER_CLOSE
- * \li Action: Closes the current buffer
- * \li Notion: Closes the current buffer, asking whether to save it, etc,
-               if the buffer has been modified.
- * \li Syntax: buffer-close
- */
        LFUN_BUFFER_CLOSE,
-/**
- * LFUN_LYX_QUIT
- * \li Action: Terminates the current LyX instance
- * \li Notion: Terminates the current LyX instance, asking whether to save
-               modified documents, etc.
- * \li Syntax: lyx-quit
- */
        LFUN_LYX_QUIT,
        // 10
-/**
- * LFUN_BUFFER_AUTO_SAVE
- * \li Action: Saves the current buffer to a temporary file
- * \li Notion: Saves the current buffer to a file named "#filename#". This LFUN 
-               is called automatically by LyX, to "autosave" the current buffer.
-       * \li Syntax: buffer-auto-save
- */
        LFUN_BUFFER_AUTO_SAVE,
        LFUN_UNDO,
        LFUN_REDO,
@@ -177,12 +101,6 @@ enum kb_action {
        LFUN_BUFFER_END_SELECT,
        LFUN_SPACE_INSERT,              // JSpitzm 20030520
        LFUN_SPECIALCHAR_INSERT,        // JSpitzm, 20071206
-/**
- * LFUN_MARK_TOGGLE
- * \li Action: Toggle between MARK_ON and MARK_OFF
- * \li Syntax: mark-toggle
- * \li Origin: poenitz, May 5 2006
- */
        LFUN_MARK_TOGGLE,
        LFUN_CHAR_DELETE_FORWARD,
        // 60
@@ -242,22 +160,8 @@ enum kb_action {
        // 105
        LFUN_MATH_DISPLAY,              // Alejandro 180696
        LFUN_MATH_MODE,                 // Alejandro 040696
-/**
- * LFUN_MATH_NUMBER
- * \li Action: Enable numbering of the current formula.
- * \li Notion: Must be in display formula mode.
- * \li Syntax: math-number
- * \li Origin: Alejandro 4 Jun 1996
- */
-       LFUN_MATH_NUMBER,
-/**
- * LFUN_MATH_NONUMBER
- * \li Action: Disable numbering of the current formula.
- * \li Notion: Must be in display formula mode.
- * \li Syntax: math-nonumber
- * \li Origin: Alejandro 18 Jun 1996
- */
-       LFUN_MATH_NONUMBER,
+       LFUN_MATH_NUMBER_TOGGLE,
+       LFUN_MATH_NUMBER_LINE_TOGGLE,
        LFUN_MATH_SIZE,                 // Alejandro 150896
        // 110
        LFUN_MATH_MACRO,                // ale970510
@@ -269,40 +173,11 @@ enum kb_action {
        LFUN_WORD_DELETE_FORWARD,
        LFUN_WORD_DELETE_BACKWARD,
        LFUN_LINE_DELETE,
-/**
- * LFUN_MARK_OFF
- * \li Action: Disable selecting of text-region.
- * \li Syntax: mark-off
- */
        LFUN_MARK_OFF,
-/**
- * LFUN_MARK_ON
- * \li Action: Enable selecting of text-region.
- * \li Notion: After enabling you can simply move arrow keys to get selected region.
- * \li Syntax: mark-on
- */
        LFUN_MARK_ON,
        // 120
- /**
- * LFUN_LAYOUT
- * \li Action: Sets the layout for the current paragraph
- * \li Syntax: layout <LAYOUT>
- * \li Params: <LAYOUT>: the layout to use
- */
        LFUN_LAYOUT,
-/**
- * LFUN_LAYOUT_PARAGRAPH
- * \li Action: Launches the paragraph settings dialog
- * \li Syntax: layout-paragraph
- */
        LFUN_LAYOUT_PARAGRAPH,
-/**
- * LFUN_DROP_LAYOUTS_CHOICE
- * \li Action: Displays list of layout choices
- * \li Notion: In the current (as of 2007) Qt4 frontend, this LFUN opens the
-               dropbox allowing for choice of layout
- * \li Syntax: drop-layouts-choice
- */
        LFUN_DROP_LAYOUTS_CHOICE,       // used in bindings as of 20071228
        LFUN_FONT_TYPEWRITER,           // changed from FONT_CODE 20070920
        LFUN_FONT_SANS,
@@ -340,7 +215,7 @@ enum kb_action {
        LFUN_DELETE_FORWARD_SKIP,
        LFUN_BUFFER_NEW_TEMPLATE,       // Asger 1997-02-02
        LFUN_BUFFER_RELOAD,             // Asger 1997-02-02
-       LFUN_RECONFIGURE,               // Asger 1997-02-14
+       LFUN_RECONFIGURE,
        LFUN_INDEX_PRINT,               // Lgb 97-02-27
        // 155
        LFUN_CELL_SPLIT,
@@ -367,7 +242,7 @@ enum kb_action {
        LFUN_BUFFER_IMPORT,             // Asger 980724
        LFUN_COMMAND_SEQUENCE,          // Andre' 991111
        // 175
-       LFUN_PREFERENCES_SAVE,          // Lgb 991127
+       LFUN_PREFERENCES_SAVE,
        LFUN_HELP_OPEN,                 // Jug 990627
        LFUN_DATE_INSERT,               // jdblair 20000131
        LFUN_LANGUAGE,                  // Dekel 20000203
@@ -395,28 +270,8 @@ enum kb_action {
        LFUN_SCREEN_FONT_UPDATE,        // ARRae 20000813
        LFUN_PARAGRAPH_GOTO,            // Dekel 20000826
        LFUN_REFERENCE_NEXT,            // Dekel 20010114
-/**
- * LFUN_BOOKMARK_SAVE
- * \li Action: Save a bookmark
- * \li Notion: Saves a numbered bookmark to the sessions file. The number
-               must be between 1 and 9, inclusive. Note that bookmarks are
-               saved per-session, not per file.
- * \li Syntax: bookmark-save <NUMBER>
- * \li Params: <NUMBER>: the number of the bookmark to save.
- * \li Origin: Dekel, 27 January 2001
- */
        LFUN_BOOKMARK_SAVE,
        // 200
-/**
- * LFUN_BOOKMARK_GOTO
- * \li Action: Goto a bookmark
- * \li Notion: Moves the cursor to the numbered bookmark, opening the file
-               if necessary. Note that bookmarsk are saved per-session, not
-               per file.
- * \li Syntax: bookmark-goto <NUMBER>
- * \li Params: <NUMBER>: the number of the bookmark to restore.
- * \li Origin: Dekel, 27 January 2001
- */
        LFUN_BOOKMARK_GOTO,
        LFUN_SELECT_FILE_SYNC,          // Levon 20010214
        LFUN_MESSAGE,                   // Lgb 20010408; for scripting purposes, output in minibuffer
@@ -454,15 +309,6 @@ enum kb_action {
        LFUN_INSET_DIALOG_UPDATE,
        // 230
        LFUN_INSET_SETTINGS,
-/**
- * LFUN_PARAGRAPH_PARAMS_APPLY
- * \li Action: Change paragraph settings.
- * \li Notion: Overwrite all nonspecified settings to the default ones. 
-               Use paragraph-params lfun if you don't want to overwrite others settings.
- * \li Syntax: paragraph-params-apply <INDENT> <SPACING> <ALIGN> <OTHERS>
- * \li Params: For parameters see LFUN_PARAGRAPH_PARAMS
- * \li Origin: leeming, 30 Mar 2004
- */
        LFUN_PARAGRAPH_PARAMS_APPLY,
        LFUN_PARAGRAPH_UPDATE,
        LFUN_EXTERNAL_EDIT,
@@ -486,21 +332,7 @@ enum kb_action {
        LFUN_ALL_INSETS_TOGGLE,
        LFUN_BUFFER_LANGUAGE,
        // 250
-/**
- * LFUN_TEXTCLASS_APPLY
- * \li Action: Sets the text class for the current buffer
- * \li Syntax: textclass-apply <TEXTCLASS>
- * \li Params: <TEXTCLASS>: the textclass to set. Note that this must be
-                   the filename, minus the ".layout" extension.
- */
        LFUN_TEXTCLASS_APPLY,
-/**
- * LFUN_TEXTCLASS_LOAD
- * \li Action: Loads information for a textclass from disk
- * \li Syntax: textclass-load <TEXTCLASS>
- * \li Params: <TEXTCLASS>: the textclass to load. Note that this must be
-                   the filename, minus the ".layout" extension.
- */
        LFUN_TEXTCLASS_LOAD,
        LFUN_BUFFER_SAVE_AS_DEFAULT,
        LFUN_BUFFER_PARAMS_APPLY,
@@ -510,19 +342,19 @@ enum kb_action {
        LFUN_INSET_REFRESH,
        LFUN_BUFFER_NEXT,
        LFUN_BUFFER_PREVIOUS,
-       LFUN_WORDS_COUNT,
+       LFUN_STATISTICS,
        // 260
        LFUN_CHANGES_OUTPUT,             // jspitzm 20050121
        LFUN_BIBTEX_DATABASE_ADD,
        LFUN_BIBTEX_DATABASE_DEL,
        LFUN_CITATION_INSERT,
-       LFUN_OUTLINE_UP,                 // Vermeer 20060323
+       LFUN_OUTLINE_UP,
        // 265
        LFUN_OUTLINE_DOWN,
        LFUN_OUTLINE_IN,
        LFUN_OUTLINE_OUT,
-       LFUN_PARAGRAPH_MOVE_DOWN,        // Edwin 20060408
-       LFUN_PARAGRAPH_MOVE_UP,          // Edwin 20060408
+       LFUN_PARAGRAPH_MOVE_DOWN,
+       LFUN_PARAGRAPH_MOVE_UP,
        // 270
        LFUN_BUFFER_TOGGLE_COMPRESSION,  // bpeng 20060427
        LFUN_MATH_BIGDELIM,
@@ -533,12 +365,6 @@ enum kb_action {
        LFUN_WINDOW_NEW,                 // Abdel 20061021
        LFUN_WINDOW_CLOSE,               // Abdel 20061023
        LFUN_UNICODE_INSERT,             // Lgb 20061022
-/**
- * LFUN_BOOKMARK_CLEAR
- * \li Action: Clears the list of saved bookmarks
- * \li Syntax: bookmark-clear
- * \li Origin: bpeng, 31 October 2006
-       */
        LFUN_BOOKMARK_CLEAR,             // bpeng 20061031
        LFUN_NOMENCL_INSERT,             // Ugras
        // 280
@@ -549,44 +375,9 @@ enum kb_action {
        LFUN_TOOLBAR_TOGGLE,             // Edwin 20070521
        // 285
        LFUN_BUFFER_WRITE_ALL,           // rgh, gpothier 200707XX
-/**
- * LFUN_PARAGRAPH_PARAMS
- * \li Action: Change paragraph settings
- * \li Notion: Modifies the current paragraph, or currently selected paragraphs.
-               This function only modifies, and does not override, existing settings.
-               Note that the "leftindent" indent setting is deprecated.
- * \li Syntax: paragraph-params <INDENT> <SPACING> <ALIGN> <OTHERS>
- * \li Params: <INDENT>:  \\noindent|\\indent|\\indent-toggle|\\leftindent LENGTH\n
-               <SPACING>: \\paragraph_spacing default|single|onehalf|double|other\n
-               <ALIGN>:   \\align block|left|right|center|default\n
-               <OTHERS>:  \\labelwidthstring WIDTH|\\start_of_appendix\n
- * \li Origin: rgh, Aug 15 2007
- */
        LFUN_PARAGRAPH_PARAMS,
-/**
- * LFUN_LAYOUT_MODULES_CLEAR
- * \li Action: Clears the module list
- * \li Notion: Clears the list of included modules for the current buffer. 
- * \li Syntax: layout-modules-clear
- * \li Origin: rgh, 25 August 2007
- */
        LFUN_LAYOUT_MODULES_CLEAR,
-/**
- * LFUN_LAYOUT_MODULE_ADD
- * \li Action: Adds a module
- * \li Notion: Adds a module to the list of included modules for the current buffer.
- * \li Syntax: layout-module-add <MODULE>
- * \li Params: <MODULE>: the module to be added
- * \li Origin: rgh, 25 August 2007
- */
        LFUN_LAYOUT_MODULE_ADD,
-/**
- * LFUN_LAYOUT_RELOAD
- * \li Action: Reloads layout information
- * \li Notion: Reloads all layout information for the current buffer.
- * \li Syntax: layout-reload
- * \li Origin: rgh, 3 September 2007
- */
        LFUN_LAYOUT_RELOAD,
        // 290
        LFUN_MASTER_BUFFER_VIEW,         // Tommaso, 20070920
@@ -618,19 +409,11 @@ enum kb_action {
        LFUN_MATH_MACRO_MAKE_NONOPTIONAL,
        LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM,
        LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM,
-
        // 315
        LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM,
        LFUN_IN_MATHMACROTEMPLATE,
-/** LFUN_SCROLL
- * \li Action: scroll the buffer view
- * \li Notion: Only scrolls the screen up or down; does not move the cursor.
- * \li Syntax: scroll <TYPE> <QUANTITY>
- * \li Params: <TYPE>:  line|page\n
-               <QUANTITY>: up|down|<number>\n
- * \li Origin: Abdelrazak Younes, Dec 27 2007
-*/
        LFUN_SCROLL,
+       LFUN_UI_TOGGLE,
        LFUN_LASTACTION                  // end of the table
 };