- 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(bool);
- /// 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(); }
-
- ///
- value_type getChar(lyx::pos_type pos) const;
- ///
- void setChar(lyx::pos_type pos, value_type c);
- ///
- void insertChar(lyx::pos_type pos, value_type c, Change change);
- ///
- void insertInset(lyx::pos_type pos, InsetBase * inset, Change change);
- /// definite erase
- void eraseIntern(lyx::pos_type pos);
- /// erase the given position. Returns true if it was actually erased
- bool erase(lyx::pos_type pos);
- /// erase the given range
- int erase(lyx::pos_type start, lyx::pos_type end);
+ Change const lookupChange(pos_type pos) const;
+ /// is there a change within the given range ?
+ bool isChanged(pos_type start, pos_type end) const;
+ /// set change for the entire par
+ void setChange(Change const & change);
+ /// set change at given pos
+ void setChange(pos_type pos, Change const & change);
+ /// accept changes within the given range
+ void acceptChanges(pos_type start, pos_type end);
+ /// reject changes within the given range
+ void rejectChanges(pos_type start, pos_type end);
+
+ ///
+ value_type getChar(pos_type pos) const;
+ ///
+ void insertChar(pos_type pos, value_type c, Change const & change);
+ ///
+ void insertInset(pos_type pos, InsetBase * inset, Change const & change);
+ /// (logically) erase the char at pos; return true if it was actually erased
+ bool eraseChar(pos_type pos, bool trackChanges);
+ /// (logically) erase the given range; return the number of chars actually erased
+ int eraseChars(pos_type start, pos_type end, bool trackChanges);