X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fparagraph.h;h=f3c3700025dbd9abfca3ba99f5ace62cedcc1cfe;hb=8c93f63b48a1b15d4f3e163b7305213f2f73879e;hp=83337fbd14ff2acd26f6a5aa48686ce005288108;hpb=7856f2c683c562ef563e7a04055a324f3b7cc58b;p=lyx.git diff --git a/src/paragraph.h b/src/paragraph.h index 83337fbd14..f3c3700025 100644 --- a/src/paragraph.h +++ b/src/paragraph.h @@ -48,13 +48,17 @@ class TexRow; class FontSpan { public: - FontSpan() : first(0), last(0) {} + /// Invalid font span containing no character + FontSpan() : first(0), last(-1) {} + /// Span including first and last FontSpan(lyx::pos_type f, lyx::pos_type l) : first(f), last(l) {} - lyx::pos_type first; - lyx::pos_type last; + +public: + /// Range including first and last. + lyx::pos_type first, last; }; - + /// A Paragraph holds all text, attributes and insets in a text paragraph class Paragraph { public: @@ -103,10 +107,10 @@ public: /// std::string const asString(Buffer const &, bool label) const; /// - std::string const Paragraph::asString(Buffer const & buffer, - lyx::pos_type beg, - lyx::pos_type end, - bool label) const; + std::string const asString(Buffer const & buffer, + lyx::pos_type beg, + lyx::pos_type end, + bool label) const; /// std::string const asString(Buffer const &, OutputParams const & runparams, @@ -221,14 +225,17 @@ public: /// set change at pos void setChange(lyx::pos_type pos, Change::Type type); + /// set full change at pos + void setChangeFull(lyx::pos_type pos, Change 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); - /// mark whole par as erased - void markErased(); + /// mark whole par as erased or not + void markErased(bool erased); /// Paragraphs can contain "manual labels", for example, Description /// environment. The text for this user-editable label is stored in @@ -269,7 +276,7 @@ public: LyXFont const getFontSettings(BufferParams const &, lyx::pos_type pos) const; /// - LyXFont const getFirstFontSettings() const; + LyXFont const getFirstFontSettings(BufferParams const &) const; /** Get fully instantiated font. If pos == -1, use the layout font attached to this paragraph. @@ -387,6 +394,8 @@ public: RowList & rows() { return rows_; } /// The painter and others use this RowList const & rows() const { return rows_; } + /// + RowSignature & rowSignature() const { return rowSignature_; } /// LyXText::redoParagraph updates this Dimension & dim() { return dim_; } @@ -404,6 +413,9 @@ private: /// mutable RowList rows_; + /// + mutable RowSignature rowSignature_; + /// LyXLayout_ptr layout_; /**