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 "support/docstring.h"
22 namespace support { class FileName; }
32 * Returns true if the file is already loaded into a buffer.
34 bool checkIfLoaded(support::FileName const & fn);
37 * Loads a LyX file \c filename into \c Buffer
38 * and \return success status.
40 bool loadLyXFile(Buffer *, support::FileName const & filename);
43 * Checks and loads a LyX file \param filename.
44 * \retval the newly created \c Buffer pointer if successful or 0.
45 * \retval 0 if the \c Buffer could not be created.
47 Buffer * checkAndLoadLyXFile(support::FileName const & filename);
49 /** Make a new file (buffer) with name \c filename based on a template
50 * named \c templatename
52 Buffer * newFile(std::string const & filename, std::string const & templatename,
53 bool isNamed = false);
55 ///return the format of the buffer on a string
56 std::string const bufferFormat(Buffer const & buffer);
58 /// Fill in the ErrorList with the TeXErrors
59 void bufferErrors(Buffer const &, TeXErrors const &, ErrorList &);
61 /// Count the number of words in the text between these two iterators
62 int countWords(DocIterator const & from, DocIterator const & to);
64 /// updates all counters
65 void updateLabels(Buffer const &, bool childonly = false);
68 void updateLabels(Buffer const &, ParIterator &);
71 void checkBufferStructure(Buffer &, ParIterator const &);
74 textclass_type defaultTextclass();
77 void loadChildDocuments(Buffer const & buffer);
81 #endif // BUFFER_FUNCS_H