]> git.lyx.org Git - lyx.git/blobdiff - src/texrow.h
move definition of variables to the main cmake file
[lyx.git] / src / texrow.h
index 0c3adb33301aed9f223042258bbbec3b53a41e4e..ba80acb58a47135ad8aa04dabbd25536028ad5f7 100644 (file)
@@ -1,99 +1,96 @@
 // -*- C++ -*-
-/* This file is part of
- * ====================================================== 
- * 
- *           LyX, The Document Processor
- *      
- *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2001 The LyX Team
+/**
+ * \file texrow.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * ====================================================== */
+ * \author Matthias Ettrich
+ * \author Lars Gullik Bjønnes
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
+ */
 
 #ifndef TEXROW_H
 #define TEXROW_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
 #include <list>
 
-class Paragraph;
 
-// Controls correspondance between paragraphs and the generated LaTeX file
+/// Represents the correspondence between paragraphs and the generated LaTeX file
 class TexRow {
 public:
        ///
-       TexRow() : count(0), lastpar(0), lastpos(-1) {}
+       TexRow() : count(0), lastid(-1), lastpos(-1) {}
+
+       TexRow & operator+= (TexRow const &);
 
        /// Clears structure
        void reset();
 
        /// Define what paragraph and position the next row will represent
-       void start(Paragraph * par, int pos);
+       void start(int id, int pos);
 
        /// Insert node when line is completed
        void newline();
 
-       /// Returns paragraph id and position from a row number
+       /**
+        * getIdFromRow - find pid and position for a given row
+        * @param row row number to find
+        * @param id set to id if found
+        * @param pos set to paragraph position if found
+        * @return true if found, false otherwise
+        *
+        * If the row could not be found, pos is set to zero and
+        * id is set to -1
+        */
        bool getIdFromRow(int row, int & id, int & pos) const;
 
-       /// Appends another TexRow
-       TexRow & operator+= (TexRow const &);
-
-       /// Returns the number of rows in this texrow
+       /// Returns the number of rows contained
        int rows() const { return count; }
 
-       /// Linked list of items
+       /// an individual id/pos <=> row mapping
        class RowItem {
        public:
-               ///
-               RowItem() : id_(-1), pos_(-1), rownumber_(0) {}
-               ///
-               void id(int i) {
-                       id_ = i;
-               }
-               ///
+               RowItem(int id, int pos, int row)
+                       : id_(id), pos_(pos), rownumber_(row)
+               {}
+
+               /// paragraph id
                int id() const {
                        return id_;
                }
-               ///
+
+               /// set paragraph position
                void pos(int p) {
                        pos_ = p;
                }
-               ///
+
+               /// paragraph position
                int pos() const {
                        return pos_;
                }
-               ///
-               void rownumber(int r) {
-                       rownumber_ = r;
-               }
-               ///
+
+               /// row number
                int rownumber() const {
                        return rownumber_;
                }
        private:
-               ///
                int id_;
-               ///
                int pos_;
-               ///
                int rownumber_;
        };
        ///
        typedef std::list<RowItem> RowList;
-       ///
-       void increasePos(int id, int pos) const;
 private:
-       ///
+       /// number of lines
        unsigned int count;
-       ///
-       mutable RowList rowlist;
+       /// container of id/pos <=> row mapping
+       RowList rowlist;
        /// Last paragraph
-       Paragraph * lastpar;
+       int lastid;
        /// Last position
        int lastpos;
-       
 };
-#endif
+
+#endif // TEXROW_H