// These are globals.
LyXAction lyxaction;
+// Small helper function
+inline
+bool isPseudoAction(int a)
+{
+ return a > int(LFUN_LASTACTION);
+}
+
+
+
void LyXAction::newFunc(kb_action action, string const & name,
string const & helpText, unsigned int attrib)
{
N_("Choose Paragraph Environment"), ReadOnly },
{ LFUN_END_OF_SENTENCE, "end-of-sentence-period-insert",
N_("Insert end of sentence period"), Noop },
- { LFUN_GOTOERROR, "error-next", N_("Go to next error"), Noop },
+ { LFUN_GOTOERROR, "error-next",
+ N_("Go to next error"), ReadOnly },
{ LFUN_REMOVEERRORS, "error-remove-all",
N_("Remove all error boxes"), ReadOnly },
{ LFUN_INSET_ERT, "ert-insert",
{ LFUN_ROMAN, "font-roman", N_("Toggle roman font style"),
Noop },
{ LFUN_SANS, "font-sans", N_("Toggle sans font style"), Noop },
+ { LFUN_FRAK, "font-frak", N_("Toggle fraktur font style"), Noop },
+ { LFUN_ITAL, "font-ital", N_("Toggle italic font style"), Noop },
{ LFUN_FONT_SIZE, "font-size", N_("Set font size"), Noop },
{ LFUN_FONT_STATE, "font-state", N_("Show font state"),
ReadOnly },
{ LFUN_GREEK_TOGGLE, "math-greek-toggle", "", Noop },
{ LFUN_INSERT_MATH, "math-insert",
N_("Insert math symbol"), Noop },
+ { LFUN_SUBSCRIPT, "math-subscript", "", Noop },
+ { LFUN_SUPERSCRIPT, "math-superscript", "", Noop },
{ LFUN_MATH_LIMITS, "math-limits", "", Noop },
{ LFUN_MATH_MACRO, "math-macro", "", Noop },
{ LFUN_MATH_MUTATE, "math-mutate", "", Noop },
// Search for an existent pseudoaction, return LFUN_UNKNOWN_ACTION
// if it doesn't exist.
-kb_action LyXAction::searchActionArg(kb_action action, string const & arg) const
+int LyXAction::searchActionArg(kb_action action, string const & arg) const
{
arg_map::const_iterator pit = lyx_arg_map.find(action);
<< action << '|'
<< arg << "] = " << aci->second << endl;
- return kb_action(aci->second);
+ return aci->second;
}
{
arg.erase(); // clear it to be sure.
+ if (!isPseudoAction(pseudo))
+ return static_cast<kb_action>(pseudo);
+
pseudo_map::const_iterator pit = lyx_pseudo_map.find(pseudo);
if (pit != lyx_pseudo_map.end()) {
lyxerr[Debug::ACTION] << "Found the pseudoaction: ["
<< pit->second.action << '|'
- << pit->second.arg << '\n';
+ << pit->second.arg << "]\n";
arg = pit->second.arg;
return pit->second.action;
} else {
{
kb_action ac;
string arg;
- if (isPseudoAction(action)) {
- ac = retrieveActionArg(action, arg);
- arg.insert(0, " ");
- } else
- ac = static_cast<kb_action>(action);
+ ac = retrieveActionArg(action, arg);
+ if (!arg.empty())
+ arg.insert(0, " ");
+
info_map::const_iterator iit = lyx_info_map.find(ac);
if (iit != lyx_info_map.end()) {
string help, arg;
kb_action action;
- if (isPseudoAction(pseudoaction))
- action = retrieveActionArg(pseudoaction, arg);
- else
- action = static_cast<kb_action>(pseudoaction);
+ action = retrieveActionArg(pseudoaction, arg);
info_map::const_iterator ici = lyx_info_map.find(action);
if (ici != lyx_info_map.end()) {