]> git.lyx.org Git - lyx.git/blobdiff - src/buffer.h
Extracted from r14281
[lyx.git] / src / buffer.h
index 4a680e65c4bad74c9ded5fd06e632aef2f298bdc..a3cbc3f61fd6016277c691a09444ae8e03dd23de 100644 (file)
@@ -24,6 +24,7 @@
 #include <boost/signal.hpp>
 
 #include <iosfwd>
+#include <string>
 #include <map>
 #include <utility>
 #include <vector>
@@ -217,6 +218,10 @@ public:
            child document)
         */
        Buffer const * getMasterBuffer() const;
+       /** Get the document's master (or \c this if this is not a
+           child document)
+        */
+       Buffer * getMasterBuffer();
 
        /// Is buffer read-only?
        bool isReadonly() const;
@@ -249,6 +254,12 @@ public:
 
        /// return all bibkeys from buffer and its childs
        void fillWithBibKeys(std::vector<std::pair<std::string, std::string> > & keys) const;
+       /// Update the cache with all bibfiles in use (including bibfiles
+       /// of loaded child documents).
+       void updateBibfilesCache();
+       /// Return the cache with all bibfiles in use (including bibfiles
+       /// of loaded child documents).
+       std::vector<std::string> const & getBibfilesCache() const;
        ///
        void getLabelList(std::vector<std::string> &) const;
 
@@ -354,6 +365,9 @@ private:
        /// it's BufferView, this should be FIXED in future.
        StableDocIterator cursor_;
        StableDocIterator anchor_;
+       /// A cache for the bibfiles (including bibfiles of loaded child
+       /// documents), needed for appropriate update of natbib labels.
+       std::vector<std::string> bibfilesCache_;
 };
 
 #endif