X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXAction.cpp;h=6b6a982aa66c06f2282e107d980669139c14970e;hb=2098f1d8c20d51e63e670bcdc9da8996068975bf;hp=de1cb4c320fd5b15d485b2caf6510bb8dac0f78e;hpb=6e8312d1a46fc79af62f01fde116f7b12974c210;p=lyx.git diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index de1cb4c320..6b6a982aa6 100644 --- a/src/LyXAction.cpp +++ b/src/LyXAction.cpp @@ -74,7 +74,7 @@ LyXAction lyxaction; void LyXAction::newFunc(FuncCode action, string const & name, - unsigned int attrib, LyXAction::func_type type) + unsigned int attrib, LyXAction::FuncType type) { lyx_func_map[name] = action; FuncInfo tmpinfo; @@ -97,13 +97,14 @@ void LyXAction::init() // magnitudes faster. static bool init; - if (init) return; + if (init) + return; struct ev_item { FuncCode action; char const * name; unsigned int attrib; - func_type type; + FuncType type; }; ev_item const items[] = { @@ -2373,6 +2374,14 @@ void LyXAction::init() * \endvar */ { LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", ReadOnly, Edit }, +/*! + * \var lyx::FuncCode lyx::LFUN_GRAPHICS_RELOAD + * \li Action: Reloads the image if necessary. + * \li Syntax: graphics-reload + * \li Origin: vfr, 10 Aug 2009 + * \endvar + */ + { LFUN_GRAPHICS_RELOAD, "graphics-reload", ReadOnly | AtPoint, Edit }, /*! * \var lyx::FuncCode lyx::LFUN_SET_GRAPHICS_GROUP * \li Action: Set the group for the graphics inset on the cursor position. @@ -2517,7 +2526,7 @@ void LyXAction::init() /*! * \var lyx::FuncCode lyx::LFUN_TOOLBAR_TOGGLE * \li Action: Toggles visibility of a given toolbar between on/off/auto. - * \li Notion: Skiping "auto" when allowauto is false. + * \li Notion: Skipping "auto" when allowauto is false. * \li Syntax: toolbar-toggle [allowauto] * \li Params: : standard|extra|table|math|mathmacrotemplate| minibuffer|review|view/update|math_panels|vcs @@ -2959,9 +2968,8 @@ void LyXAction::init() /*! * \var lyx::FuncCode lyx::LFUN_BUFFER_TOGGLE_READ_ONLY * \li Action: Toggle editing mode of the current document between read/write and read-only. - * \li Notion: In the ->Readonly mode checks-in/commits the data if the file is under version control. - In the Readonly-> mode checkouts the data from repository. \n - If these operations fail, buffer won't be toggled. + * \li Notion: This function is not allowed if the file is under version control, since + read-only flag is often used in version control file locking. * \li Syntax: buffer-toggle-read-only * \li Origin: Lgb, 27 May 1997 * \endvar @@ -3173,12 +3181,14 @@ void LyXAction::init() /*! * \var lyx::FuncCode lyx::LFUN_COMMAND_EXECUTE - * \li Action: Opens the minibuffer toolbar so that the user can type in there. + * \li Action: Switches the focus to the minibuffer so that the user can type + in there. If necessary, it opens the minibuffer toolbar. * \li Notion: Usually bound to M-x shortcut. * \li Syntax: command-execute * \endvar */ { LFUN_COMMAND_EXECUTE, "command-execute", NoBuffer, Edit }, + /*! * \var lyx::FuncCode lyx::LFUN_COMMAND_PREFIX * \li Action: Return the current key sequence and available options as a string. @@ -3218,6 +3228,19 @@ void LyXAction::init() * \endvar */ { LFUN_MESSAGE, "message", NoBuffer, System }, +/*! + * \var lyx::FuncCode lyx::LFUN_DEBUG_LEVEL_SET + * \li Action: Set debug output level. + * \li Syntax: debug-level-set + * \li Params: : comma separated list of levels or the correspondent number + of their combination. 0 is equivalent to disabling all debug + events. See lyx -dbg for the current list of debug levels + and their numbers. + * \li Origin: sanda, 28 Dec 2009 + * \endvar + */ + { LFUN_DEBUG_LEVEL_SET, "debug-level-set", NoBuffer, System }, + /*! * \var lyx::FuncCode lyx::LFUN_PREFERENCES_SAVE * \li Action: Save user preferences. @@ -3422,23 +3445,34 @@ void LyXAction::init() */ { LFUN_SECTION_SELECT, "section-select", ReadOnly, Edit }, + /*! - * \var lyx::FuncCode lyx::LFUN_GRAPHICS_RELOAD - * \li Action: Reloads the image if necessary. - * \li Syntax: graphics-reload - * \li Origin: vfr, 10 Aug 2009 + * \var lyx::FuncCode lyx::LFUN_INSET_FORALL + + * \li Action: Apply the given commands on insets of a given name. 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 + : Type of Inset. If is *, all insets are matched. + * \li Sample: The name is used like for InsetLayout in layout files: "Note" + matches all note insets, while "Note:Note" only matches LyX + yellow note insets. The following command closes all note insets \n + inset-forall Note inset-toggle close + * \li Origin: lasgouttes, 27 Nov 2009 * \endvar */ - { LFUN_GRAPHICS_RELOAD, "graphics-reload", ReadOnly | AtPoint, Edit }, + { LFUN_INSET_FORALL, "inset-forall", 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; } @@ -3450,42 +3484,42 @@ LyXAction::LyXAction() } -// Returns an action tag from a string. 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, ' '); - func_map::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); } string const LyXAction::getActionName(FuncCode action) const { - info_map::const_iterator const it = lyx_info_map.find(action); + InfoMap::const_iterator const it = lyx_info_map.find(action); return it != lyx_info_map.end() ? it->second.name : string(); } -LyXAction::func_type LyXAction::getActionType(FuncCode action) const +LyXAction::FuncType LyXAction::getActionType(FuncCode action) const { - info_map::const_iterator const it = lyx_info_map.find(action); + InfoMap::const_iterator const it = lyx_info_map.find(action); return it != lyx_info_map.end() ? it->second.type : Hidden; } bool LyXAction::funcHasFlag(FuncCode action, - LyXAction::func_attrib flag) const + LyXAction::FuncAttribs flag) const { - info_map::const_iterator ici = lyx_info_map.find(action); + InfoMap::const_iterator ici = lyx_info_map.find(action); if (ici == lyx_info_map.end()) { LYXERR0("action: " << action << " is not known."); @@ -3496,13 +3530,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(); }