X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXAction.cpp;h=6b6a982aa66c06f2282e107d980669139c14970e;hb=2098f1d8c20d51e63e670bcdc9da8996068975bf;hp=e7e978ffe630771041ca3fa62ec131ac01dc2f47;hpb=a4231446d2b89d56ecb33a788389659bdb5891a4;p=lyx.git diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index e7e978ffe6..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[] = { @@ -3233,8 +3234,8 @@ void LyXAction::init() * \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. + events. See lyx -dbg for the current list of debug levels + and their numbers. * \li Origin: sanda, 28 Dec 2009 * \endvar */ @@ -3445,13 +3446,33 @@ void LyXAction::init() { LFUN_SECTION_SELECT, "section-select", ReadOnly, Edit }, +/*! + * \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_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; } @@ -3463,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."); @@ -3509,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(); }