X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraph.h;h=ee61d83bcbbedc97c496b442eae0764c21af0822;hb=2417d9d911dbca181c48f45d1aad26d31c9aa815;hp=3a39620c85adae7c39cdd73479413f67256002ad;hpb=75637c0dd82f0f7497671310542e85cae478a99b;p=lyx.git diff --git a/src/Paragraph.h b/src/Paragraph.h index 3a39620c85..ee61d83bcb 100644 --- a/src/Paragraph.h +++ b/src/Paragraph.h @@ -17,10 +17,8 @@ #define PARAGRAPH_H #include "Changes.h" -#include "Dimension.h" #include "InsetList.h" #include "lyxlayout_ptr_fwd.h" -#include "Row.h" #include "insets/Inset.h" // only for Inset::Code @@ -93,7 +91,7 @@ public: /// Language const * getParLanguage(BufferParams const &) const; /// - bool isRightToLeftPar(BufferParams const &) const; + bool isRTL(BufferParams const &) const; /// void changeLanguage(BufferParams const & bparams, Language const * from, Language const * to); @@ -115,11 +113,11 @@ public: void validate(LaTeXFeatures &) const; /// - int startTeXParParams(BufferParams const &, odocstream &, TexRow &, + int startTeXParParams(BufferParams const &, odocstream &, TexRow &, bool) const; /// - int endTeXParParams(BufferParams const &, odocstream &, TexRow &, + int endTeXParParams(BufferParams const &, odocstream &, TexRow &, bool) const; @@ -172,9 +170,9 @@ public: bool empty() const { return text_.empty(); } /// - Layout_ptr const & layout() const; + LayoutPtr const & layout() const; /// - void layout(Layout_ptr const & new_layout); + void layout(LayoutPtr const & new_layout); /// This is the item depth, only used by enumerate and itemize signed char itemdepth; @@ -236,7 +234,7 @@ public: docstring const translateIfPossible(docstring const & label, BufferParams const & bparams) const; /// Expand the counters for the labelstring of \c layout - docstring expandLabel(Layout_ptr const &, BufferParams const &, + docstring expandLabel(LayoutPtr const &, BufferParams const &, bool process_appendix = true) const; /// Actual paragraph alignment used char getAlign() const; @@ -245,7 +243,7 @@ public: /// The maximal possible depth of a paragraph after this one depth_type getMaxDepthAfter() const; /// - void applyLayout(Layout_ptr const & new_layout); + void applyLayout(LayoutPtr const & new_layout); /// (logically) erase the char at pos; return true if it was actually erased bool eraseChar(pos_type pos, bool trackChanges); @@ -293,21 +291,21 @@ public: pos_type endpos, Font_size def_size) const; /// void insert(pos_type pos, docstring const & str, - Font const & font, Change const & change); + Font const & font, Change const & change); /// void insertChar(pos_type pos, value_type c, bool trackChanges); /// void insertChar(pos_type pos, value_type c, - Font const &, bool trackChanges); + Font const &, bool trackChanges); /// void insertChar(pos_type pos, value_type c, - Font const &, Change const & change); + Font const &, Change const & change); /// void insertInset(pos_type pos, Inset * inset, - Change const & change); + Change const & change); /// void insertInset(pos_type pos, Inset * inset, - Font const &, Change const & change); + Font const &, Change const & change); /// bool insetAllowed(Inset_code code); /// @@ -341,7 +339,7 @@ public: /// returns -1 if inset not found int getPositionOfInset(Inset const * inset) const; - /// returns true if at least one line break or line separator has been deleted + /// returns true if at least one line break or line separator has been deleted /// at the beginning of the paragraph (either physically or logically) bool stripLeadingSpaces(bool trackChanges); @@ -356,12 +354,19 @@ public: ParagraphParameters & params(); /// ParagraphParameters const & params() const; - /// - bool hfillExpansion(Row const & row, pos_type pos) const; - /// Check if we are in a Biblio environment. - /// \retval true if the cursor needs to be moved right. - bool checkBiblio(bool track_changes); + /// Check if we are in a Biblio environment and insert or + /// delete InsetBibitems as necessary. + /// \retval int 1, if we had to add an inset, in which case + /// the cursor will need to move cursor forward; -pos, if we deleted + /// an inset, in which case pos is the position from which the inset + /// was deleted, and the cursor will need to be moved back one if it + /// was previously past that position. Return 0 otherwise. + int checkBiblio(bool track_changes); + + /// For each author, set 'used' to true if there is a change + /// by this author in the paragraph. + void checkAuthors(AuthorList const & authorList); public: /// @@ -370,7 +375,7 @@ public: private: /// - Layout_ptr layout_; + LayoutPtr layout_; /** * Keeping this here instead of in the pimpl makes LyX >10% faster * for average tasks as buffer loading/switching etc.