]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
GMO for BG
[lyx.git] / src / Buffer.h
index 50d086f2876a872165f33ab992e60740dcc3f0f8..f1bd1f5e795ee7d85513c1217fda43971d8f875a 100644 (file)
@@ -70,7 +70,6 @@ class WorkAreaManager;
 namespace support {
 class DocFileName;
 class FileName;
-class FileNamePairList;
 } // namespace support
 
 namespace graphics {
@@ -303,8 +302,8 @@ public:
                           OutputParams const &,
                           OutputWhat output = FullSource) const;
        /** Export the buffer to LaTeX.
-           If \p os is a file stream, and params().inputenc is "auto" or
-           "default", and the buffer contains text in different languages
+           If \p os is a file stream, and params().inputenc is "auto-legacy" or
+           "auto-legacy-plain", and the buffer contains text in different languages
            with more than one encoding, then this method will change the
            encoding associated to \p os. Therefore you must not call this
            method with a string stream if the output is supposed to go to a
@@ -414,10 +413,10 @@ public:
                                        std::string const &, bool nice) const;
 
        /** Returns a vector of bibliography (*.bib) file paths suitable for the
-        *  output in the respective BibTeX/Biblatex macro
+        *  output in the respective BibTeX/Biblatex macro and potential individual encoding
         */
-       std::vector<docstring> const prepareBibFilePaths(OutputParams const &,
-                                   support::FileNamePairList const bibfilelist,
+       std::vector<std::pair<docstring, std::string>> const prepareBibFilePaths(OutputParams const &,
+                                   const docstring_list & bibfilelist,
                                    bool const extension = true) const;
 
        /** Returns the path where a local layout file lives.
@@ -501,6 +500,8 @@ public:
        /// Calling this method invalidates the cache and so requires a
        /// re-read.
        void invalidateBibinfoCache() const;
+       /// Clear the bibfiles cache
+       void clearBibFileCache() 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.
@@ -697,18 +698,28 @@ public:
        ///
        bool isExporting() const;
 
-       ///
+       /// A collection of InsetRef insets and their position in the buffer
        typedef std::vector<std::pair<Inset *, ParIterator> > References;
-       ///
+       /// Get all InsetRef insets and their positions associated with
+       /// the InsetLabel with the label string \p label
        References const & references(docstring const & label) const;
-       ///
+       /// Add an InsetRef at position \p it to the Insetlabel
+       /// with the label string \p label
        void addReference(docstring const & label, Inset * inset, ParIterator it);
-       ///
+       /// Clear the whole reference cache
        void clearReferenceCache() const;
-       ///
-       void setInsetLabel(docstring const & label, InsetLabel const * il);
-       ///
-       InsetLabel const * insetLabel(docstring const & label) const;
+       /// Set the InsetLabel for a given \p label string. \p active
+       /// determines whether this is an active label (see @ref activeLabel)
+       void setInsetLabel(docstring const & label, InsetLabel const * il,
+                          bool const active);
+       /// \return the InsetLabel associated with this \p label string
+       /// If \p active is true we only return active labels
+       /// (see @ref activeLabel)
+       InsetLabel const * insetLabel(docstring const & label,
+                                     bool const active = false) const;
+       /// \return true if this \param label is an active label.
+       /// Inactive labels are currently deleted labels (in ct mode)
+       bool activeLabel(docstring const & label) const;
 
        /// return a list of all used branches (also in children)
        void getUsedBranches(std::list<docstring> &, bool const from_master = false) const;
@@ -765,7 +776,9 @@ public:
        bool areChangesPresent() const;
        void updateChangesPresent() const;
        ///
-       void registerBibfiles(support::FileNamePairList const & bf) const;
+       void registerBibfiles(docstring_list const & bf) const;
+       ///
+       support::FileName getBibfilePath(docstring const & bibid) const;
 
 private:
        friend class MarkAsExporting;
@@ -784,7 +797,7 @@ private:
        void checkIfBibInfoCacheIsValid() const;
        /// Return the list with all bibfiles in use (including bibfiles
        /// of loaded child documents).
-       support::FileNamePairList const &
+       docstring_list const &
                getBibfiles(UpdateScope scope = UpdateMaster) const;
        ///
        void collectChildren(ListOfBuffers & children, bool grand_children) const;