LyX 1.6.0 release candidate 4 (rc4)
[lyx.git] / src / buffer_funcs.h
blob44ff0a37ed19f14658eebd719ea6d001f8302ab0
1 // -*- C++ -*-
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 <string>
17 namespace lyx {
19 namespace support { class FileName; }
21 class Buffer;
22 class DocIterator;
23 class ParIterator;
25 /**
26 * Checks and loads a LyX file \param filename.
27 * \retval the newly created \c Buffer pointer if successful or 0.
28 * \retval 0 if the \c Buffer could not be created.
30 Buffer * checkAndLoadLyXFile(support::FileName const & filename);
32 /** Make a new file (buffer) with name \c filename based on a template
33 * named \c templatename
35 Buffer * newFile(std::string const & filename, std::string const & templatename,
36 bool isNamed = false);
38 /** Make a new unnamed file (buffer) based on a template
39 * named \c templatename
41 Buffer * newUnnamedFile(std::string const & templatename,
42 support::FileName const & path);
44 /// Count the number of words in the text between these two iterators
45 int countWords(DocIterator const & from, DocIterator const & to);
47 /// Count the number of chars in the text between these two iterators
48 int countChars(DocIterator const & from, DocIterator const & to, bool with_blanks);
50 /// updates all counters
51 void updateLabels(Buffer const &, bool childonly = false);
53 ///
54 void updateLabels(Buffer const &, ParIterator &);
56 } // namespace lyx
58 #endif // BUFFER_FUNCS_H