]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrow.h
rename Inset to InsetOld
[lyx.git] / src / lyxrow.h
index fb53c7d4540236b1493c539b312005ae2606540f..e7c1183958acb70fb816be65a10b42b937bee228 100644 (file)
@@ -4,7 +4,8 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author unknown
+ * \author Matthias Ettrich
+ * \author Lars Gullik Bjønnes
  *
  * Full author contact details are available in file CREDITS
  *
 #ifndef LYXROW_H
 #define LYXROW_H
 
+#include "ParagraphList.h"
 #include "support/types.h"
 
-class Paragraph;
-
 ///
 class Row {
 public:
        ///
        Row();
-
        ///
-       void par(Paragraph * p);
+       Row(ParagraphList::iterator pit, lyx::pos_type pos);
        ///
-       Paragraph * par();
+       void par(ParagraphList::iterator pit);
        ///
-       Paragraph * par() const;
+       ParagraphList::iterator par();
+       ///
+       ParagraphList::iterator par() const;
        ///
        void pos(lyx::pos_type p);
        ///
@@ -58,98 +59,32 @@ public:
        void baseline(unsigned int b);
        ///
        unsigned int baseline() const;
-       ///
-       void next(Row * r);
-       ///
-       Row * next() const;
-       ///
-       void previous(Row * r);
-       ///
-       Row * previous() const;
-
        /// return true if this row is the start of a paragraph
        bool isParStart() const;
-
-       /// return true if this  row is the end of a paragraph
-       bool isParEnd() const;
-
-       /// return the position of the last character in this row
-       lyx::pos_type lastPos() const;
-       /// return the position of the last normal, printable character in this row
-       lyx::pos_type lastPrintablePos() const;
-
-       /**
-        * Returns the number of separators.
-        * The separator on the very last column doesnt count.
-        */
-       int numberOfSeparators() const;
-
-       /**
-        * Returns the number of hfills. It works like a LaTeX \hfill:
-        * the hfills at the beginning and at the end are ignored.
-        * This is much more useful than not to ignore!
-        */
-       int numberOfHfills() const;
-
-       /// Returns the number of hfills in the manual label. See numberOfHfills().
-       int numberOfLabelHfills() const;
-
-       /**
-        * Returns true if a expansion is needed at the given position.
-        * Rules are given by LaTeX
-        */
-       bool hfillExpansion(lyx::pos_type pos) const;
-
+       /// return the cached y position
+       unsigned int y() const;
+       /// cache the y position
+       void y(unsigned int newy);
 private:
        ///
-       Paragraph * par_;
+       ParagraphList::iterator pit_;
        ///
        lyx::pos_type pos_;
-       /** what is missing to a full row can be negative.
+       /** what is missing to a full row. Can be negative.
          Needed for hfills, flushright, block etc. */
        mutable int fill_;
        ///
        unsigned short height_;
        ///
        unsigned int width_;
+       /// cached y position
+       unsigned int y_;
        /// ascent from baseline including prelude space
        unsigned short ascent_of_text_;
        /// the top of the real text in the row
        unsigned int top_of_text_;
        ///
        unsigned int baseline_;
-       ///
-       Row * next_;
-       ///
-       Row * previous_;
 };
 
-
-inline
-Paragraph * Row::par()
-{
-       return par_;
-}
-
-
-inline
-Paragraph * Row::par() const
-{
-       return par_;
-}
-
-
-inline
-unsigned short Row::height() const
-{
-       return height_;
-}
-
-
-inline
-Row * Row::next() const
-{
-       return next_;
-}
-
 #endif