]> 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 698c60736e6980d8127534bea1b78dde89bdc9d1..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,134 +29,28 @@ 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
- * \li Action: Undoes the last edit
- * \li Syntax: undo
- */
        LFUN_UNDO,
-/**
- * LFUN_REDO
- * \li Action: Redoes the last thing undone
- * \li Syntax: redo
- */
        LFUN_REDO,
-/**
- * LFUN_PASTE
- * \li Action: Pastes from the active clipboard
- * \li Syntax: paste
- */
        LFUN_PASTE,
-/**
- * LFUN_PRIMARY_SELECTION_PASTE
- * \li Action: Pastes the material currently selected
- * \li Syntax: primary-selection-paste
- */
        LFUN_PRIMARY_SELECTION_PASTE,
        // 15
-/**
- * LFUN_CUT
- * \li Action: Cuts to the clipboard
- * \li Syntax: cut
- */
        LFUN_CUT,
-/**
- * LFUN_COPY
- * \li Action: Copies to the clipboard the last edit
- * \li Syntax: copy
- */
        LFUN_COPY,
        LFUN_ERROR_NEXT,
        LFUN_NOTE_NEXT,
@@ -207,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
@@ -272,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
@@ -299,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 (that is, environment) 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,
@@ -370,12 +215,6 @@ enum kb_action {
        LFUN_DELETE_FORWARD_SKIP,
        LFUN_BUFFER_NEW_TEMPLATE,       // Asger 1997-02-02
        LFUN_BUFFER_RELOAD,             // Asger 1997-02-02
-/**
- * LFUN_RECONFIGURE
- * \li Action: Reconfigure the automatic settings.
- * \li Syntax: reconfigure
- * \li Origin: Asger , 14 Feb 1997
- */
        LFUN_RECONFIGURE,
        LFUN_INDEX_PRINT,               // Lgb 97-02-27
        // 155
@@ -403,12 +242,6 @@ enum kb_action {
        LFUN_BUFFER_IMPORT,             // Asger 980724
        LFUN_COMMAND_SEQUENCE,          // Andre' 991111
        // 175
-/**
- * LFUN_PREFERENCES_SAVE
- * \li Action: Save user preferences.
- * \li Syntax: preferences-save
- * \li Origin: Lgb 27 Nov 1999
- */
        LFUN_PREFERENCES_SAVE,
        LFUN_HELP_OPEN,                 // Jug 990627
        LFUN_DATE_INSERT,               // jdblair 20000131
@@ -437,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
@@ -496,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,
@@ -528,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,
@@ -552,64 +342,18 @@ 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
- * \li Action: Move the current group in the upward direction in the
-               structure of the document.
- * \li Notion: The "group" can be Part/Chapter/Section/etc. It moves
-               the whole substructure of the group.
- * \li Syntax: outline-up
- * \li Origin: Vermeer, 23 Mar 2006
- */
        LFUN_OUTLINE_UP,
        // 265
-/**
- * LFUN_OUTLINE_DOWN
- * \li Action: Move the current group in the downward direction in the
-               structure of the document.
- * \li Notion: The "group" can be Part/Chapter/Section/etc. It moves
-               the whole substructure of the group.
- * \li Syntax: outline-down
- * \li Origin: Vermeer, 23 Mar 2006
- */
        LFUN_OUTLINE_DOWN,
-/**
- * LFUN_OUTLINE_IN
- * \li Action: Moves the current group in the downward direction in the
-               hierarchy of the document structure.
- * \li Notion: Part -> Chapter -> Section -> etc.
- * \li Syntax: outline-in
- * \li Origin: Vermeer, 23 Mar 2006
- */
        LFUN_OUTLINE_IN,
-/**
- * LFUN_OUTLINE_OUT
- * \li Action: Moves the current group in the upward direction in the
-               hierarchy of the document structure.
- * \li Notion: Part <- Chapter <- Section <- etc.
- * \li Syntax: outline-out
- * \li Origin: Vermeer, 23 Mar 2006
- */
        LFUN_OUTLINE_OUT,
-/**
- * LFUN_PARAGRAPH_MOVE_DOWN
- * \li Action: Moves the current paragraph downwards in the document.
- * \li Syntax: paragraph-move-down
- * \li Origin: Edwin, 8 Apr 2006
- */
        LFUN_PARAGRAPH_MOVE_DOWN,
-/**
- * LFUN_PARAGRAPH_MOVE_UP
- * \li Action: Moves the current paragraph upwards in the document.
- * \li Syntax: paragraph-move-up
- * \li Origin: Edwin, 8 Apr 2006
- */
        LFUN_PARAGRAPH_MOVE_UP,
        // 270
        LFUN_BUFFER_TOGGLE_COMPRESSION,  // bpeng 20060427
@@ -621,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
@@ -637,47 +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 from disk, thus
-               recognizing any changes that have been made to layout files on the fly. 
-               This is intended to be used only by layout developers and should not be
-               used when one is trying to do actual work.
- * \li Syntax: layout-reload
- * \li Origin: rgh, 3 September 2007
- */
        LFUN_LAYOUT_RELOAD,
        // 290
        LFUN_MASTER_BUFFER_VIEW,         // Tommaso, 20070920
@@ -698,137 +398,22 @@ enum kb_action {
        LFUN_WORD_RIGHT,                 // dov, 20071028
        LFUN_WORD_RIGHT_SELECT,          // dov, 20071028
        // 305
-/**
- * LFUN_MATH_MACRO_FOLD
- * \li Action: Fold a Math Macro
- * \li Notion: Fold the Math Macro the cursor is in if it was 
-               unfolded, i.e. displayed as \foo before. 
- * \li Syntax: math-macro-fold
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_FOLD,
-/**
- * LFUN_MATH_MACRO_UNFOLD
- * \li Action: Unfold a Math Macro
- * \li Notion: Unfold the Math Macro the cursor is in, i.e. 
-               display it as \foo. 
- * \li Syntax: math-macro-unfold
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_UNFOLD,
-/**
- * LFUN_MATH_MACRO_ADD_PARAM
- * \li Action: Add a parameter
- * \li Notion: Add a parameter to a Math Macro
- * \li Params: <NUM>: The number of the parameter behind which the new one
-               will be added (1 for the first, i.e. use 0 for add a 
-               parameter at the left), defaults to the last one.
- * \li Syntax: math-macro-add-param <NUM>
- * \li Origin: sts, 06 January 2008
- */    
        LFUN_MATH_MACRO_ADD_PARAM,
-/**
- * LFUN_MATH_MACRO_REMOVE_PARAM
- * \li Action: Remove the last parameter
- * \li Notion: Remove the last parameter of a Math Macro and
-               remove its value in all instances of the macro 
-               in the buffer.
- * \li Params: <NUM>: The number of the parameter to be deleted (1 for 
-               the first), defaults to the last one.
- * \li Syntax: math-macro-remove-param <NUM>
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_REMOVE_PARAM,
-/**
- * LFUN_MATH_MACRO_APPEND_GREEDY_PARAM
- * \li Action: Append a greedy parameter
- * \li Notion: Append a greedy parameter to a Math Macro which
-               eats the following mathed cell in every instance of
-               the macro in the buffer.
- * \li Syntax: math-macro-append-greedy-param
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_APPEND_GREEDY_PARAM,
        // 310
-/**
- * LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM
- * \li Action: Remove a greedy parameter
- * \li Notion: Remove a greedy parameter of a Math Macro and spit
-               out the values of it in every instance of the macro 
-               in the buffer. If it is an optional parameter the [valud]
-               format is used.
- * \li Syntax: math-macro-remove-greedy-param
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM,
-/**
- * LFUN_MATH_MACRO_MAKE_OPTIONAL
- * \li Action: Make a parameter optional
- * \li Notion: Turn the first non-optional parameter of a Math Macro
-               into an optional parameter with a default value.
- * \li Syntax: math-macro-make-optional
- * \li Origin: sts, 06 January 2008
- */    
        LFUN_MATH_MACRO_MAKE_OPTIONAL,
-/**
- * LFUN_MATH_MACRO_MAKE_NONOPTIONAL
- * \li Action: Make a parameter non-optional
- * \li Notion: Turn the last optional parameter of a Math Macro
-               into a non-optional parameter. The default value is
-               remembered to be reused later if the user changes his mind.
- * \li Syntax: math-macro-make-nonoptional
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_MAKE_NONOPTIONAL,
-/**
- * LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM
- * \li Action: Add an optional parameter
- * \li Notion: Insert an optional parameter just behind the 
-               already existing optional parameters.
- * \li Syntax: math-macro-add-optional-param
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM,
-/**
- * LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM
- * \li Action: Remove the last optional parameter
- * \li Notion: Remove the last optional parameter of a Math Macro and
-               remove it in all the instances of the macro in the buffer.
- * \li Syntax: math-macro-remove-optional-param
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM,
-
        // 315
-/**
- * LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM
- * \li Action: Add a greedy optional parameter
- * \li Notion: Add a greedy optional parameter which eats the value
-               from the following cells in mathed which are in the [value]
-               format.
- * \li Syntax: math-macro-add-greedy-optional-param
- * \li Origin: sts, 06 January 2008
- */
        LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM,
-/**
- * LFUN_IN_MATHMACROTEMPLATE
- * \li Action: Only active in Math Macro definition
- * \li Notion: Dummy function which is only active in a Math Macro definition. 
-               It's used to toggle the Math Macro toolbar if the cursor moves
-               into a Math Macro definition.
- * \li Syntax: in-mathmacrotemplate
- * \li Origin: sts, 06 January 2008
- */
        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
 };