#ifndef BUFFER_H
#define BUFFER_H
+#include "OutputEnums.h"
#include "update_flags.h"
#include "insets/InsetCode.h"
*/
void validate(LaTeXFeatures &) const;
- /// Update the cache with all bibfiles in use (including bibfiles
+ /// Update the list of all bibfiles in use (including bibfiles
/// of loaded child documents).
void updateBibfilesCache(UpdateScope scope = UpdateMaster) const;
- ///
- void invalidateBibinfoCache();
- /// Return the cache with all bibfiles in use (including bibfiles
+ /// 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.
+ /// Calling this method invalidates the cache and so requires a
+ /// re-read.
+ void invalidateBibinfoCache();
+ /// 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
+ /// updateLabels() and from GuiCitation.)
+ 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;
///
bool doExport(std::string const & format, bool put_in_tempdir,
- std::string & result_file) const;
+ bool includeall, std::string & result_file) const;
///
- bool doExport(std::string const & format, bool put_in_tempdir) const;
+ bool doExport(std::string const & format, bool put_in_tempdir,
+ bool includeall = false) const;
///
- bool preview(std::string const & format) const;
+ bool preview(std::string const & format, bool includeall = false) const;
///
bool isExportable(std::string const & format) 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.
- void updateLabels() const { updateLabels(UpdateMaster, false); }
+ void updateLabels() const { updateLabels(UpdateMaster, InternalUpdate); }
/// \param scope: whether to start with the master document or just
/// do this one.
/// \param output: whether we are preparing for output.
- void updateLabels(UpdateScope scope, bool output) const;
+ void updateLabels(UpdateScope scope, UpdateType utype) const;
///
- void updateLabels(ParIterator & parit, bool output) const;
+ void updateLabels(ParIterator & parit, UpdateType utype) const;
/// Spellcheck starting from \p from.
/// \p from initial position, will then points to the next misspelled
void updateMacros(DocIterator & it,
DocIterator & scope) const;
///
- void checkBibInfoCache() const;
- ///
- void setLabel(ParIterator & it) const;
+ void setLabel(ParIterator & it, UpdateType utype) const;
///
void collectRelatives(BufferSet & bufs) const;