]> git.lyx.org Git - lyx.git/blobdiff - src/buffer_funcs.h
Fix bug 2485 and crash on middle mouse paste on math
[lyx.git] / src / buffer_funcs.h
index 7d741eaf3721fed416ce76c85fe49a4de8281657..d2453780e35eef96dc5db0e21ba6652d2749aeee 100644 (file)
 #ifndef BUFFER_FUNCS_H
 #define BUFFER_FUNCS_H
 
+#include "lyxlayout_ptr_fwd.h"
+
 #include <string>
 
 
 class Buffer;
-class TeXErrors;
+class DocIterator;
 class ErrorList;
+class TeXErrors;
+class ParIterator;
 
 /**
  *  Loads a LyX file \c filename into \c Buffer
@@ -32,10 +36,28 @@ Buffer * newFile(std::string const & filename, std::string const & templatename,
                 bool isNamed = false);
 
 ///return the format of the buffer on a string
-std::string const BufferFormat(Buffer const & buffer);
+std::string const bufferFormat(Buffer const & buffer);
 ///
 void bufferErrors(Buffer const &, TeXErrors const &);
 ///
 void bufferErrors(Buffer const &, ErrorList const &);
 
+/// 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
+std::string expandLabel(Buffer const & buf, LyXLayout_ptr const & layout,
+                       bool appendix);
+
+/// updates current counter and/or label if possible.
+/**
+\retval true if a full updateCounters is required.
+\retval false if a full updateCounters is not required.
+*/
+bool needsUpdateCounters(Buffer const & buf, ParIterator & it);
+
+/// updates all counters
+void updateCounters(Buffer const &);
+
+
 #endif // BUFFER_FUNCS_H