#include "math_hullinset.h"
#include "math_mathmlstream.h"
#include "math_streamstr.h"
+#include "math_cursor.h"
#include "math_support.h"
#include "math_extern.h"
#include "math_charinset.h"
else
os << "\\]\n";
- else if (type_ == "eqnarray" || type_ == "align" || type_ == "flalign"
+ else if (type_ == "eqnarray" || type_ == "align" || type_ == "flalign"
|| type_ == "alignat" || type_ == "xalignat")
- os << "\n\\end{" << type_ << star(n) << "}\n";
+ os << "\\end{" << type_ << star(n) << "}\n";
else if (type_ == "xxalignat" || type_ == "multline" || type_ == "gather")
- os << "\n\\end{" << type_ << "}\n";
+ os << "\\end{" << type_ << "}\n";
else
os << "\\end{unknown" << star(n) << "}";
void MathHullInset::addCol(col_type col)
{
- if (colChangeOK())
+ if (colChangeOK())
MathGridInset::addCol(col);
else
lyxerr << "Can't change number of columns in '" << type_ << "'\n";
void MathHullInset::delCol(col_type col)
{
- if (colChangeOK())
+ if (colChangeOK())
MathGridInset::delCol(col);
else
lyxerr << "Can't change number of columns in '" << type_ << "'\n";
}
else if (type_ == "multline") {
- if (newtype == "gather" || newtype == "align" ||
+ if (newtype == "gather" || newtype == "align" ||
newtype == "xalignat" || newtype == "xxalignat" || newtype == "flalign")
setType(newtype);
else if (newtype == "eqnarray") {
{
string res;
if (numberedType()) {
- if (!label_[row].empty())
+ if (!label_[row].empty() && !nonum_[row])
res += "\\label{" + label_[row] + "}";
if (nonum_[row])
res += "\\nonumber ";
if (getType() == "simple") {
size_type pos = cell(idx).find_last(eq);
MathArray ar;
- if (pos == cell(idx).size()) {
+ if (mathcursor && mathcursor->selection()) {
+ ar = asArray(mathcursor->grabAndEraseSelection());
+ } else if (pos == cell(idx).size()) {
ar = cell(idx);
lyxerr << "use whole cell: " << ar << "\n";
} else {
idx = r * ncols() + c;
if (idx >= nargs())
idx = nargs() - 1;
- if (pos > cell(idx).size())
+ if (pos > cell(idx).size())
pos = cell(idx).size();
return DISPATCHED_POP;
}