+ void setContentsFromPar(Paragraph const & par);
+ /// set tracking mode
+ void trackChanges(Change::Type type = Change::UNCHANGED);
+ /// stop tracking
+ void untrackChanges();
+ /// set all text as new for change mode
+ void cleanChanges();
+ /// look up change type at given pos
+ Change::Type lookupChange(lyx::pos_type pos) const;
+ /// look up change at given pos
+ Change const lookupChangeFull(lyx::pos_type pos) const;
+ /// is there a change in the given range ?
+ bool isChanged(lyx::pos_type start, lyx::pos_type end) const;
+ /// is there a non-addition in this range ?
+ bool isChangeEdited(lyx::pos_type start, lyx::pos_type end) const;
+
+ /// set change at pos
+ void setChange(lyx::pos_type pos, Change::Type type);
+
+ /// mark as erased
+ void markErased();
+
+ /// accept change
+ void acceptChange(lyx::pos_type start, lyx::pos_type end);
+
+ /// reject change
+ void rejectChange(lyx::pos_type start, lyx::pos_type end);
+
+ /// are we tracking changes ?
+ bool tracking() const {
+ return changes_.get();
+ }
+