mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-30 05:12:40 +00:00
cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2446 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
b155aa1ed5
commit
77d227e06f
@ -830,8 +830,8 @@ InsetFormulaBase::localDispatch(BufferView * bv, kb_action action,
|
||||
mathcursor->insert(c, LM_TC_TEXTRM);
|
||||
else if (was_macro)
|
||||
mathcursor->macroModeClose();
|
||||
else if (mathcursor->pop())
|
||||
mathcursor->plainRight();
|
||||
else if (mathcursor->popRight())
|
||||
;
|
||||
else {
|
||||
// this would not work if the inset is in an table!
|
||||
//bv->text->cursorRight(bv, true);
|
||||
|
@ -139,19 +139,26 @@ MathCursor::~MathCursor()
|
||||
delete imacro_;
|
||||
}
|
||||
|
||||
void MathCursor::push(MathInset * par, bool first)
|
||||
void MathCursor::pushLeft(MathInset * par)
|
||||
{
|
||||
MathCursorPos p;
|
||||
p.par_ = par;
|
||||
if (first)
|
||||
par->idxFirst(p.idx_, p.pos_);
|
||||
else
|
||||
Cursor_.push_back(p);
|
||||
}
|
||||
|
||||
|
||||
void MathCursor::pushRight(MathInset * par)
|
||||
{
|
||||
plainLeft();
|
||||
MathCursorPos p;
|
||||
p.par_ = par;
|
||||
par->idxLast(p.idx_, p.pos_);
|
||||
Cursor_.push_back(p);
|
||||
}
|
||||
|
||||
|
||||
bool MathCursor::pop()
|
||||
bool MathCursor::popLeft()
|
||||
{
|
||||
if (Cursor_.size() <= 1)
|
||||
return false;
|
||||
@ -159,6 +166,15 @@ bool MathCursor::pop()
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MathCursor::popRight()
|
||||
{
|
||||
if (Cursor_.size() <= 1)
|
||||
return false;
|
||||
Cursor_.pop_back();
|
||||
plainRight();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
MathInset * MathCursor::parInset(int i) const
|
||||
{
|
||||
@ -258,8 +274,7 @@ bool MathCursor::left(bool sel)
|
||||
|
||||
MathInset * p = prevInset();
|
||||
if (openable(p, sel, false)) {
|
||||
plainLeft();
|
||||
push(p, false);
|
||||
pushRight(p);
|
||||
return true;
|
||||
}
|
||||
if (pos()) {
|
||||
@ -268,7 +283,7 @@ bool MathCursor::left(bool sel)
|
||||
}
|
||||
if (par()->idxLeft(idx(), pos()))
|
||||
return true;
|
||||
if (pop())
|
||||
if (popLeft())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -286,20 +301,17 @@ bool MathCursor::right(bool sel)
|
||||
|
||||
MathInset * p = nextInset();
|
||||
if (openable(p, sel, false)) {
|
||||
push(p, true);
|
||||
pushLeft(p);
|
||||
return true;
|
||||
}
|
||||
if (pos() != array().size()) {
|
||||
plainRight();
|
||||
return true;
|
||||
}
|
||||
if (par()->idxRight(idx(), pos())) {
|
||||
if (par()->idxRight(idx(), pos()))
|
||||
return true;
|
||||
}
|
||||
if (pop()) {
|
||||
plainRight();
|
||||
if (popRight())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -307,14 +319,14 @@ bool MathCursor::right(bool sel)
|
||||
void MathCursor::first()
|
||||
{
|
||||
Cursor_.clear();
|
||||
push(outerPar(), true);
|
||||
pushLeft(outerPar());
|
||||
}
|
||||
|
||||
|
||||
void MathCursor::last()
|
||||
{
|
||||
Cursor_.clear();
|
||||
push(outerPar(), false);
|
||||
first();
|
||||
end();
|
||||
}
|
||||
|
||||
|
||||
@ -354,11 +366,10 @@ void MathCursor::setPos(int x, int y)
|
||||
MathInset * n = nextInset();
|
||||
MathInset * p = prevInset();
|
||||
if (openable(n, selection_, true) && n->covers(x, y))
|
||||
push(n, true);
|
||||
else if (openable(p, selection_, true) && p->covers(x, y)) {
|
||||
plainLeft();
|
||||
push(p, false);
|
||||
} else
|
||||
pushLeft(n);
|
||||
else if (openable(p, selection_, true) && p->covers(x, y))
|
||||
pushRight(p);
|
||||
else
|
||||
break;
|
||||
}
|
||||
dump("setPos 2");
|
||||
@ -371,7 +382,7 @@ void MathCursor::home()
|
||||
macroModeClose();
|
||||
clearLastCode();
|
||||
if (!par()->idxHome(idx(), pos()))
|
||||
pop();
|
||||
popLeft();
|
||||
dump("home 2");
|
||||
}
|
||||
|
||||
@ -381,10 +392,8 @@ void MathCursor::end()
|
||||
dump("end 1");
|
||||
macroModeClose();
|
||||
clearLastCode();
|
||||
if (!par()->idxEnd(idx(), pos())) {
|
||||
pop();
|
||||
++pos();
|
||||
}
|
||||
if (!par()->idxEnd(idx(), pos()))
|
||||
popRight();
|
||||
dump("end 2");
|
||||
}
|
||||
|
||||
@ -485,7 +494,7 @@ void MathCursor::erase()
|
||||
bool popit;
|
||||
bool removeit;
|
||||
par()->idxDelete(idx(), popit, removeit);
|
||||
if (popit && pop() && removeit)
|
||||
if (popit && popLeft() && removeit)
|
||||
plainErase();
|
||||
return;
|
||||
}
|
||||
@ -523,7 +532,7 @@ bool MathCursor::up(bool sel)
|
||||
pos() = xarray().x2pos(x);
|
||||
return true;
|
||||
}
|
||||
if (pop())
|
||||
if (popLeft())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -533,7 +542,7 @@ bool MathCursor::up(bool sel)
|
||||
if (p) {
|
||||
int idxx, poss;
|
||||
if (p->idxFirstUp(idxx, poss)) {
|
||||
push(p, true);
|
||||
pushLeft(p);
|
||||
idx() = idxx;
|
||||
pos() = poss;
|
||||
dump("up 3");
|
||||
@ -545,8 +554,7 @@ bool MathCursor::up(bool sel)
|
||||
if (p) {
|
||||
int idxx, poss;
|
||||
if (p->idxLastUp(idxx, poss)) {
|
||||
plainLeft();
|
||||
push(p, false);
|
||||
pushRight(p);
|
||||
idx() = idxx;
|
||||
pos() = poss;
|
||||
dump("up 4");
|
||||
@ -559,7 +567,7 @@ bool MathCursor::up(bool sel)
|
||||
pos() = xarray().x2pos(x);
|
||||
return true;
|
||||
}
|
||||
if (pop())
|
||||
if (popLeft())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -577,7 +585,7 @@ bool MathCursor::down(bool sel)
|
||||
pos() = xarray().x2pos(x);
|
||||
return true;
|
||||
}
|
||||
if (pop())
|
||||
if (popLeft())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -588,7 +596,7 @@ bool MathCursor::down(bool sel)
|
||||
int idxx = 0;
|
||||
int poss = 0;
|
||||
if (p->idxFirstDown(idxx, poss)) {
|
||||
push(p, true);
|
||||
pushLeft(p);
|
||||
idx() = idxx;
|
||||
pos() = poss;
|
||||
dump("Down 3");
|
||||
@ -601,8 +609,7 @@ bool MathCursor::down(bool sel)
|
||||
int idxx = 0;
|
||||
int poss = 0;
|
||||
if (p->idxLastDown(idxx, poss)) {
|
||||
plainLeft();
|
||||
push(p, false);
|
||||
pushRight(p);
|
||||
idx() = idxx;
|
||||
pos() = poss;
|
||||
dump("Down 4");
|
||||
@ -615,7 +622,7 @@ bool MathCursor::down(bool sel)
|
||||
pos() = xarray().x2pos(x);
|
||||
return true;
|
||||
}
|
||||
if (pop())
|
||||
if (popLeft())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -662,8 +669,7 @@ void MathCursor::interpret(string const & s)
|
||||
}
|
||||
insert(p);
|
||||
}
|
||||
plainLeft();
|
||||
push(p, true);
|
||||
pushRight(p);
|
||||
if (up)
|
||||
p->up(true);
|
||||
else
|
||||
@ -925,7 +931,7 @@ void MathCursor::handleAccent(string const & name)
|
||||
p->cell(0) = theSelection.glue();
|
||||
}
|
||||
insert(p);
|
||||
push(p, true);
|
||||
pushRight(p);
|
||||
}
|
||||
|
||||
|
||||
@ -937,8 +943,7 @@ void MathCursor::handleDelim(int l, int r)
|
||||
p->cell(0) = theSelection.glue();
|
||||
}
|
||||
insert(p);
|
||||
plainLeft();
|
||||
push(p, true);
|
||||
pushRight(p);
|
||||
}
|
||||
|
||||
|
||||
@ -1044,7 +1049,7 @@ void MathCursor::pullArg(bool goright)
|
||||
// pullArg
|
||||
dump("pullarg");
|
||||
MathArray a = array();
|
||||
if (pop()) {
|
||||
if (popLeft()) {
|
||||
plainErase();
|
||||
array().insert(pos(), a);
|
||||
if (goright)
|
||||
@ -1066,13 +1071,23 @@ void MathCursor::normalize() const
|
||||
#endif
|
||||
MathCursor * it = const_cast<MathCursor *>(this);
|
||||
|
||||
if (idx() < 0 || idx() > par()->nargs() - 1)
|
||||
lyxerr << "this should not really happen - 1\n";
|
||||
if (idx() < 0)
|
||||
lyxerr << "this should not really happen - 1: " << idx() << "\n";
|
||||
if (idx() >= par()->nargs()) {
|
||||
lyxerr << "this should not really happen - 2: "
|
||||
<< idx() << " " << par()->nargs() << "\n";
|
||||
dump("error 2");
|
||||
}
|
||||
it->idx() = max(idx(), 0);
|
||||
it->idx() = min(idx(), par()->nargs() - 1);
|
||||
|
||||
if (pos() < 0 || pos() > array().size())
|
||||
lyxerr << "this should not really happen - 2\n";
|
||||
if (pos() < 0)
|
||||
lyxerr << "this should not really happen - 3: " << pos() << "\n";
|
||||
if (pos() > array().size()) {
|
||||
lyxerr << "this should not really happen - 4: "
|
||||
<< pos() << " " << array().size() << "\n";
|
||||
dump("error 4");
|
||||
}
|
||||
it->pos() = max(pos(), 0);
|
||||
it->pos() = min(pos(), array().size());
|
||||
}
|
||||
|
@ -198,21 +198,14 @@ public:
|
||||
/// Make sure cursor position is valid
|
||||
void normalize() const;
|
||||
|
||||
/// Enter a new MathInset from the front or the back
|
||||
void push(MathInset * par, bool first);
|
||||
/// Leave current MathInset
|
||||
bool pop();
|
||||
|
||||
//private:
|
||||
///
|
||||
InsetFormulaBase * const formula_;
|
||||
///
|
||||
MathTextCodes lastcode_;
|
||||
///
|
||||
MathFuncInset * imacro_;
|
||||
// Selection stuff
|
||||
/// do we currently select
|
||||
bool selection_;
|
||||
/// enter a MathInset from the front
|
||||
void pushLeft(MathInset * par);
|
||||
/// enter a MathInset from the back
|
||||
void pushRight(MathInset * par);
|
||||
/// leave current MathInset to the left
|
||||
bool popLeft();
|
||||
/// leave current MathInset to the left
|
||||
bool popRight();
|
||||
|
||||
///
|
||||
MathArray & array() const;
|
||||
@ -272,6 +265,16 @@ private:
|
||||
int & pos();
|
||||
///
|
||||
int & idx();
|
||||
|
||||
///
|
||||
InsetFormulaBase * const formula_;
|
||||
///
|
||||
MathTextCodes lastcode_;
|
||||
///
|
||||
MathFuncInset * imacro_;
|
||||
// Selection stuff
|
||||
/// do we currently select
|
||||
bool selection_;
|
||||
};
|
||||
|
||||
extern MathCursor * mathcursor;
|
||||
|
Loading…
Reference in New Issue
Block a user