X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbuffer_funcs.h;h=531fb39f27ce603ced4e606723e16a6d19de4ead;hb=ae9dad17702242b63ca6043002a6e500734e9296;hp=372d99daea1fdf1fbc0cd029c29f2ef71d1187e0;hpb=3508b308714eec50c77e361bb32431defc78a8d8;p=lyx.git diff --git a/src/buffer_funcs.h b/src/buffer_funcs.h index 372d99daea..531fb39f27 100644 --- a/src/buffer_funcs.h +++ b/src/buffer_funcs.h @@ -3,38 +3,78 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Alfredo Braunstein * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef BUFFER_FUNCS_H #define BUFFER_FUNCS_H -#include "LString.h" +#include "lyxlayout_ptr_fwd.h" +#include "support/docstring.h" + +#include + + +namespace lyx { + +namespace support { class FileName; } 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 *, 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 */ -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); +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); + +/// 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); -void parseErrors(Buffer const &, TeXErrors const &); +/// +void checkBufferStructure(Buffer &, ParIterator const &); -void parseErrors(Buffer const &, ErrorList const &); +} // namespace lyx #endif // BUFFER_FUNCS_H