*/
void validate(LaTeXFeatures &) const;
- /// Update the list of all bibfiles in use (including bibfiles
- /// of loaded child documents).
- void updateBibfilesCache(UpdateScope scope = UpdateMaster) const;
- /// Return the list with all bibfiles in use (including bibfiles
- /// of loaded child documents).
- support::FileNameList const &
- getBibfilesCache(UpdateScope scope = UpdateMaster) const;
- /// Information from BibTeX databases is cached in the Buffer, so
- /// we do not have to read the file over and over.
+ /// Reference information is cached in the Buffer, so we do not
+ /// have to check or read things over and over.
+ ///
+ /// There are two caches.
+ ///
+ /// One is a cache of the BibTeX files from which reference info is
+ /// being gathered. This cache is PER BUFFER, and the cache for the
+ /// master essentially includes the cache for its children. This gets
+ /// invalidated when an InsetBibtex is created, deleted, or modified.
+ ///
+ /// The other is a cache of the reference information itself. This
+ /// exists only in the master buffer, and when it needs to be updated,
+ /// the children add their information to the master's cache.
+
/// Calling this method invalidates the cache and so requires a
/// re-read.
- void invalidateBibinfoCache();
+ void invalidateBibinfoCache() const;
+ /// This invalidates the cache of files we need to check.
+ void invalidateBibfileCache() const;
/// Updates the cached bibliography information.
/// Note that you MUST call this method to update the cache. It will
/// not happen otherwise. (Currently, it is called at the start of
/// updateBuffer() and from GuiCitation.)
+ /// Note that this operates on the master document.
void checkBibInfoCache() const;
/// \return the bibliography information for this buffer's master,
/// or just for it, if it isn't a child.
BiblioInfo const & masterBibInfo() const;
- /// \return the bibliography information for this buffer ONLY.
- BiblioInfo const & localBibInfo() const;
+ ///
+ void fillWithBibKeys(BiblioInfo & keys) const;
///
void getLabelList(std::vector<docstring> &) const;
// Macro handling
//
/// Collect macro definitions in paragraphs
- void updateMacros(bool record_docit = false) const;
+ void updateMacros() const;
/// Iterate through the whole buffer and try to resolve macros
void updateMacroInstances() const;
bool fromString = false);
///
void getLanguages(std::set<Language const *> &) const;
+ /// Update the list of all bibfiles in use (including bibfiles
+ /// of loaded child documents).
+ void updateBibfilesCache(UpdateScope scope = UpdateMaster) const;
+ /// Return the list with all bibfiles in use (including bibfiles
+ /// of loaded child documents).
+ support::FileNameList const &
+ getBibfilesCache(UpdateScope scope = UpdateMaster) const;
/// Use the Pimpl idiom to hide the internals.
class Impl;