#include "support/types.h"
#include "support/lyxtime.h"
+#include "texstream.h"
+
#include <vector>
class AuthorList;
class Buffer;
class DocIterator;
+class OutputParams;
class Change {
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?
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;
bool isChanged(pos_type start, pos_type end) const;
/// return true if the whole range is deleted
- bool isFullyDeleted(pos_type const start, pos_type const end) const;
+ 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);
///
- void addToToc(DocIterator const & cdit, Buffer const & buffer) const;
+ void addToToc(DocIterator const & cdit, Buffer const & buffer,
+ bool output_active) const;
private:
class Range {