]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph.h
cosmetic fix
[lyx.git] / src / paragraph.h
index 1524217ac371efad2befa72ed45719b04401632c..6581b639ed89022dcd4761d10726410a01b197ef 100644 (file)
@@ -13,7 +13,7 @@
 #include "lyxfont.h" // Just for LyXFont::FONT_SIZE
 #include "InsetList.h"
 
-#include "insets/inset.h" // Just for Inset::Code
+#include "insets/inset.h" // Just for InsetOld::Code
 
 #include "support/types.h"
 #include "changes.h"
@@ -31,6 +31,7 @@ class LatexRunParams;
 class ParagraphParameters;
 class TexRow;
 class ParagraphList;
+class UpdatableInset;
 
 /// A Paragraph holds all text, attributes and insets in a text paragraph
 class Paragraph  {
@@ -55,7 +56,7 @@ public:
        ///
        Paragraph(Paragraph const &);
        ///
-       //void operator=(Paragraph const &);
+       void operator=(Paragraph const &);
        /// the destructor removes the new paragraph from the list
        ~Paragraph();
 
@@ -105,9 +106,9 @@ public:
        void makeSameLayout(Paragraph const & par);
 
        ///
-       Inset * inInset() const;
+       UpdatableInset * inInset() const;
        ///
-       void setInsetOwner(Inset * i);
+       void setInsetOwner(UpdatableInset * inset);
        ///
        void deleteInsetsLyXText(BufferView *);
        ///
@@ -221,6 +222,13 @@ public:
                                    LyXFont const & outerfont) const;
        LyXFont const getLabelFont(BufferParams const &,
                                   LyXFont const & outerfont) const;
+       /**
+        * The font returned by the above functions is the same in a
+        * span of characters. This method will return the last position
+        * in the paragraph for which that font is the same.
+        * This can be used to avoid unnecessary calls to getFont.
+        */
+       lyx::pos_type getEndPosOfFontSpan(lyx::pos_type pos) const;
        ///
        value_type getChar(lyx::pos_type pos) const;
        ///
@@ -241,18 +249,18 @@ public:
        ///
        bool checkInsertChar(LyXFont &);
        ///
-       void insertInset(lyx::pos_type pos, Inset * inset);
+       void insertInset(lyx::pos_type pos, InsetOld * inset);
        ///
-       void insertInset(lyx::pos_type pos, Inset * inset, LyXFont const &, Change change = Change(Change::INSERTED));
+       void insertInset(lyx::pos_type pos, InsetOld * inset, LyXFont const &, Change change = Change(Change::INSERTED));
        ///
-       bool insetAllowed(Inset::Code code);
+       bool insetAllowed(InsetOld::Code code);
        ///
-       Inset * getInset(lyx::pos_type pos);
+       InsetOld * getInset(lyx::pos_type pos);
        ///
-       Inset const * getInset(lyx::pos_type pos) const;
+       InsetOld const * getInset(lyx::pos_type pos) const;
        /** important for cut and paste
            Temporary change from BufferParams to Buffer. Will revert when we
-           get rid of the argument to Inset::clone(Buffer const &) */
+           get rid of the argument to InsetOld::clone(Buffer const &) */
        void copyIntoMinibuffer(Buffer const &, lyx::pos_type pos) const;
        ///
        void cutIntoMinibuffer(BufferParams const &, lyx::pos_type pos);
@@ -277,14 +285,17 @@ public:
        bool isWord(lyx::pos_type pos) const;
 
        /// returns -1 if inset not found
-       int getPositionOfInset(Inset const * inset) const;
+       int getPositionOfInset(InsetOld const * inset) const;
 
        ///
        int stripLeadingSpaces();
 
-       ///
+       /// return true if we allow multiple spaces
        bool isFreeSpacing() const;
 
+       /// return true if we allow this par to stay empty
+       bool allowEmpty() const;
+
        ///
        ParagraphParameters & params();
        ///