vector<string> const InsetFormula::getLabelList() const
{
- return mat()->getLabelList();
+ return hull()->getLabelList();
}
//lyxerr << "toggling all numbers\n";
if (display()) {
bv->lockedInsetStoreUndo(Undo::INSERT);
- bool old = mat()->numberedType();
+ bool old = hull()->numberedType();
for (MathInset::row_type row = 0; row < par_->nrows(); ++row)
- mat()->numbered(row, !old);
+ hull()->numbered(row, !old);
bv->owner()->message(old ? _("No number") : _("Number"));
updateLocal(bv, true);
}
//lyxerr << "toggling line number\n";
if (display()) {
bv->lockedInsetStoreUndo(Undo::INSERT);
- MathCursor::row_type row = mathcursor->row();
- bool old = mat()->numbered(row);
+ MathCursor::row_type row = mathcursor->hullRow();
+ bool old = hull()->numbered(row);
bv->owner()->message(old ? _("No number") : _("Number"));
- mat()->numbered(row, !old);
+ hull()->numbered(row, !old);
updateLocal(bv, true);
}
break;
{
bv->lockedInsetStoreUndo(Undo::INSERT);
- MathCursor::row_type row = mathcursor->row();
- string old_label = mat()->label(row);
+ MathCursor::row_type row = mathcursor->hullRow();
+ string old_label = hull()->label(row);
string new_label = arg;
if (new_label.empty()) {
pair<bool, string> const res = old_label.empty()
? Alert::askForText(_("Enter new label to insert:"), default_label)
: Alert::askForText(_("Enter label:"), old_label);
-
- lyxerr << "res: " << res.first << " - '" << res.second << "'\n";
if (!res.first)
break;
new_label = frontStrip(strip(res.second));
if (!new_label.empty()) {
lyxerr << "setting label to '" << new_label << "'\n";
- mat()->numbered(row, true);
+ hull()->numbered(row, true);
}
if (!new_label.empty() && bv->ChangeRefsIfUnique(old_label, new_label))
bv->redraw();
- mat()->label(row, new_label);
+ hull()->label(row, new_label);
updateLocal(bv, true);
break;
int x;
int y;
mathcursor->getPos(x, y);
- mat()->mutate(arg);
+ hull()->mutate(arg);
mathcursor->setPos(x, y);
mathcursor->normalize();
updateLocal(bv, true);
int x = 0;
int y = 0;
mathcursor->getPos(x, y);
- if (mat()->getType() == LM_OT_SIMPLE)
- mat()->mutate(LM_OT_EQUATION);
+ if (hull()->getType() == LM_OT_SIMPLE)
+ hull()->mutate(LM_OT_EQUATION);
else
- mat()->mutate(LM_OT_SIMPLE);
+ hull()->mutate(LM_OT_SIMPLE);
mathcursor->setPos(x, y);
mathcursor->normalize();
updateLocal(bv, true);
break;
}
- case LFUN_MATH_COLUMN_INSERT:
- {
- if (mat()->getType() == LM_OT_ALIGN)
- mat()->mutate(LM_OT_ALIGNAT);
- mat()->addCol(mat()->ncols());
- mathcursor->normalize();
- updateLocal(bv, true);
- break;
- }
-
default:
result = InsetFormulaBase::localDispatch(bv, action, arg);
}
MathArray ar;
if (needEqnArray(extra)) {
mathcursor->last();
- mathcursor->readLine(ar);
+ //mathcursor->readLine(ar);
mathcursor->breakLine();
} else if (selected) {
mathcursor->selGet(ar);
bool InsetFormula::display() const
{
- return mat()->getType() != LM_OT_SIMPLE;
+ return hull()->getType() != LM_OT_SIMPLE;
}
-MathHullInset const * InsetFormula::mat() const
+MathHullInset const * InsetFormula::hull() const
{
lyx::Assert(par_->asHullInset());
return par_->asHullInset();
}
-MathHullInset * InsetFormula::mat()
+MathHullInset * InsetFormula::hull()
{
lyx::Assert(par_->asHullInset());
return par_->asHullInset();
MathInsetTypes InsetFormula::getType() const
{
- return mat()->getType();
+ return hull()->getType();
}
return;
}
- if (par()->nrows() > 1)
- par()->delRow(row());
+ if (par()->nrows() > 1) {
+ // grid are the only things with more than one row...
+ lyx::Assert(par()->asGridInset());
+ par()->asGridInset()->delRow(hullRow());
+ }
if (idx() > par()->nargs())
idx() = par()->nargs();
}
-MathCursor::col_type MathCursor::col() const
+MathCursor::col_type MathCursor::hullCol() const
{
- return par()->col(idx());
+ return Cursor_[0].par_->nucleus()->asGridInset()->col(Cursor_[0].idx_);
}
-MathCursor::row_type MathCursor::row() const
+MathCursor::row_type MathCursor::hullRow() const
{
- return par()->row(idx());
+ return Cursor_[0].par_->nucleus()->asGridInset()->row(Cursor_[0].idx_);
}
idx() = 0;
pos() = size();
} else {
- p->addRow(row());
+ p->addRow(hullRow());
// split line
- const row_type r = row();
- for (col_type c = col() + 1; c < p->ncols(); ++c)
+ const row_type r = hullRow();
+ for (col_type c = hullCol() + 1; c < p->ncols(); ++c)
p->cell(p->index(r, c)).swap(p->cell(p->index(r + 1, c)));
// split cell
}
-void MathCursor::readLine(MathArray & ar) const
-{
- idx_type base = row() * par()->ncols();
- for (idx_type off = 0; off < par()->ncols(); ++off)
- ar.push_back(par()->cell(base + off));
-}
+//void MathCursor::readLine(MathArray & ar) const
+//{
+// idx_type base = row() * par()->ncols();
+// for (idx_type off = 0; off < par()->ncols(); ++off)
+// ar.push_back(par()->cell(base + off));
+//}
char MathCursor::valign() const