]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Remove connections
[lyx.git] / src / Buffer.h
index 165f5d8795a1ae218c3fe2de406cd06e4ce04567..9f40e74bd36bb1c9567d0dc3b546befc488fd766 100644 (file)
@@ -17,6 +17,7 @@
 #include "support/unique_ptr.h"
 #include "support/strfwd.h"
 #include "support/types.h"
+#include "support/FileNameList.h"
 
 #include <map>
 #include <list>
@@ -132,6 +133,7 @@ public:
                // export
                ExportSuccess,
                ExportCancel,
+               ExportKilled,
                ExportError,
                ExportNoPathToFormat,
                ExportTexPathHasSpaces,
@@ -296,7 +298,7 @@ public:
        };
 
        /// Just a wrapper for writeLaTeXSource, first creating the ofstream.
-       bool makeLaTeXFile(support::FileName const & filename,
+       ExportStatus makeLaTeXFile(support::FileName const & filename,
                           std::string const & original_path,
                           OutputParams const &,
                           OutputWhat output = FullSource) const;
@@ -322,23 +324,23 @@ public:
            ofs.close();
            \endcode
         */
-       void writeLaTeXSource(otexstream & os,
+       ExportStatus writeLaTeXSource(otexstream & os,
                           std::string const & original_path,
                           OutputParams const &,
                           OutputWhat output = FullSource) const;
        ///
-       void makeDocBookFile(support::FileName const & filename,
+       ExportStatus makeDocBookFile(support::FileName const & filename,
                             OutputParams const & runparams_in,
                             OutputWhat output = FullSource) const;
        ///
-       void writeDocBookSource(odocstream & os, std::string const & filename,
+       ExportStatus writeDocBookSource(odocstream & os, std::string const & filename,
                             OutputParams const & runparams_in,
                             OutputWhat output = FullSource) const;
        ///
-       void makeLyXHTMLFile(support::FileName const & filename,
+       ExportStatus makeLyXHTMLFile(support::FileName const & filename,
                             OutputParams const & runparams_in) const;
        ///
-       void writeLyXHTMLSource(odocstream & os,
+       ExportStatus writeLyXHTMLSource(odocstream & os,
                             OutputParams const & runparams_in,
                             OutputWhat output = FullSource) const;
        /// returns the main language for the buffer (document)
@@ -492,25 +494,13 @@ public:
        */
        void validate(LaTeXFeatures &) const;
 
-       /// Reference information is cached in the Buffer, so we do not
+       /// Bibliography 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 cache exists only in the master buffer. When it is 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() const;
-       /// This invalidates the cache of files we need to check.
-       void invalidateBibfileCache() const;
        /// Updates the cached bibliography information, checking first to see
        /// whether the cache is valid. If so, we do nothing. If not, then we
        /// reload all the BibTeX info.
@@ -519,8 +509,10 @@ public:
        /// \return the bibliography information for this buffer's master,
        /// or just for it, if it isn't a child.
        BiblioInfo const & masterBibInfo() const;
+       /// \return this buffer's bibliography information
+       BiblioInfo const & bibInfo() const;
        /// collect bibliography info from the various insets in this buffer.
-       void collectBibKeys() const;
+       void collectBibKeys(support::FileNameList &) const;
        /// add some BiblioInfo to our cache
        void addBiblioInfo(BiblioInfo const & bi) const;
        /// add a single piece of bibliography info to our cache
@@ -528,6 +520,8 @@ public:
        ///
        void makeCitationLabels() const;
        ///
+       void invalidateCiteLabels() const;
+       ///
        bool citeLabelsValid() const;
        ///
        void getLabelList(std::vector<docstring> &) const;
@@ -719,10 +713,6 @@ public:
        /// return a list of all used branches (also in children)
        void getUsedBranches(std::list<docstring> &, bool const from_master = false) const;
 
-       /// sets the buffer_ member for every inset in this buffer.
-       // FIXME This really shouldn't be needed, but at the moment it's not
-       // clear how to do it just for the individual pieces we need.
-       void setBuffersForInsets() const;
        /// Updates screen labels and some other information associated with
        /// insets and paragraphs. Actually, it's more like a general "recurse
        /// through the Buffer" routine, that visits all the insets and paragraphs.
@@ -774,6 +764,8 @@ public:
        void setChangesPresent(bool) const;
        bool areChangesPresent() const;
        void updateChangesPresent() const;
+       ///
+       void registerBibfiles(support::FileNamePairList const & bf) const;
 
 private:
        friend class MarkAsExporting;
@@ -790,13 +782,10 @@ private:
        /// last time we loaded the cache. Note that this does NOT update the
        /// cached information.
        void checkIfBibInfoCacheIsValid() 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::FileNamePairList const &
-               getBibfilesCache(UpdateScope scope = UpdateMaster) const;
+               getBibfiles(UpdateScope scope = UpdateMaster) const;
        ///
        void collectChildren(ListOfBuffers & children, bool grand_children) const;