#include "FuncRequest.h"
#include "Language.h"
#include "LyXAction.h"
-#include "LyXFunc.h" // only for setMessage()
#include "LyXRC.h"
#include "Paragraph.h"
#include "ParIterator.h"
}
+void Cursor::saveBeforeDispatchPosXY()
+{
+ getPos(beforeDispatchPosX_, beforeDispatchPosY_);
+}
+
+
void Cursor::dispatch(FuncRequest const & cmd0)
{
LYXERR(Debug::DEBUG, "cmd: " << cmd0 << '\n' << *this);
cap::eraseSelection(*this);
cell().insert(pos(), ar);
pos() += ar.size();
+ // FIXME audit setBuffer/updateLabels calls
+ inset().setBuffer(bv_->buffer());
}
int xo = 0;
int yo = 0;
getPos(xo, yo);
- xo = theLyXFunc().cursorBeforeDispatchX();
-
+ xo = beforeDispatchPosX_;
+
// check if we had something else in mind, if not, this is the future
// target
if (x_target_ == -1)
int x;
int y;
getPos(x, y);
- int oy = theLyXFunc().cursorBeforeDispatchY();
+ int oy = beforeDispatchPosY_;
if ((!up && y <= oy) ||
(up && y >= oy))
operator=(old);
int x;
int y;
getPos(x, y);
- int oy = theLyXFunc().cursorBeforeDispatchY();
+ int oy = beforeDispatchPosY_;
if ((!up && y <= oy) ||
(up && y >= oy))
operator=(old);
//lyxerr << "updown: popBackward succeeded" << endl;
int xnew;
int ynew;
- int yold = theLyXFunc().cursorBeforeDispatchY();
+ int yold = beforeDispatchPosY_;
getPos(xnew, ynew);
if (up ? ynew < yold : ynew > yold)
return true;
int xo = 0;
int yo = 0;
getPos(xo, yo);
- xo = theLyXFunc().cursorBeforeDispatchX();
+ xo = beforeDispatchPosX_;
// update the targetX - this is here before the "return false"
// to set a new target which can be used by InsetTexts above
void Cursor::message(docstring const & msg) const
{
- theLyXFunc().setMessage(msg);
+ disp_.setMessage(msg);
}
void Cursor::errorMessage(docstring const & msg) const
{
- theLyXFunc().setErrorMessage(msg);
+ disp_.setMessage(msg);
+ disp_.setError(true);
}