X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fparagraph.h;h=5febe6ce64ec2bc9ddc7fdd759fcfd98538f4c4a;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=6afb9fa1065ead5476e8dbe5c6497083b0567438;hpb=51ed92d70c5020ee6215cceb4404b334d5724e2d;p=lyx.git diff --git a/src/paragraph.h b/src/paragraph.h index 6afb9fa106..5febe6ce64 100644 --- a/src/paragraph.h +++ b/src/paragraph.h @@ -178,8 +178,6 @@ public: /// bool empty() const { return text_.empty(); } /// - void setContentsFromPar(Paragraph const & par); - /// void clearContents(); /// @@ -198,6 +196,14 @@ public: /// 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; @@ -209,11 +215,11 @@ public: /// 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 @@ -240,10 +246,10 @@ public: /// void applyLayout(LyXLayout_ptr const & new_layout); - /// erase the char at the given position + /// (logically) erase the char at pos; return true if it was actually erased bool eraseChar(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 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. @@ -286,7 +292,7 @@ public: 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);