namespace {
-int const LYX_FORMAT = 338; //Uwe: support for polytonic Greek
+int const LYX_FORMAT = 339; //rgh: removed modules
typedef map<string, bool> DepClean;
typedef map<docstring, pair<InsetLabel const *, Buffer::References> > RefCache;
wa_->closeAll();
delete wa_;
}
+ delete inset;
}
BufferParams params;
mutable RefCache ref_cache_;
/// our Text that should be wrapped in an InsetText
- InsetText inset;
+ InsetText * inset;
};
{
LYXERR(Debug::INFO, "Buffer::Buffer()");
- d->inset.setBuffer(*this);
- d->inset.initParagraphs(*this);
- d->inset.setAutoBreakRows(true);
- d->inset.getText(0)->setMacrocontextPosition(par_iterator_begin());
+ d->inset = new InsetText(*this);
+ d->inset->setAutoBreakRows(true);
+ d->inset->getText(0)->setMacrocontextPosition(par_iterator_begin());
}
// GuiView already destroyed
gui_ = 0;
+
+ // loop over children
+ Impl::BufferPositionMap::iterator it = d->children_positions.begin();
+ Impl::BufferPositionMap::iterator end = d->children_positions.end();
+ for (; it != end; ++it)
+ theBufferList().releaseChild(this, const_cast<Buffer *>(it->first));
+
// clear references to children in macro tables
d->children_positions.clear();
d->position_to_children.clear();
Text & Buffer::text() const
{
- return const_cast<Text &>(d->inset.text_);
+ return d->inset->text();
}
Inset & Buffer::inset() const
{
- return const_cast<InsetText &>(d->inset);
+ return *d->inset;
}
params().fontsCJK.erase();
params().listings_params.clear();
params().clearLayoutModules();
+ params().clearRemovedModules();
params().pdfoptions().clear();
for (int i = 0; i < 4; ++i) {
}
// read main text
- bool const res = text().read(*this, lex, errorList, &(d->inset));
+ bool const res = text().read(*this, lex, errorList, d->inset);
updateMacros();
updateMacroInstances();
Lexer lex;
istringstream is(s);
lex.setStream(is);
- FileName const name = FileName::tempName();
+ FileName const name = FileName::tempName("Buffer_readString");
switch (readFile(lex, name, true)) {
case failure:
return false;
// lyx2lyx would fail
return wrongversion;
- FileName const tmpfile = FileName::tempName();
+ FileName const tmpfile = FileName::tempName("Buffer_readFile");
if (tmpfile.empty()) {
Alert::error(_("Conversion failed"),
bformat(_("%1$s is from a different"
support::FileNameList::const_iterator en = bibfilesCache.end();
for (; ei != en; ++ ei) {
time_t lastw = ei->lastModified();
- LYXERR0(*ei << ", " << lastw << ", " << d->bibfileStatus_[*ei]);
if (lastw != d->bibfileStatus_[*ei]) {
d->bibinfoCacheValid_ = false;
d->bibfileStatus_[*ei] = lastw;
}
+bool Buffer::isChild(Buffer * child) const
+{
+ return d->children_positions.find(child) != d->children_positions.end();
+}
+
+
template<typename M>
typename M::iterator greatest_below(M & m, typename M::key_type const & x)
{