]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.h
Re-fix #11146 with recent LaTeX
[lyx.git] / src / Paragraph.h
index 813640e548d5e0aa65594bef4e4cbef961f53498..61cd05853e9adaeff51f0ab9d72c426f21961c0f 100644 (file)
@@ -17,6 +17,7 @@
 #define PARAGRAPH_H
 
 #include "FontEnums.h"
+#include "LayoutEnums.h"
 #include "SpellChecker.h"
 
 #include "support/strfwd.h"
@@ -47,6 +48,7 @@ class MetricsInfo;
 class OutputParams;
 class PainterInfo;
 class ParagraphParameters;
+class TocBackend;
 class WordLangTuple;
 class XHTMLStream;
 class otexstream;
@@ -66,7 +68,7 @@ public:
        {
                return first < s.first;
        }
-       
+
        inline bool operator==(FontSpan const & s) const
        {
                return first == s.first && last == s.last;
@@ -81,7 +83,7 @@ public:
        {
                return empty() ? 0 : last - first;
        }
-       
+
 
        inline FontSpan intersect(FontSpan const & f) const
        {
@@ -98,7 +100,7 @@ public:
                        result.last = last;
                return result;
        }
-       
+
        inline bool empty() const
        {
                return first > last;
@@ -150,7 +152,7 @@ public:
 
        ///
        void addChangesToToc(DocIterator const & cdit, Buffer const & buf,
-               bool output_active) const;
+                            bool output_active, TocBackend & backend) const;
        /// set the buffer flag if there are changes in the paragraph
        void addChangesToBuffer(Buffer const & buf) const;
        ///
@@ -261,10 +263,12 @@ public:
        /// look up change at given pos
        Change const & lookupChange(pos_type pos) const;
 
-       /// is there a change within the given range ?
+       /// is there a change within the given range (does not
+       /// check contained paragraphs)
        bool isChanged(pos_type start, pos_type end) const;
        /// is there an unchanged char at the given pos ?
        bool isChanged(pos_type pos) const;
+
        /// is there an insertion at the given pos ?
        bool isInserted(pos_type pos) const;
        /// is there a deletion at the given pos ?
@@ -308,7 +312,9 @@ public:
        /// Set label width string.
        void setLabelWidthString(docstring const & s);
        /// Actual paragraph alignment used
-       char getAlign() const;
+       LyXAlignment getAlign(BufferParams const &) const;
+       /// Default paragraph alignment as determined by layout
+       LyXAlignment getDefaultAlign(BufferParams const &) const;
        /// The nesting depth of a paragraph
        depth_type getDepth() const;
        /// The maximal possible depth of a paragraph after this one
@@ -356,7 +362,8 @@ public:
        ///
        char_type getChar(pos_type pos) const;
        /// Get the char, but mirror all bracket characters if it is right-to-left
-       char_type getUChar(BufferParams const &, pos_type pos) const;
+       char_type getUChar(BufferParams const &, OutputParams const &,
+                          pos_type pos) const;
        /// pos <= size() (there is a dummy font change at the end of each par)
        void setFont(pos_type pos, Font const & font);
        ///
@@ -466,7 +473,7 @@ public:
                bool mw, ///<
                pos_type pos, ///< start from here.
                bool del = true) const;
-       
+
        void locateWord(pos_type & from, pos_type & to,
                word_location const loc) const;
        ///
@@ -503,6 +510,10 @@ public:
        /// presently used only in the XHTML output routines.
        std::string magicLabel() const;
 
+       /// anonymizes the paragraph contents (but not the paragraphs
+       /// contained inside it. Does not handle undo.
+       void anonymize();
+
 private:
        /// Expand the counters for the labelstring of \c layout
        docstring expandParagraphLabel(Layout const &, BufferParams const &,