X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fparagraph_pimpl.h;h=efb347c2494dfbdc341c305c42a8c9b325ec72cb;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=7c91142cbe3a94e35ff37b321bdd683620d3766d;hpb=cbe1309573c8969ac85855f644cf18e267cad20a;p=lyx.git diff --git a/src/paragraph_pimpl.h b/src/paragraph_pimpl.h index 7c91142cbe..efb347c249 100644 --- a/src/paragraph_pimpl.h +++ b/src/paragraph_pimpl.h @@ -23,6 +23,9 @@ #include + +namespace lyx { + class LyXLayout; @@ -32,45 +35,33 @@ public: Pimpl(Paragraph * owner); /// "Copy constructor" Pimpl(Pimpl const &, Paragraph * owner); - /// - void setContentsFromPar(Paragraph const & par); // // Change tracking // /// look up change at given pos - Change const lookupChange(lyx::pos_type pos) const; + Change const lookupChange(pos_type pos) const; /// is there a change within 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; + bool isChanged(pos_type start, pos_type end) const; /// set change for the entire par void setChange(Change const & change); - /// set change type at given pos - void setChangeType(lyx::pos_type pos, Change::Type type); /// set change at given pos - void setChange(lyx::pos_type pos, Change const & change); - /// 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(); } + 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(lyx::pos_type pos) const; + value_type getChar(pos_type pos) const; /// - void setChar(lyx::pos_type pos, value_type c); + void insertChar(pos_type pos, value_type c, Change const & change); /// - void insertChar(lyx::pos_type pos, value_type c, Change const & change); - /// - void insertInset(lyx::pos_type pos, InsetBase * inset, Change const & 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); + 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); /// InsetBase * inset_owner; @@ -88,20 +79,20 @@ public: class FontTable { public: /// - FontTable(lyx::pos_type p, LyXFont const & f) + FontTable(pos_type p, LyXFont const & f) : pos_(p), font_(f) {} /// - lyx::pos_type pos() const { return pos_; } + pos_type pos() const { return pos_; } /// - void pos(lyx::pos_type p) { pos_ = p; } + void pos(pos_type p) { pos_ = p; } /// LyXFont const & font() const { return font_; } /// void font(LyXFont const & f) { font_ = f;} private: /// End position of paragraph this font attribute covers - lyx::pos_type pos_; + pos_type pos_; /** Font. Interpretation of the font values: If a value is LyXFont::INHERIT_*, it means that the font attribute is inherited from either the layout of this @@ -130,14 +121,14 @@ public: FontList fontlist; /// - void simpleTeXBlanks(std::ostream &, TexRow & texrow, - lyx::pos_type const i, + void simpleTeXBlanks(odocstream &, TexRow & texrow, + pos_type const i, unsigned int & column, LyXFont const & font, LyXLayout const & style); /// void simpleTeXSpecialChars(Buffer const &, BufferParams const &, - std::ostream &, TexRow & texrow, + odocstream &, TexRow & texrow, OutputParams const &, LyXFont & font, LyXFont & running_font, LyXFont & basefont, @@ -145,7 +136,7 @@ public: bool & open_font, Change::Type & running_change, LyXLayout const & style, - lyx::pos_type & i, + pos_type & i, unsigned int & column, value_type const c); /// @@ -161,15 +152,18 @@ public: private: /// - lyx::pos_type size() const { return owner_->size(); } + pos_type size() const { return owner_->size(); } /// match a string against a particular point in the paragraph - bool isTextAt(std::string const & str, lyx::pos_type pos) const; + bool isTextAt(std::string const & str, pos_type pos) const; - /// for recording and looking up changes in revision tracking mode - boost::scoped_ptr changes_; + /// for recording and looking up changes + Changes changes_; /// Who owns us? Paragraph * owner_; }; + +} // namespace lyx + #endif