#include "Paragraph.h"
#include "ParagraphParameters.h"
#include "ParIterator.h"
-#include "Undo.h"
+#include "TextClass.h"
+#include "insets/InsetBibitem.h"
#include "insets/InsetBranch.h"
#include "insets/InsetCommand.h"
#include "insets/InsetFlex.h"
case MATH_HULL_CODE: {
// check for equation labels and resolve duplicates
- InsetMathHull & ins = static_cast<InsetMathHull &>(*it);
- std::vector<InsetLabel *> labels = ins.getLabels();
+ InsetMathHull * ins = it->asInsetMath()->asHullInset();
+ std::vector<InsetLabel *> labels = ins->getLabels();
for (size_t i = 0; i != labels.size(); ++i) {
if (!labels[i])
continue;
InsetLabel * lab = labels[i];
docstring const oldname = lab->getParam("name");
lab->updateCommand(oldname, false);
+ // We need to update the buffer reference cache.
+ cur.forceBufferUpdate();
docstring const newname = lab->getParam("name");
if (oldname == newname)
continue;
for (InsetIterator itt = inset_iterator_begin(in);
itt != i_end; ++itt) {
if (itt->lyxCode() == REF_CODE) {
- InsetCommand & ref =
- static_cast<InsetCommand &>(*itt);
- if (ref.getParam("reference") == oldname)
- ref.setParam("reference", newname);
+ InsetCommand * ref = itt->asInsetCommand();
+ if (ref->getParam("reference") == oldname)
+ ref->setParam("reference", newname);
} else if (itt->lyxCode() == MATH_REF_CODE) {
- InsetMathHull & mi =
- static_cast<InsetMathHull &>(*itt);
+ InsetMathHull * mi = itt->asInsetMath()->asHullInset();
// this is necessary to prevent an uninitialized
// buffer when the RefInset is in a MathBox.
- // FIXME audit setBuffer/updateBuffer calls
- mi.setBuffer(const_cast<Buffer &>(buffer));
- if (mi.asRefInset()->getTarget() == oldname)
- mi.asRefInset()->changeTarget(newname);
+ // FIXME audit setBuffer calls
+ mi->setBuffer(const_cast<Buffer &>(buffer));
+ if (mi->asRefInset()->getTarget() == oldname)
+ mi->asRefInset()->changeTarget(newname);
}
}
}
case LABEL_CODE: {
// check for duplicates
- InsetCommand & lab = static_cast<InsetCommand &>(*it);
+ InsetLabel & lab = static_cast<InsetLabel &>(*it);
docstring const oldname = lab.getParam("name");
lab.updateCommand(oldname, false);
+ // We need to update the buffer reference cache.
+ cur.forceBufferUpdate();
docstring const newname = lab.getParam("name");
if (oldname == newname)
break;
static_cast<InsetMathHull &>(*itt);
// this is necessary to prevent an uninitialized
// buffer when the RefInset is in a MathBox.
- // FIXME audit setBuffer/updateBuffer calls
+ // FIXME audit setBuffer calls
mi.setBuffer(const_cast<Buffer &>(buffer));
if (mi.asRefInset()->getTarget() == oldname)
mi.asRefInset()->changeTarget(newname);
case INCLUDE_CODE: {
InsetInclude & inc = static_cast<InsetInclude &>(*it);
inc.updateCommand();
+ // We need to update the list of included files.
+ cur.forceBufferUpdate();
break;
}
case BIBITEM_CODE: {
// check for duplicates
- InsetCommand & bib = static_cast<InsetCommand &>(*it);
+ InsetBibitem & bib = static_cast<InsetBibitem &>(*it);
docstring const oldkey = bib.getParam("key");
bib.updateCommand(oldkey, false);
+ // We need to update the buffer reference cache.
+ cur.forceBufferUpdate();
docstring const newkey = bib.getParam("key");
if (oldkey == newkey)
break;
for (InsetIterator itt = inset_iterator_begin(in);
itt != i_end; ++itt) {
if (itt->lyxCode() == CITE_CODE) {
- InsetCommand & ref =
- static_cast<InsetCommand &>(*itt);
- if (ref.getParam("key") == oldkey)
- ref.setParam("key", newkey);
+ InsetCommand * ref = itt->asInsetCommand();
+ if (ref->getParam("key") == oldkey)
+ ref->setParam("key", newkey);
}
}
break;
text, 0, 1, _("&Add"), _("&Don't Add")) != 0)
break;
lyx::dispatch(FuncRequest(LFUN_BRANCH_ADD, name));
+ // We need to update the list of branches.
+ cur.forceBufferUpdate();
break;
}
}
if (begpit != endpit)
- cur.updateFlags(Update::Force | Update::FitCursor);
+ cur.screenUpdateFlags(Update::Force | Update::FitCursor);
boost::tie(endpit, endpos) =
eraseSelectionHelper(bp,
// need a valid cursor. (Lgb)
cur.clearSelection();
- cur.buffer()->updateBuffer();
+ cur.forceBufferUpdate();
// tell tabular that a recent copy happened
dirtyTabularStack(false);
boost::tie(ppp, endpit) =
pasteSelectionHelper(cur, parlist, docclass, errorList);
- cur.buffer()->updateBuffer();
+ cur.forceBufferUpdate();
cur.clearSelection();
text->setCursor(cur, ppp.first, ppp.second);
}
// create inset for graphic
InsetGraphics * inset = new InsetGraphics(cur.buffer());
InsetGraphicsParams params;
- params.filename = support::DocFileName(filename.absFileName());
+ params.filename = support::DocFileName(filename.absFileName(), false);
inset->setParams(params);
cur.recordUndo();
cur.insert(inset);