]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.h
fix warning
[lyx.git] / src / Paragraph.h
index cdf2e58d97af2aa7da56e1c7a0da0f9e4c17847c..6fdb27017765955175ae263450220195b476fe07 100644 (file)
@@ -72,6 +72,15 @@ enum TextCase {
 };
 
 
+///
+enum AsStringParameter
+{
+       AS_STR_NONE = 0, ///< No option, only printable characters.
+       AS_STR_LABEL = 1, ///< Prefix with paragraph label.
+       AS_STR_INSETS = 2 ///< Go into insets.
+};
+
+
 /// A Paragraph holds all text, attributes and insets in a text paragraph
 class Paragraph
 {
@@ -80,6 +89,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 &);
        ///
@@ -98,15 +110,15 @@ public:
        bool isMultiLingual(BufferParams const &) const;
 
        /// Convert the paragraph to a string.
-       /// This method doesn't go inside insets, only printable characters in this
-       /// paragraph are used.
-       /// Used for building the table of contents
-       docstring const printableString(bool label) const;
-
-       /// Convert the paragraph to a string.
-       docstring asString(bool label) const;
+       /// \param AsStringParameter options. This can contain any combination of
+       /// asStringParameter values. Valid examples:
+       ///             asString(AS_STR_LABEL)
+       ///             asString(AS_STR_LABEL | AS_STR_INSETS)
+       ///             asString(AS_STR_INSETS)
+       docstring asString(int options = AS_STR_NONE) const;
        ///
-       docstring asString(pos_type beg, pos_type end, bool label) const;
+       docstring asString(pos_type beg, pos_type end,
+               int options = AS_STR_NONE) const;
 
        ///
        void write(std::ostream &, BufferParams const &,
@@ -141,17 +153,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;
        ///
@@ -162,7 +174,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;
@@ -296,8 +308,6 @@ public:
        void insertInset(pos_type pos, Inset * inset,
                         Font const &, Change const & change);
        ///
-       bool insetAllowed(InsetCode code);
-       ///
        Inset * getInset(pos_type pos);
        ///
        Inset const * getInset(pos_type pos) const;
@@ -310,6 +320,8 @@ public:
 
        ///
        InsetList const & insetList() const;
+       ///
+       void setBuffer(Buffer &);
 
        ///
        bool isHfill(pos_type pos) const;
@@ -325,6 +337,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)