#include "insets/Inset.h"
#include "mathed/InsetMath.h"
-#include "mathed/MathMacro.h"
+#include "mathed/InsetMathMacro.h"
#include "support/ExceptionMessage.h"
#include "support/gettext.h"
CursorSlice::CursorSlice()
- : inset_(0), idx_(0), pit_(0), pos_(0)
+ : inset_(nullptr), idx_(0), pit_(0), pos_(0)
{}
LBUFERR(inset_);
InsetMath const * math = inset_->asInsetMath();
bool paramless_macro = math && math->asMacro() && !math->asMacro()->nargs();
- return math ? (paramless_macro ? 0 : cell().size())
+ return math ? (paramless_macro ? 0 : cell().size())
: (text()->empty() ? 0 : paragraph().size());
}
}
+void CursorSlice::setPitPos(pit_type pit, pos_type pos)
+{
+ LASSERT(pit != int(text()->paragraphs().size()), return);
+ pit_ = pit;
+ pos_ = pos;
+
+ // Now some strict checking. None of these should happen, but
+ // we're scaredy-cats
+ if (pos < 0) {
+ LYXERR0("Don't like -1!");
+ LATTEST(false);
+ }
+
+ if (pos > paragraph().size()) {
+ LYXERR0("Don't like 1, pos: " << pos
+ << " size: " << paragraph().size()
+ << " par: " << pit);
+ LATTEST(false);
+ }
+}
+
+
void CursorSlice::forwardPos()
{
// move on one position if possible