X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbuffer_funcs.h;h=531fb39f27ce603ced4e606723e16a6d19de4ead;hb=ae9dad17702242b63ca6043002a6e500734e9296;hp=d2453780e35eef96dc5db0e21ba6652d2749aeee;hpb=cf4293824f406c03e940bed6bf7274b57629a857;p=lyx.git diff --git a/src/buffer_funcs.h b/src/buffer_funcs.h index d2453780e3..531fb39f27 100644 --- a/src/buffer_funcs.h +++ b/src/buffer_funcs.h @@ -13,10 +13,15 @@ #define BUFFER_FUNCS_H #include "lyxlayout_ptr_fwd.h" +#include "support/docstring.h" #include +namespace lyx { + +namespace support { class FileName; } + class Buffer; class DocIterator; class ErrorList; @@ -27,7 +32,14 @@ class ParIterator; * Loads a LyX file \c filename into \c Buffer * and \return success status. */ -bool loadLyXFile(Buffer *, std::string const & filename); +bool loadLyXFile(Buffer *, support::FileName const & filename); + +/** + * Checks and loads a LyX file \param filename. + * \retval the newly created \c Buffer pointer if successful or 0. + * \retval 0 if the \c Buffer could not be created. + */ +Buffer * checkAndLoadLyXFile(support::FileName const & filename); /* Make a new file (buffer) with name \c filename based on a template * named \c templatename @@ -37,27 +49,32 @@ Buffer * newFile(std::string const & filename, std::string const & templatename, ///return the format of the buffer on a string std::string const bufferFormat(Buffer const & buffer); -/// -void bufferErrors(Buffer const &, TeXErrors const &); -/// -void bufferErrors(Buffer const &, ErrorList const &); + +/// Fill in the ErrorList with the TeXErrors +void bufferErrors(Buffer const &, TeXErrors const &, ErrorList &); /// Count the number of words in the text between these two iterators int countWords(DocIterator const & from, DocIterator const & to); -/// Expand the counters for the labelstring of \c layout -std::string expandLabel(Buffer const & buf, LyXLayout_ptr const & layout, - bool appendix); +/// update labels at "iter". +/** +A full updateLabels(Buffer const &) will be called if not possible. +*/ +void updateLabels(Buffer const & buf, ParIterator & it, bool childonly = false); -/// updates current counter and/or label if possible. +/// update labels between "from" and "to" if possible. /** -\retval true if a full updateCounters is required. -\retval false if a full updateCounters is not required. +A full updateLabels(Buffer const &) will be called if not possible. */ -bool needsUpdateCounters(Buffer const & buf, ParIterator & it); +void updateLabels(Buffer const & buf, + ParIterator & from, ParIterator & to, bool childonly = false); /// updates all counters -void updateCounters(Buffer const &); +void updateLabels(Buffer const &, bool childonly = false); + +/// +void checkBufferStructure(Buffer &, ParIterator const &); +} // namespace lyx #endif // BUFFER_FUNCS_H