]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.cpp
Part of r32942. We want to avoid reload flickering when
[lyx.git] / src / LyXAction.cpp
index ebaeec6dedfce2789e002b2bc2ea7c48fb788097..ce771f8ca13bf0f4ff18b4ebacb37e63a0ef4657 100644 (file)
@@ -97,7 +97,8 @@ void LyXAction::init()
        // magnitudes faster.
 
        static bool init;
-       if (init) return;
+       if (init) 
+               return;
 
        struct ev_item {
                FuncCode action;
@@ -1082,6 +1083,17 @@ void LyXAction::init()
  */
                { LFUN_INSET_SELECT_ALL, "inset-select-all", ReadOnly, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SECTION_SELECT
+ * \li Action: Selects the whole section.
+ * \li Notion: The cursor should be in a section heading
+               before calling this lfun.
+ * \li Syntax: section-select
+ * \li Origin: vfr, 05 May 2009
+ * \endvar
+ */
+               { LFUN_SECTION_SELECT, "section-select", ReadOnly, Edit },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_LINE_BEGIN
  * \li Action: Move the cursor to the begining of the (screen) line.
@@ -2373,6 +2385,31 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_FORALL
+ * \li Action: Apply the given commands on insets of a given name.
+ * \li Notion: WARNING: use at your own risks; this function gives
+               you too many ways of shooting yourself in the foot.
+               A typical example is
+                   inset-forall Note note-insert
+               which starts an infinite loop. This is mitigated by the fact
+               that the number of actions is arbitrarily limited to 10000.
+ * \li Syntax: inset-forall <NAME> <LFUN-COMMAND> \n
+               <NAME>: Type of Inset. If <NAME> is *, all insets are matched.
+               The name is used like for InsetLayout in layout files: "Note"
+               matches all note insets, while "Note:Note" only matches LyX
+               yellow note insets.
+ * \li Sample: Remove all index insets: \n
+                  inset-forall Index delete-char-forward \n
+               Close all Notes (also works for a particular branch, for example): \n
+                  inset-forall Note inset-toggle close \n
+               Try to put LyX in an infinite loop if there is at least a Note: \n
+                  inset-forall Note char-backward
+ * \li Origin: lasgouttes, 27 Nov 2009
+ * \endvar
+ */
+               { LFUN_INSET_FORALL, "inset-forall", ReadOnly, Edit },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_GRAPHICS_RELOAD
  * \li Action: Reloads the image if necessary.
@@ -3433,25 +3470,14 @@ void LyXAction::init()
  */
                { LFUN_BUFFER_ZOOM_OUT, "buffer-zoom-out", ReadOnly, Buffer },
 
-/*!
- * \var lyx::FuncCode lyx::LFUN_SECTION_SELECT
- * \li Action: Selects the whole section.
- * \li Notion: The cursor should be in a section heading 
-               before calling this lfun.
- * \li Syntax: section-select
- * \li Origin: vfr, 05 May 2009
- * \endvar
- */
-               { LFUN_SECTION_SELECT, "section-select", ReadOnly, Edit },
 
 
                { LFUN_NOACTION, "", Noop, Hidden }
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
        };
 
-       for (int i = 0; items[i].action != LFUN_NOACTION; ++i) {
+       for (int i = 0; items[i].action != LFUN_NOACTION; ++i)
                newFunc(items[i].action, items[i].name, items[i].attrib, items[i].type);
-       }
 
        init = true;
 }
@@ -3467,16 +3493,17 @@ FuncRequest LyXAction::lookupFunc(string const & func) const
 {
        string const func2 = trim(func);
 
-       if (func2.empty()) {
+       if (func2.empty())
                return FuncRequest(LFUN_NOACTION);
-       }
 
        string cmd;
        string const arg = split(func2, cmd, ' ');
 
-       FuncMap::const_iterator fit = lyx_func_map.find(cmd);
+       FuncMap::const_iterator const fit = lyx_func_map.find(cmd);
 
-       return fit != lyx_func_map.end() ? FuncRequest(fit->second, arg) : FuncRequest(LFUN_UNKNOWN_ACTION);
+       return fit != lyx_func_map.end() 
+                       ? FuncRequest(fit->second, arg) 
+                       : FuncRequest(LFUN_UNKNOWN_ACTION);
 }
 
 
@@ -3508,13 +3535,13 @@ bool LyXAction::funcHasFlag(FuncCode action,
 }
 
 
-LyXAction::const_func_iterator LyXAction::func_begin() const
+LyXAction::const_iterator LyXAction::func_begin() const
 {
        return lyx_func_map.begin();
 }
 
 
-LyXAction::const_func_iterator LyXAction::func_end() const
+LyXAction::const_iterator LyXAction::func_end() const
 {
        return lyx_func_map.end();
 }