]> git.lyx.org Git - lyx.git/blobdiff - src/BufferList.h
Avoid full metrics computation with Update:FitCursor
[lyx.git] / src / BufferList.h
index 95df26aa6df9e9b9757e5bb00d34eb3d7d979ef4..ff5156657b95e84331a5882bf19991b09d1ff100 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef BUFFER_LIST_H
 #define BUFFER_LIST_H
 
-#include "support/docstring.h"
+#include "support/strfwd.h"
 
 #include <vector>
 
@@ -26,7 +26,7 @@ class OutputParams;
 namespace support {
 class FileName;
 class FileNameList;
-}
+} // namespace support
 
 /**
  * The class holds all all open buffers, and handles construction
@@ -55,18 +55,19 @@ public:
        /// \return 0 if the Buffer creation is not possible for whatever reason.
        Buffer * newInternalBuffer(std::string const & s);
 
+       /// Is child a child of some Buffer other than parent?
+       /// NOTE: child must be a child of parent, and both must be non-null.
+       /// Otherwise we assert.
+       bool isOthersChild(Buffer * parent, Buffer * child) const;
+
        /// delete a buffer
        void release(Buffer * b);
 
-       /// Release \p child if it really is a child and is not used elsewhere.
-       /// \return true is the file was closed.
-       bool releaseChild(Buffer * parent, Buffer * child);
-
        /// Close all open buffers.
        void closeAll();
 
        /// returns a vector with all the buffers filenames
-       support::FileNameList const & fileNames() const;
+       support::FileNameList fileNames() const;
 
        /// return true if no buffers loaded
        bool empty() const;
@@ -83,6 +84,9 @@ public:
        /// returns true if the buffer is loaded
        bool isLoaded(Buffer const * b) const;
 
+       /// returns true if the buffer is known as internal buffer
+       bool isInternal(Buffer const * b) const;
+
        /// \return index of named buffer in buffer list
        int bufferNum(support::FileName const & name) const;
 
@@ -96,8 +100,9 @@ public:
        /// \return a pointer to the buffer with the given number
        Buffer * getBuffer(unsigned int);
 
-       /// \return a pointer to the buffer whose temppath matches the given path
-       Buffer * getBufferFromTmp(std::string const & path);
+       /// \return a pointer to the buffer whose temppath matches the given \p path
+       ///  If optional \p realpath is \c true the lookup is done with real path names
+       Buffer * getBufferFromTmp(std::string const & path, bool realpath = false);
 
        /** returns a pointer to the buffer that follows argument in
         * buffer list. The buffer following the last in list is the
@@ -115,12 +120,16 @@ public:
        //@{
        /// reset current author for all buffers
        void recordCurrentAuthor(Author const & author);
+       /// update previews for all buffers, e.g. for Prefs update
+       void updatePreviews();
        /// Call changed() on all buffers, internal or not
        void changed(bool update_metrics) const;
        /// emergency save for all buffers
        void emergencyWriteAll();
        /// FIXME
        void updateIncludedTeXfiles(std::string const &, OutputParams const &);
+       ///
+       void invalidateConverterCache() const;
        //@}
 
 private: