]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.cpp
Add LFUN_BRANCH_ACTIVATE and LFUN_BRANCH_DEACTIVATE, fixing bug 4341.
[lyx.git] / src / LyXAction.cpp
index 92f8173113d12721bc64a17975a4a727f1d44a4b..a4e7610f7b3eef4d6e1de4e6d05d36c5139a00b1 100644 (file)
@@ -20,7 +20,7 @@
 #include "support/debug.h"
 #include "support/lstrings.h"
 
-#include "support/assert.h"
+#include "support/lassert.h"
 
 using namespace std;
 using namespace lyx::support;
@@ -192,7 +192,6 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_ACCENT_OGONEK, "accent-ogonek", Noop, Edit },
-               { LFUN_ACCENT_SPECIAL_CARON, "accent-special-caron", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_ACCENT_TIE
  * \li Action: Adds a tie \htmlonly (a͡)\endhtmlonly
@@ -324,6 +323,15 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_LISTING_INSERT, "listing-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_QUOTE_INSERT
+ * \li Action: Inserts quotes according to the type and quote-language preference.
+ * \li Action: Currently  English, Swedish, German, Polish, French, Danish quotes
+               are distinguished.
+ * \li Syntax: quote-insert [<TYPE>]
+ * \li Params: TYPE: 'single' for single quotes, otherwise double quotes will be used.
+ * \endvar
+ */
                { LFUN_QUOTE_INSERT, "quote-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_INFO_INSERT
@@ -345,10 +353,19 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_BRANCH_INSERT
  * \li Action: Inserts branch inset.
  * \li Syntax: branch-insert <BRANCH-NAME>
- * \li Origin: vermeer, Aug 17 Aug 2003
+ * \li Origin: vermeer, 17 Aug 2003
  * \endvar
  */
                { LFUN_BRANCH_INSERT, "branch-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BOX_INSERT
+ * \li Action: Inserts Box inset.
+ * \li Syntax: box-insert [<TYPE>]
+ * \li Params: <TYPE>: Boxed|Frameless|Framed|ovalbox|Ovalbox|Shadowbox|Shaded|Doublebox \n
+                       Framed is the default one.
+ * \li Origin: vermeer, 7 Oct 2003
+ * \endvar
+ */
                { LFUN_BOX_INSERT, "box-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_FLEX_INSERT
@@ -369,6 +386,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_FLEX_INSERT, "flex-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SELF_INSERT
+ * \li Action: Inserts the given string (accordingly to the correct keymap).
+ * \li Notion: Automatically replace the currently selected. Depends on lyxrc
+               settings "auto_region_delete".
+ * \li Syntax: self-insert <STRING>
+ * \endvar
+ */
                { LFUN_SELF_INSERT, "self-insert", SingleParUpdate, Hidden },
 /*!
  * \var lyx::FuncCode lyx::LFUN_SPACE_INSERT
@@ -382,6 +407,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_SPACE_INSERT, "space-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_HYPERLINK_INSERT
+ * \li Action: Inserts hyperlinks into the document (clickable in pdf output).
+ * \li Notion: Hyperlink target can be set via selection + hyperlink-insert function.
+ * \li Syntax: href-insert [<TARGET>]
+ * \li Origin: CFO-G, 21 Nov 1997
+ * \endvar
+ */
                { LFUN_HYPERLINK_INSERT, "href-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_SPECIALCHAR_INSERT
@@ -393,7 +426,21 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_SPECIALCHAR_INSERT, "specialchar-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_TOC_INSERT
+ * \li Action: Inserts table of contents.
+ * \li Syntax: toc-insert
+ * \li Origin: Lgb, 27 May 97
+ * \endvar
+ */
                { LFUN_TOC_INSERT, "toc-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_APPENDIX
+ * \li Action: Start (or remove) Appendix on the given cursor position.
+ * \li Syntax: appendix
+ * \li Origin: ettrich, 5 May 1998
+ * \endvar
+ */
                { LFUN_APPENDIX, "appendix", Noop, Edit },
 
                { LFUN_INDEX_INSERT, "index-insert", Noop, Edit },
@@ -419,6 +466,14 @@ void LyXAction::init()
                { LFUN_LIST_INSERT, "list-insert", Noop, Edit },
 #endif
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_ESCAPE
+ * \li Action: Clears the selection. If no text is selected call #LFUN_FINISHED_FORWARD.
+ * \li Syntax: escape
+ * \li Origin: Lgb, 17 May 2001
+ * \endvar
+ */
+               { LFUN_ESCAPE, "escape", ReadOnly, Edit },
                { LFUN_DELETE_BACKWARD_SKIP, "delete-backward-skip", Noop, Edit },
                { LFUN_DELETE_FORWARD_SKIP, "delete-forward-skip", Noop, Edit },
                { LFUN_DOWN, "down", ReadOnly | NoUpdate, Edit },
@@ -538,7 +593,25 @@ void LyXAction::init()
  */
                { LFUN_CHAR_RIGHT_SELECT, "char-right-select", ReadOnly | SingleParUpdate, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_BACKWARD
+ * \li Action: Moves the cursor to the logically previous beginning of a word.
+ * \li Notion: This is not the action which should be bound to the arrow keys,
+               because backwards may be left or right, depending on the
+               language. The arrow keys should be bound to #LFUN_WORD_LEFT or
+               #LFUN_WORD_RIGHT actions, which in turn may employ this one.
+ * \li Syntax: word-backward
+ * \endvar
+ */
                { LFUN_WORD_BACKWARD, "word-backward", ReadOnly | NoUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_BACKWARD_SELECT
+ * \li Action: Moves the cursor to the logically previous beginning of a word,
+                          adding the logically traversed text to the selection.
+ * \li Notion: See also #LFUN_WORD_BACKWARD.
+ * \li Syntax: word-backward-select
+ * \endvar
+ */
                { LFUN_WORD_BACKWARD_SELECT, "word-backward-select", ReadOnly | SingleParUpdate, Edit },
                { LFUN_WORD_CAPITALIZE, "word-capitalize", Noop, Edit },
                { LFUN_WORD_DELETE_BACKWARD, "word-delete-backward", Noop, Edit },
@@ -573,12 +646,77 @@ void LyXAction::init()
  */
                { LFUN_WORD_FIND, "word-find", ReadOnly, Edit },
                { LFUN_WORD_REPLACE, "word-replace", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_FORWARD
+ * \li Action: Moves the cursor to the logically next beginning of a word.
+ * \li Notion: This is not the action which should be bound to the arrow keys,
+               because forward may be left or right, depending on the language.
+               The arrow keys should be bound to #LFUN_WORD_LEFT or
+               #LFUN_WORD_RIGHT actions, which in turn may employ this one.
+ * \li Syntax: word-forward
+ * \endvar
+ */
                { LFUN_WORD_FORWARD, "word-forward", ReadOnly | NoUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_FORWARD_SELECT
+ * \li Action: Moves the cursor to the logically next beginning of a word, 
+                          adding the logically traversed text to the selection.
+ * \li Notion: See also #LFUN_WORD_FORWARD.
+ * \li Syntax: word-forward-select
+ * \endvar
+ */
                { LFUN_WORD_FORWARD_SELECT, "word-forward-select", ReadOnly | SingleParUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_LEFT
+ * \li Action: Moves the cursor to the next beginning of a word "on the left".
+ * \li Notion: This is the action which should be taken when the (e.g., ctrl-)
+                          "left" key is pressed. Generally, it moves the cursor to the 
+                          next beginning of a word on the left. However, in Bidi text this 
+                          become slightly more complicated, and there are different modes
+                          of cursor movement. In "visual mode", this moves left, plain and
+                          simple. In "logical mode", movement is logically forward in RTL
+                          paragraphs, and logically backwards in LTR paragraphs.
+ * \li Syntax: word-left
+ * \li Origin: dov, 28 Oct 2007
+ * \endvar
+ */
                { LFUN_WORD_LEFT, "word-left", ReadOnly | NoUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_LEFT_SELECT
+ * \li Action: Moves the cursor to the next beginning of a word "on the left",
+                          adding *logically* traversed text to the selection.
+ * \li Notion: See also #LFUN_WORD_LEFT for exact details of the movement.
+ * \li Syntax: word-left-select
+ * \li Origin: dov, 28 Oct 2007
+ * \endvar
+ */
                { LFUN_WORD_LEFT_SELECT, "word-left-select", ReadOnly | SingleParUpdate, Edit },
                { LFUN_WORD_LOWCASE, "word-lowcase", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_RIGHT
+ * \li Action: Moves the cursor to the next beginning of a word "on the right".
+ * \li Notion: This is the action which should be taken when the (e.g., ctrl-)
+                          "right" key is pressed. Generally, it moves the cursor to the 
+                          next beginning of a word on the right. However, in Bidi text 
+                          this become slightly more complicated, and there are different
+                          modes of cursor movement. In "visual mode", this moves right,
+                          plain and simple. In "logical mode", movement is logically 
+                          forward in LTR paragraphs, and logically backwards in RTL 
+                          paragraphs.
+ * \li Syntax: word-right
+ * \li Origin: dov, 28 Oct 2007
+ * \endvar
+ */
                { LFUN_WORD_RIGHT, "word-right", ReadOnly | NoUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_WORD_RIGHT_SELECT
+ * \li Action: Moves the cursor to the next beginning of a word "on the right",
+                          adding *logically* traversed text to the selection.
+ * \li Notion: See also #LFUN_WORD_RIGHT for exact details of the movement.
+ * \li Syntax: word-right-select
+ * \li Origin: dov, 28 Oct 2007
+ * \endvar
+ */
                { LFUN_WORD_RIGHT_SELECT, "word-right-select", ReadOnly | SingleParUpdate, Edit },
                { LFUN_WORD_SELECT, "word-select", ReadOnly, Edit },
                { LFUN_WORD_UPCASE, "word-upcase", Noop, Edit },
@@ -651,27 +789,102 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_REPEAT, "repeat", NoBuffer, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHARS_TRANSPOSE
+ * \li Action: Transposes the character at the cursor with the one before it.
+ * \li Syntax: chars-transpose
+ * \li Author: Lgb, 25 Apr 2001
+ * \endvar
+ */
                { LFUN_CHARS_TRANSPOSE, "chars-transpose", Noop, Edit },
 
                { LFUN_DEPTH_DECREMENT, "depth-decrement", Noop, Edit },
                { LFUN_DEPTH_INCREMENT, "depth-increment", Noop, Edit },
                { LFUN_ENVIRONMENT_INSERT, "environment-insert", Noop, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_BOLD
+ * \li Action: Toggles the bold font (selection-wise).
+ * \li Syntax: font-bold
+ * \endvar
+ */
                { LFUN_FONT_BOLD, "font-bold", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_TYPEWRITER
+ * \li Action: Toggles the typewriter family font (selection-wise).
+ * \li Syntax: font-typewriter
+ * \endvar
+ */
                { LFUN_FONT_TYPEWRITER, "font-typewriter", Noop, Layout },
-               { LFUN_FONT_DEFAULT, "font-default", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_UNDERLINE
+ * \li Action: Toggles underline in the font (selection-wise).
+ * \li Syntax: font-underline
+ * \endvar
+ */
+               { LFUN_FONT_UNDERLINE, "font-underline", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_EMPH
+ * \li Action: Toggles the emphasis font style (selection-wise).
+ * \li Syntax: font-emph
+ * \endvar
+ */
                { LFUN_FONT_EMPH, "font-emph", Noop, Layout },
-               { LFUN_FONT_FREE_APPLY, "font-free-apply", Noop, Layout },
-               { LFUN_FONT_FREE_UPDATE, "font-free-update", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_NOUN
+ * \li Action: Toggles Noun text style font (selection-wise).
+ * \li Syntax: font-noun
+ * \endvar
+ */
                { LFUN_FONT_NOUN, "font-noun", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_ROMAN
+ * \li Action: Toggles Roman family font (selection-wise).
+ * \li Syntax: font-roman
+ * \endvar
+ */
                { LFUN_FONT_ROMAN, "font-roman", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_SANS
+ * \li Action: Toggles Sans Serif family font (selection-wise).
+ * \li Syntax: font-sans
+ * \endvar
+ */
                { LFUN_FONT_SANS, "font-sans", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_FRAK
+ * \li Action: Toggles Fraktur family font (math-mode, selection-wise).
+ * \li Syntax: font-frak
+ * \li Origin: vermeer, 10 Jan 2002
+ * \endvar
+ */
                { LFUN_FONT_FRAK, "font-frak", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_ITAL
+ * \li Action: Toggles Italics font shape (math-mode, selection-wise).
+ * \li Syntax: font-ital
+ * \li Origin: vermeer, 10 Jan 2002
+ * \endvar
+ */
                { LFUN_FONT_ITAL, "font-ital", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_DEFAULT
+ * \li Action: Reverts the settings of the font to the default values (selection-wise).
+ * \li Syntax: font-default
+ * \endvar
+ */
+               { LFUN_FONT_DEFAULT, "font-default", Noop, Layout },
+               { LFUN_FONT_FREE_APPLY, "font-free-apply", Noop, Layout },
+               { LFUN_FONT_FREE_UPDATE, "font-free-update", Noop, Layout },
+               { LFUN_SCREEN_FONT_UPDATE, "screen-font-update", NoBuffer, Layout },
                { LFUN_FONT_SIZE, "font-size", Noop, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_STATE
+ * \li Action: Returns the info about the current font.
+ * \li Syntax: font-state
+ * \endvar
+ */
                { LFUN_FONT_STATE, "font-state", ReadOnly, Layout },
-               { LFUN_FONT_UNDERLINE, "font-underline", Noop, Layout },
-               { LFUN_SCREEN_FONT_UPDATE, "screen-font-update", NoBuffer, Layout },
 
                { LFUN_BIBITEM_INSERT, "bibitem-insert", Noop, Edit },
                { LFUN_CITATION_INSERT, "citation-insert", Noop, Edit },
@@ -997,10 +1210,13 @@ void LyXAction::init()
                { LFUN_PARAGRAPH_DOWN_SELECT, "paragraph-down-select", ReadOnly, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_GOTO
- * \li Action: Jump to a paragraph given by its id number.
+ * \li Action: Jump to a paragraph given by its id number and optionally the
+               desired position within the paragraph.
  * \li Notion: Note that id number of paragraph is not the sequential number of paragraph
                seen on the screen. Moreover the id is unique for all opened buffers (documents).
- * \li Syntax: paragraph-goto <PAR_ID_NUMBER>
+ * \li Syntax: paragraph-goto <PAR_ID_NUMBER> <POSITION_IN_PAR>
+ * \li Params: <PAR_ID_NUMBER>:  paragraph id
+               <POSITION_IN_PAR>: desired position within the paragraph
  * \li Origin: Dekel, 26 Aug 2000
  * \endvar
  */
@@ -1092,9 +1308,17 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_OUTLINE_OUT, "outline-out", Noop, Edit },
-
-               { LFUN_EXTERNAL_EDIT, "external-edit", Noop, Edit },
-               { LFUN_GRAPHICS_EDIT, "graphics-edit", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_EDIT
+ * \li Action: Edit the inset at cursor with an external application,
+ *             if one is attributed.
+ * \li Syntax: inset-edit [<INSET_PARAMS>]
+ * \li Params: <INSET_PARAMS>: Parameters for the inset.
+                               Currently only the filename will be considered.
+ * \li Origin: JSpitzm, 27 Apr 2006
+ * \endvar
+ */
+               { LFUN_INSET_EDIT, "inset-edit", Noop, Edit },
 
                { LFUN_CELL_BACKWARD, "cell-backward", Noop, Edit },
                { LFUN_CELL_FORWARD, "cell-forward", Noop, Edit },
@@ -1231,6 +1455,27 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_GRAPHICS_GROUPS_UNIFY
+ * \li Action: Unify all graphics insets with the one given as an parameter.
+ * \li Notion: This is internally used for synchronize certain group of graphics insets.
+ * \li Syntax: graphics-groups-unigfy <GRAPHICS_PARAMS>
+ * \li Params: <GRAPHICS_PARAMS>: Parameters for graphics inset
+                                  (syntax can be seen in .lyx files).
+ * \li Origin: sanda, 6 May 2008
+ * \endvar
+ */
+               { LFUN_GRAPHICS_GROUPS_UNIFY, "graphics-groups-unify", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SET_GRAPHICS_GROUP
+ * \li Action: Set the group for the graphics inset on the cursor position.
+ * \li Syntax: set-graphics-group [<GROUP>]
+ * \li Params: <GROUP>: Id for an existing group. In case tthe Id is an empty string,
+                        the graphics inset is removed from the current group.
+ * \li Origin: sanda, 6 May 2008
+ * \endvar
+ */
+               { LFUN_SET_GRAPHICS_GROUP, "set-graphics-group", ReadOnly, Edit },
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_FINISHED_FORWARD
@@ -1279,6 +1524,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_LABEL_GOTO, "label-goto", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_LABEL_INSERT
+ * \li Action: Inserts label to text or displayed formula.
+ * \li Syntax: label-insert [<LABEL>]
+ * \li Params: <LABEL>: Requested label. If no label is given dialog requesting
+                        name will be opened.
+ * \endvar
+ */
                { LFUN_LABEL_INSERT, "label-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_REFERENCE_NEXT
@@ -1435,9 +1688,7 @@ void LyXAction::init()
                { LFUN_KEYMAP_SECONDARY, "keymap-secondary", ReadOnly, Edit },
                { LFUN_KEYMAP_TOGGLE, "keymap-toggle", ReadOnly, Edit },
 
-               { LFUN_MESSAGE, "message", NoBuffer, System },
                { LFUN_FLOAT_LIST, "float-list", Noop, Edit },
-               { LFUN_ESCAPE, "escape", ReadOnly, Edit },
 
                { LFUN_SERVER_CHAR_AFTER, "server-char-after", ReadOnly, System },
                { LFUN_SERVER_GET_LAYOUT, "server-get-layout", ReadOnly, System },
@@ -1837,7 +2088,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_COMMAND_SEQUENCE, "command-sequence", NoBuffer, System },
-
+/*!
+ * \var lyx::FuncCode lyx::LFUN_MESSAGE
+ * \li Action: Shows message in statusbar (for script purposes).
+ * \li Syntax: message <STRING>
+ * \li Origin: Lgb, 8 Apr 2001
+ * \endvar
+ */
+               { LFUN_MESSAGE, "message", NoBuffer, System },
 /*!
  * \var lyx::FuncCode lyx::LFUN_PREFERENCES_SAVE
  * \li Action: Save user preferences.
@@ -1918,6 +2176,24 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_COMPLETION_COMPLETE, "complete", SingleParUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCH_ACTIVATE
+ * \li Action: Activate the branch
+ * \li Syntax: branch-activate <BRANCH>
+ * \li Params: <BRANCH>: The branch to activate
+ * \li Origin: rgh, 27 May 2008
+ * \endvar
+ */
+               { LFUN_BRANCH_ACTIVATE, "branch-activate", Argument, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCH_ACTIVATE
+ * \li Action: De-activate the branch
+ * \li Syntax: branch-deactivate <BRANCH>
+ * \li Params: <BRANCH>: The branch to deactivate
+ * \li Origin: rgh, 27 May 2008
+ * \endvar
+ */
+               { LFUN_BRANCH_DEACTIVATE, "branch-deactivate", Argument, Buffer },
 
                { LFUN_NOACTION, "", Noop, Hidden }
 #ifndef DOXYGEN_SHOULD_SKIP_THIS