2 /* \file buffer_funcs.h
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Lars Gullik Bjønnes
7 * \author Alfredo Braunstein
9 * Full author contact details are available in file CREDITS.
12 #ifndef BUFFER_FUNCS_H
13 #define BUFFER_FUNCS_H
15 #include "lyxlayout_ptr_fwd.h"
16 #include "support/docstring.h"
23 namespace support { class FileName; }
33 * Returns true if the file is already loaded into a buffer.
35 bool checkIfLoaded(support::FileName const & fn);
38 * Loads a LyX file \c filename into \c Buffer
39 * and \return success status.
41 bool loadLyXFile(Buffer *, support::FileName const & filename);
44 * Checks and loads a LyX file \param filename.
45 * \retval the newly created \c Buffer pointer if successful or 0.
46 * \retval 0 if the \c Buffer could not be created.
48 Buffer * checkAndLoadLyXFile(support::FileName const & filename);
50 /** Make a new file (buffer) with name \c filename based on a template
51 * named \c templatename
53 Buffer * newFile(std::string const & filename, std::string const & templatename,
54 bool isNamed = false);
56 ///return the format of the buffer on a string
57 std::string const bufferFormat(Buffer const & buffer);
59 /// Fill in the ErrorList with the TeXErrors
60 void bufferErrors(Buffer const &, TeXErrors const &, ErrorList &);
62 /// Count the number of words in the text between these two iterators
63 int countWords(DocIterator const & from, DocIterator const & to);
65 /// updates all counters
66 void updateLabels(Buffer const &, bool childonly = false);
69 void checkBufferStructure(Buffer &, ParIterator const &);
73 #endif // BUFFER_FUNCS_H