]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.h
Paragraph:
[lyx.git] / src / Paragraph.h
index a75ec791116b27e4b0daeb0905d615eb4f58d464..87576afe1f2a31909a3df79d40777a8ac4afd00a 100644 (file)
@@ -33,6 +33,7 @@ class Change;
 class Counters;
 class Cursor;
 class CursorSlice;
+class DocIterator;
 class DocumentClass;
 class Inset;
 class InsetBibitem;
@@ -47,7 +48,7 @@ class OutputParams;
 class PainterInfo;
 class ParagraphParameters;
 class TexRow;
-
+class Toc;
 
 class FontSpan {
 public:
@@ -89,6 +90,9 @@ public:
        Paragraph();
        ///
        Paragraph(Paragraph const &);
+       /// Partial copy constructor.
+       /// Copy the Paragraph contents from \p beg to \p end (without end).
+       Paragraph(Paragraph const & par, pos_type beg, pos_type end);
        ///
        Paragraph & operator=(Paragraph const &);
        ///
@@ -96,6 +100,8 @@ public:
        ///
        int id() const;
 
+       ///
+       void addChangesToToc(DocIterator const & cdit, Buffer const & buf) const;
        ///
        Language const * getParLanguage(BufferParams const &) const;
        ///
@@ -150,17 +156,17 @@ public:
        void makeSameLayout(Paragraph const & par);
 
        ///
-       void setInsetOwner(Inset * inset);
+       void setInsetOwner(Inset const * inset);
        ///
-       Inset * inInset() const;
+       Inset const & inInset() const;
        ///
        InsetCode ownerCode() const;
        ///
-       bool forceEmptyLayout() const;
+       bool forcePlainLayout() const;
        ///
        bool allowParagraphCustomization() const;
        ///
-       bool useEmptyLayout() const;
+       bool usePlainLayout() const;
        ///
        pos_type size() const;
        ///
@@ -171,7 +177,7 @@ public:
        /// Do not pass a temporary to this!
        void setLayout(Layout const & layout);
        ///
-       void setEmptyOrDefaultLayout(DocumentClass const & tc);
+       void setPlainOrDefaultLayout(DocumentClass const & tc);
 
        /// This is the item depth, only used by enumerate and itemize
        signed char itemdepth;
@@ -247,10 +253,10 @@ public:
            between the characters font and the layoutfont.
            This is what is stored in the fonttable
        */
-       Font const
+       Font const &
        getFontSettings(BufferParams const &, pos_type pos) const;
        ///
-       Font const getFirstFontSettings(BufferParams const &) const;
+       Font const getFirstFontSettings(BufferParams const &) const;
 
        /** Get fully instantiated font. If pos == -1, use the layout
            font attached to this paragraph.
@@ -298,14 +304,15 @@ public:
        ///
        void insertChar(pos_type pos, char_type c,
                        Font const &, Change const & change);
-       ///
-       void insertInset(pos_type pos, Inset * inset,
+       /// Insert \p inset at position \p pos with \p change traking status.
+       /// \return true if successful.
+       bool insertInset(pos_type pos, Inset * inset,
                         Change const & change);
-       ///
-       void insertInset(pos_type pos, Inset * inset,
-                        Font const &, Change const & change);
-       ///
-       bool insetAllowed(InsetCode code);
+       /// Insert \p inset at position \p pos with \p change traking status and
+       /// \p font.
+       /// \return true if successful.
+       bool insertInset(pos_type pos, Inset * inset,
+                        Font const & font, Change const & change);
        ///
        Inset * getInset(pos_type pos);
        ///
@@ -319,6 +326,8 @@ public:
 
        ///
        InsetList const & insetList() const;
+       ///
+       void setBuffer(Buffer &);
 
        ///
        bool isHfill(pos_type pos) const;
@@ -334,6 +343,10 @@ public:
        /// True if the character/inset at this point can be part of a word.
        /// Note that digits in particular are considered as letters
        bool isLetter(pos_type pos) const;
+       /// True if the element at this point is a character that is not a letter.
+       bool isChar(pos_type pos) const;
+       /// True if the element at this point is a space
+       bool isSpace(pos_type pos) const;
 
        /// returns true if at least one line break or line separator has been deleted
        /// at the beginning of the paragraph (either physically or logically)