using cap::replaceSelection;
using cap::selClearOrDel;
-char const * text_commands[] =
-{ "text", "textrm", "textsf", "texttt", "textmd", "textbf", "textup", "textit",
- "textsl", "textsc" };
-int const num_text_commands = sizeof(text_commands) / sizeof(*text_commands);
-
InsetMathNest::InsetMathNest(idx_type nargs)
: cells_(nargs), lock_(false), mouse_hover_(false)
void InsetMathNest::write(WriteStream & os) const
{
- bool oldmode = os.textMode();
- docstring const latex_name = name().c_str();
- for (int i = 0; i < num_text_commands; ++i) {
- if (latex_name == from_ascii(text_commands[i])) {
- os.textMode(true);
- break;
- }
- }
+ ModeSpecifier specifier(os, currentMode());
+ docstring const latex_name = name();
os << '\\' << latex_name;
for (size_t i = 0; i < nargs(); ++i)
os << '{' << cell(i) << '}';
os << "\\lyxlock";
os.pendingSpace(true);
}
- os.textMode(oldmode);
}
void InsetMathNest::normalize(NormalStream & os) const
{
- os << '[' << name().c_str();
+ os << '[' << name();
for (size_t i = 0; i < nargs(); ++i)
os << ' ' << cell(i);
os << ']';
int InsetMathNest::latex(odocstream & os, OutputParams const & runparams) const
{
- WriteStream wi(os, runparams.moving_arg, true, runparams.dryrun);
+ WriteStream wi(os, runparams.moving_arg, true, runparams.dryrun,
+ runparams.encoding);
write(wi);
return wi.line();
}
// ignore math-mode on when already in math mode
if (currentMode() == Inset::MATH_MODE && cmd.argument() == "on")
break;
+ cur.recordUndoSelection();
cur.macroModeClose();
docstring const save_selection = grabAndEraseSelection(cur);
selClearOrDel(cur);
cur.niceInsert(save_selection);
#else
if (currentMode() == Inset::TEXT_MODE) {
+ cur.recordUndoSelection();
cur.niceInsert(MathAtom(new InsetMathHull("simple")));
cur.message(_("create new math text environment ($...$)"));
} else {
// fill in global macros
macros.clear();
MacroTable::globalMacros().getMacroNames(macros);
- lyxerr << "Globals completion macros: ";
+ //lyxerr << "Globals completion macros: ";
for (it = macros.begin(); it != macros.end(); ++it) {
- lyxerr << "\\" + *it << " ";
+ //lyxerr << "\\" + *it << " ";
globals.push_back("\\" + *it);
}
- lyxerr << std::endl;
+ //lyxerr << std::endl;
// fill in global commands
globals.push_back(from_ascii("\\boxed"));
globals.push_back(from_ascii("\\alignedat"));
globals.push_back(from_ascii("\\cases"));
globals.push_back(from_ascii("\\substack"));
+ globals.push_back(from_ascii("\\xymatrix"));
globals.push_back(from_ascii("\\subarray"));
globals.push_back(from_ascii("\\array"));
globals.push_back(from_ascii("\\sqrt"));
globals.push_back(from_ascii("\\vphantom"));
MathWordList const & words = mathedWordList();
MathWordList::const_iterator it2;
- lyxerr << "Globals completion commands: ";
+ //lyxerr << "Globals completion commands: ";
for (it2 = words.begin(); it2 != words.end(); ++it2) {
globals.push_back("\\" + (*it2).first);
- lyxerr << "\\" + (*it2).first << " ";
+ //lyxerr << "\\" + (*it2).first << " ";
}
- lyxerr << std::endl;
+ //lyxerr << std::endl;
sort(globals.begin(), globals.end());
}