]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Customization.lyx: rewrote section how to install LaTeX-packages
[lyx.git] / src / Buffer.h
index dafb61ec88e28bf1396ad9dde3b0e65f9470acb4..add05579cc0ec37442ead719347ed8b9056c3648 100644 (file)
@@ -342,28 +342,36 @@ public:
        */
        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;
 
@@ -427,7 +435,7 @@ public:
        // 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;
 
@@ -579,6 +587,13 @@ private:
                            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;