mouse selection stuff. better, but not ok...

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3040 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
André Pönitz 2001-11-16 13:38:00 +00:00
parent 015b7a2f58
commit f9544ad301

View File

@ -251,11 +251,7 @@ void InsetFormulaBase::insetButtonRelease(BufferView * bv,
mathcursor->setPos(x + xo_, y + yo_); mathcursor->setPos(x + xo_, y + yo_);
//lyxerr << "insetButtonRelease: " << x + xo_ << " " << y + yo_ << "\n"; //lyxerr << "insetButtonRelease: " << x + xo_ << " " << y + yo_ << "\n";
showInsetCursor(bv); showInsetCursor(bv);
if (sel_flag) {
sel_flag = false; sel_flag = false;
sel_x = 0;
sel_y = 0;
}
bv->updateInset(this, false); bv->updateInset(this, false);
} }
} }
@ -264,35 +260,30 @@ void InsetFormulaBase::insetButtonRelease(BufferView * bv,
void InsetFormulaBase::insetButtonPress(BufferView * bv, void InsetFormulaBase::insetButtonPress(BufferView * bv,
int x, int y, int /*button*/) int x, int y, int /*button*/)
{ {
//lyxerr << "insetButtonPress: " << x + xo_ << " " << y + yo_ << "\n";
sel_flag = false; sel_flag = false;
sel_x = x; sel_x = x + xo_;
sel_y = y; sel_y = y + yo_;
if (mathcursor && mathcursor->selection()) { if (mathcursor)
mathcursor->selClear(); mathcursor->selStart();
bv->updateInset(this, false); bv->updateInset(this, false);
} }
}
void InsetFormulaBase::insetMotionNotify(BufferView * bv, void InsetFormulaBase::insetMotionNotify(BufferView * bv,
int x, int y, int /*button*/) int x, int y, int /*button*/)
{ {
if (sel_x && sel_y && abs(x-sel_x) > 4 && !sel_flag) { //lyxerr << "insetMotionNotify: " << x + xo_ << " " << y + yo_ << "\n";
if (abs(x - sel_x) > 4 && !sel_flag)
sel_flag = true; sel_flag = true;
if (sel_flag) {
hideInsetCursor(bv); hideInsetCursor(bv);
mathcursor->setPos(sel_x, sel_y); mathcursor->setPos(x + xo_, y + xo_);
mathcursor->selStart();
showInsetCursor(bv);
mathcursor->getPos(sel_x, sel_y);
} else if (sel_flag) {
hideInsetCursor(bv);
mathcursor->setPos(x, y);
showInsetCursor(bv); showInsetCursor(bv);
mathcursor->getPos(x, y); mathcursor->getPos(x, y);
if (sel_x != x || sel_y != y) if (sel_x != x || sel_y != y)
bv->updateInset(this, false); bv->updateInset(this, false);
sel_x = x;
sel_y = y;
} }
} }