X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbuffer_funcs.h;h=7ad1b56d07fa3597e0f5fe79f69ae8277254a5c3;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=e6fb52dc711ec40e26cbc204e429acdfd6d55a77;hpb=0be0fcfd5907d448cd51addf83ed7032719a0692;p=lyx.git diff --git a/src/buffer_funcs.h b/src/buffer_funcs.h index e6fb52dc71..7ad1b56d07 100644 --- a/src/buffer_funcs.h +++ b/src/buffer_funcs.h @@ -12,29 +12,65 @@ #ifndef BUFFER_FUNCS_H #define BUFFER_FUNCS_H -#include "LString.h" +#include "lyxlayout_ptr_fwd.h" +#include "support/docstring.h" + +#include + + +namespace lyx { + class Buffer; -class TeXErrors; +class DocIterator; class ErrorList; +class TeXErrors; +class ParIterator; /** - * Loads a LyX file \c filename into \c Buffer + * Loads a LyX file \c filename into \c Buffer * and \return success status. */ -bool loadLyXFile(Buffer *, string const & filename); +bool loadLyXFile(Buffer *, std::string const & filename); /* Make a new file (buffer) with name \c filename based on a template * named \c templatename */ -Buffer * newFile(string const & filename, string const & templatename, +Buffer * newFile(std::string const & filename, std::string const & templatename, bool isNamed = false); ///return the format of the buffer on a string -string const BufferFormat(Buffer const & buffer); -/// -void bufferErrors(Buffer const &, TeXErrors const &); -/// -void bufferErrors(Buffer const &, ErrorList const &); +std::string const bufferFormat(Buffer const & buffer); + +/// 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 +lyx::docstring 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); + +/// update labels between "from" and "to" if possible. +/** +A full updateLabels(Buffer const &) will be called if not possible. +*/ +void updateLabels(Buffer const & buf, + ParIterator & from, ParIterator & to, bool childonly = false); + +/// updates all counters +void updateLabels(Buffer const &, bool childonly = false); + + +} // namespace lyx #endif // BUFFER_FUNCS_H