]> git.lyx.org Git - lyx.git/blobdiff - src/texrow.h
fix typo that put too many include paths for most people
[lyx.git] / src / texrow.h
index 674d3c58dc8060a652d04ca353c05d2d5730dc11..700bcd67dfff7a8e42265be55db2a5d4b154ce8e 100644 (file)
@@ -1,11 +1,11 @@
 // -*- C++ -*-
 /* This file is part of
- * ====================================================== 
- * 
+ * ======================================================
+ *
  *           LyX, The Document Processor
- *      
+ *
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team
+ *           Copyright 1995-2001 The LyX Team
  *
  * ====================================================== */
 
 
 #include <list>
 
-class LyXParagraph;
+class Paragraph;
 
 // Controls correspondance between paragraphs and the generated LaTeX file
 class TexRow {
 public:
        ///
-       TexRow() {
-               count = 0;
-               lastpar = 0;
-               lastpos = -1;
-       }
+       TexRow() : count(0), lastpar(0), lastpos(-1) {}
 
        /// Clears structure
        void reset();
 
        /// Define what paragraph and position the next row will represent
-       void start(LyXParagraph * par, int pos);
+       void start(Paragraph * par, int pos);
 
        /// Insert node when line is completed
        void newline();
 
        /// Returns paragraph id and position from a row number
-       void getIdFromRow(int row, int & id, int & pos);
+       bool getIdFromRow(int row, int & id, int & pos) const;
 
        /// Appends another TexRow
        TexRow & operator+= (TexRow const &);
 
-private:
+       /// Returns the number of rows in this texrow
+       int rows() const { return count; }
+
        /// Linked list of items
-       struct RowItem {
+       class RowItem {
+       public:
+               ///
+               RowItem() : id_(-1), pos_(-1), rownumber_(0) {}
                ///
-               RowItem() {
-                       id = -1;
-                       pos = -1;
-                       rownumber = 0;
+               void id(int i) {
+                       id_ = i;
                }
-
                ///
-               int id;
+               int id() const {
+                       return id_;
+               }
+               ///
+               void pos(int p) {
+                       pos_ = p;
+               }
                ///
-               int pos;
+               int pos() const {
+                       return pos_;
+               }
+               ///
+               void rownumber(int r) {
+                       rownumber_ = r;
+               }
                ///
-               int rownumber;
+               int rownumber() const {
+                       return rownumber_;
+               }
+       private:
+               ///
+               int id_;
+               ///
+               int pos_;
+               ///
+               int rownumber_;
        };
        ///
-       unsigned int count;
-       ///
        typedef std::list<RowItem> RowList;
        ///
-       RowList rowlist;
+       void increasePos(int id, int pos) const;
+private:
+       ///
+       unsigned int count;
+       ///
+       mutable RowList rowlist;
        /// Last paragraph
-       LyXParagraph * lastpar;
+       Paragraph * lastpar;
        /// Last position
        int lastpos;
-       
+
 };
 #endif