#include "Color.h"
-#include "support/docstream.h"
#include "support/strfwd.h"
#include "support/types.h"
#include "support/lyxtime.h"
+#include "texstream.h"
+
#include <vector>
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?
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
/// 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);
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 {
/// 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_;
};