void MathNestInset::getCursorPos(CursorSlice const & cur,
int & x, int & y) const
{
- BOOST_ASSERT(ptr_cmp(&cur.inset(), this));
+ BOOST_ASSERT(ptr_cmp(cur.inset(), this));
MathArray const & ar = cur.cell();
x = ar.xo() + ar.pos2x(cur.pos());
y = ar.yo();
bool MathNestInset::idxNext(LCursor & cur) const
{
- BOOST_ASSERT(ptr_cmp(&cur.inset(), this));
+ BOOST_ASSERT(ptr_cmp(cur.inset(), this));
if (cur.idx() == cur.lastidx())
return false;
++cur.idx();
bool MathNestInset::idxPrev(LCursor & cur) const
{
- BOOST_ASSERT(ptr_cmp(&cur.inset(), this));
+ BOOST_ASSERT(ptr_cmp(cur.inset(), this));
if (cur.idx() == 0)
return false;
--cur.idx();
bool MathNestInset::idxFirst(LCursor & cur) const
{
- BOOST_ASSERT(ptr_cmp(&cur.inset(), this));
+ BOOST_ASSERT(ptr_cmp(cur.inset(), this));
if (nargs() == 0)
return false;
cur.idx() = 0;
bool MathNestInset::idxLast(LCursor & cur) const
{
- BOOST_ASSERT(ptr_cmp(&cur.inset(), this));
+ BOOST_ASSERT(ptr_cmp(cur.inset(), this));
if (nargs() == 0)
return false;
cur.idx() = cur.lastidx();
LCursor & cur = pi.base.bv->cursor();
if (!cur.selection())
return;
- if (!ptr_cmp(&cur.inset(), this))
+ if (!ptr_cmp(cur.inset(), this))
return;
CursorSlice & s1 = cur.selBegin();
CursorSlice & s2 = cur.selEnd();
// changes...
recordUndo(cur, Undo::ATOMIC);
- if (cur.inset().asMathInset()->name() == font)
+ if (cur.inset()->asMathInset()->name() == font)
cur.handleFont(font);
else {
cur.handleNest(createMathInset(font));
if (cur.inMacroMode())
cur.macroModeClose();
else if (cur.pos() != cur.lastpos() && cur.openable(cur.nextAtom())) {
- cur.pushLeft(*cur.nextAtom().nucleus());
- cur.inset().idxFirst(cur);
+ cur.pushLeft(cur.nextAtom().nucleus());
+ cur.inset()->idxFirst(cur);
} else if (cur.posRight() || idxRight(cur)
|| cur.popRight() || cur.selection())
;
cur.macroModeClose();
else if (cur.pos() != 0 && cur.openable(cur.prevAtom())) {
cur.posLeft();
- cur.push(*cur.nextAtom().nucleus());
- cur.inset().idxLast(cur);
+ cur.push(cur.nextAtom().nucleus());
+ cur.inset()->idxLast(cur);
} else if (cur.posLeft() || idxLeft(cur)
|| cur.popLeft() || cur.selection())
;
break;
case LFUN_CELL_FORWARD:
- cur.inset().idxNext(cur);
+ cur.inset()->idxNext(cur);
break;
case LFUN_CELL_BACKWARD:
- cur.inset().idxPrev(cur);
+ cur.inset()->idxPrev(cur);
break;
case LFUN_DELETE_WORD_BACKWARD:
cur.selClearOrDel();
cur.plainInsert(MathAtom(new MathMBoxInset(cur.bv())));
cur.posLeft();
- cur.pushLeft(*cur.nextInset());
+ cur.pushLeft(cur.nextInset());
#else
if (currentMode() == InsetBase::TEXT_MODE)
cur.niceInsert(MathAtom(new MathHullInset("simple")));
void MathNestInset::edit(LCursor & cur, bool left)
{
- cur.push(*this);
+ cur.push(this);
cur.idx() = left ? 0 : cur.lastidx();
cur.pos() = left ? 0 : cur.lastpos();
cur.resetAnchor();
}
}
MathArray & ar = cell(idx_min);
- cur.push(*this);
+ cur.push(this);
cur.idx() = idx_min;
cur.pos() = ar.x2pos(x - ar.xo());
lyxerr << "found cell : " << idx_min << " pos: " << cur.pos() << endl;
} else if (cur.pos() != 0 && cur.prevAtom()->asScriptInset()) {
--cur.pos();
cur.nextAtom().nucleus()->asScriptInset()->ensure(up);
- cur.push(*cur.nextInset());
+ cur.push(cur.nextInset());
cur.idx() = up;
cur.pos() = cur.lastpos();
} else if (cur.pos() != 0) {
--cur.pos();
cur.cell()[cur.pos()] = MathAtom(new MathScriptInset(cur.nextAtom(), up));
- cur.push(*cur.nextInset());
+ cur.push(cur.nextInset());
cur.idx() = up;
cur.pos() = 0;
} else {
cur.plainInsert(MathAtom(new MathScriptInset(up)));
--cur.pos();
cur.nextAtom().nucleus()->asScriptInset()->ensure(up);
- cur.push(*cur.nextInset());
+ cur.push(cur.nextInset());
cur.idx() = up;
cur.pos() = 0;
}