///
bool empty() const { return text_.empty(); }
///
- void setContentsFromPar(Paragraph const & par);
- ///
void clearContents();
///
/// is there a change within the given range ?
bool isChanged(pos_type start, pos_type end) const;
+ /// is there an unchanged char at the given pos ?
+ bool isUnchanged(pos_type pos) const {
+ return lookupChange(pos).type == Change::UNCHANGED;
+ }
+ /// is there an insertion at the given pos ?
+ bool isInserted(pos_type pos) const {
+ return lookupChange(pos).type == Change::INSERTED;
+ }
/// is there a deletion at the given pos ?
bool isDeleted(pos_type pos) const {
return lookupChange(pos).type == Change::DELETED;
/// set change at given pos
void setChange(pos_type pos, Change const & change);
- /// accept change
- void acceptChange(pos_type start, pos_type end);
+ /// accept changes within the given range
+ void acceptChanges(pos_type start, pos_type end);
- /// reject change
- void rejectChange(pos_type start, pos_type end);
+ /// reject changes within the given range
+ void rejectChanges(pos_type start, pos_type end);
/// Paragraphs can contain "manual labels", for example, Description
/// environment. The text for this user-editable label is stored in
///
void applyLayout(LyXLayout_ptr const & new_layout);
- /// erase the char at the given position
- bool erase(pos_type pos, bool trackChanges);
- /// erase the given range. Returns the number of chars actually erased
- int erase(pos_type start, pos_type end, bool trackChanges);
+ /// (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);
/** Get uninstantiated font setting. Returns the difference
between the characters font and the layoutfont.
value_type getChar(pos_type pos) const { return text_[pos]; }
/// Get the char, but mirror all bracket characters if it is right-to-left
value_type getUChar(BufferParams const &, pos_type pos) const;
- /// The position must already exist.
- void setChar(pos_type pos, value_type c);
/// pos <= size() (there is a dummy font change at the end of each par)
void setFont(pos_type pos, LyXFont const & font);
/// Returns the height of the highest font in range
LyXFont_size highestFontInRange(pos_type startpos,
pos_type endpos, LyXFont_size def_size) const;
///
- void insert(pos_type pos, std::string const & str,
+ void insert(pos_type pos, docstring const & str,
LyXFont const & font, Change const & change);
///
void insertChar(pos_type pos, value_type c, bool trackChanges);