]> git.lyx.org Git - lyx.git/blobdiff - src/Changes.h
Remove boost/format support
[lyx.git] / src / Changes.h
index cb5f57b080a360a939cf8ffc030ce4866a097a24..1d55b03b548acd191cb36d77d764bc16df0bc130 100644 (file)
 
 #include "Color.h"
 
-#include "support/docstream.h"
 #include "support/strfwd.h"
 #include "support/types.h"
 #include "support/lyxtime.h"
 
+#include "texstream.h"
+
 #include <vector>
 
 
@@ -41,7 +42,7 @@ public:
                DELETED // deleted text
        };
 
-       explicit Change(Type t = UNCHANGED, int a = 0, time_t ct = current_time())
+       explicit Change(Type t = UNCHANGED, int a = 0, time_t ct = support::current_time())
                : type(t), author(a), changetime(ct) {}
 
        /// is the change similar to the given change such that both can be merged?
@@ -77,6 +78,8 @@ class BufferParams;
 
 class Changes {
 public:
+       Changes() : is_update_required_(false) {}
+
        /// set the pos to the given change
        void set(Change const & change, pos_type pos);
        /// set the range (excluding end) to the given change
@@ -97,13 +100,15 @@ public:
 
        /// return true if there is a change in the given range (excluding end)
        bool isChanged(pos_type start, pos_type end) const;
+       ///
+       bool isChanged() const;
 
        /// return true if the whole range is deleted
        bool isDeleted(pos_type start, pos_type end) const;
 
        /// output latex to mark a transition between two change types
        /// returns length of text outputted
-       static int latexMarkChange(odocstream & os, BufferParams const & bparams,
+       static int latexMarkChange(otexstream & os, BufferParams const & bparams,
                                   Change const & oldChange, Change const & change,
                                   OutputParams const & runparams);
 
@@ -115,7 +120,13 @@ public:
        void checkAuthors(AuthorList const & authorList);
 
        ///
-       void addToToc(DocIterator const & cdit, Buffer const & buffer) const;
+       void addToToc(DocIterator const & cdit, Buffer const & buffer,
+               bool output_active) const;
+
+       ///
+       void updateBuffer(Buffer const & buf);
+       ///
+       bool isUpdateRequired() const { return is_update_required_; }
 
 private:
        class Range {
@@ -159,6 +170,10 @@ private:
 
        /// table of changes, every row a change and range descriptor
        ChangeTable table_;
+
+       /// signals that the buffer's flag tracked_changes_present_ needs to be
+       /// recalculated
+       bool is_update_required_;
 };