]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.h
adjust
[lyx.git] / src / Paragraph.h
index 038eadb96c091c6068e732f0334a7abccdd37838..9059e2963afab2bddcc2f7721971a2d6bcbb2bc2 100644 (file)
 #define PARAGRAPH_H
 
 #include "Changes.h"
-#include "Dimension.h"
 #include "InsetList.h"
 #include "lyxlayout_ptr_fwd.h"
-#include "RowList_fwd.h"
 
-#include "insets/Inset.h" // only for Inset::Code
+#include "insets/InsetCode.h"
 
 
 namespace lyx {
@@ -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;
 
 
@@ -162,7 +160,7 @@ public:
        ///
        Inset * inInset() const;
        ///
-       Inset::Code ownerCode() const;
+       InsetCode ownerCode() const;
        ///
        bool forceDefaultParagraphs() 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,23 +291,23 @@ 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);
+       bool insetAllowed(InsetCode code);
        ///
        Inset * getInset(pos_type pos) {
                return insetlist.get(pos);
@@ -320,10 +318,8 @@ public:
        }
 
        ///
-       bool isHfill(pos_type pos) const {
-               return isInset(pos)
-                      && getInset(pos)->lyxCode() == Inset::HFILL_CODE;
-       }
+       bool isHfill(pos_type pos) const;
+
        /// hinted by profiler
        bool isInset(pos_type pos) const {
                return getChar(pos) == static_cast<value_type>(META_INSET);
@@ -341,7 +337,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 +352,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 +373,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.