]> git.lyx.org Git - lyx.git/blobdiff - src/Changes.h
Update my email and status.
[lyx.git] / src / Changes.h
index 643a7fae38029be72a5051ccdb07548d0c1e8230..84c4fea707e67d684287cb6e83cd36d3e0d368b4 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "Color.h"
 
+#include "support/docstream.h"
 #include "support/strfwd.h"
 #include "support/types.h"
 #include "support/lyxtime.h"
@@ -29,6 +30,7 @@ namespace lyx {
 class AuthorList;
 class Buffer;
 class DocIterator;
+class OutputParams;
 
 class Change {
 public:
@@ -39,7 +41,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?
@@ -58,6 +60,8 @@ public:
        bool deleted() const { return type == DELETED; }
        ///
        void setDeleted() { type = DELETED; }
+       /// Is this change made by the current author ?
+       bool currentAuthor() const { return author == 0; }
 
        Type type;
 
@@ -94,14 +98,18 @@ public:
        /// return true if there is a change in the given range (excluding end)
        bool isChanged(pos_type start, pos_type end) 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,
-                                  Change const & oldChange, Change const & change);
+       static int latexMarkChange(otexstream & os, BufferParams const & bparams,
+                                  Change const & oldChange, Change const & change,
+                                  OutputParams const & runparams);
 
        /// output .lyx file format for transitions between changes
-       static void lyxMarkChange(std::ostream & os, int & column,
-               Change const & old, Change const & change);
+       static void lyxMarkChange(std::ostream & os, BufferParams const & bparams,
+               int & column, Change const & old, Change const & change);
 
        ///
        void checkAuthors(AuthorList const & authorList);