]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph_pimpl.h
split LyXText::rowlist_ into individual Paragraph::rows_ chunks
[lyx.git] / src / paragraph_pimpl.h
index 1304ee8ddf8abc3cd01b82f87e3194fccc4b0f58..5af4d69556b899ceaf8bd22e9075ef273ca515e8 100644 (file)
@@ -1,7 +1,7 @@
 // -*- C++ -*-
 /**
  * \file paragraph_pimpl.h
- * Copyright 1995-2002 the LyX Team
+ * Copyright 1995-2003 the LyX Team
  * Read the file COPYING
  */
 
@@ -14,7 +14,7 @@
 #include "counters.h"
 
 #include <boost/scoped_ptr.hpp>
+
 class LyXLayout;
 
 struct Paragraph::Pimpl {
@@ -24,7 +24,7 @@ struct Paragraph::Pimpl {
        ///
        Pimpl(Paragraph * owner);
        /// Copy constructor
-       Pimpl(Pimpl const &, Paragraph * owner, bool same_ids = false);
+       Pimpl(Pimpl const &, Paragraph * owner);
        ///
        lyx::pos_type size() const {
                return text.size();
@@ -36,7 +36,7 @@ struct Paragraph::Pimpl {
        ///
        void clear();
        ///
-       void setContentsFromPar(Paragraph const * par);
+       void setContentsFromPar(Paragraph const & par);
        /// set tracking mode
        void trackChanges(Change::Type type = Change::UNCHANGED);
        /// stop tracking
@@ -51,24 +51,24 @@ struct Paragraph::Pimpl {
        bool isChanged(lyx::pos_type start, lyx::pos_type end) const;
        /// is there a non-addition in this range ?
        bool isChangeEdited(lyx::pos_type start, lyx::pos_type end) const;
+
        /// set change at pos
        void setChange(lyx::pos_type pos, Change::Type type);
+
        /// mark as erased
        void markErased();
+
        /// accept change
        void acceptChange(lyx::pos_type start, lyx::pos_type end);
 
        /// reject change
        void rejectChange(lyx::pos_type start, lyx::pos_type end);
+
        /// are we tracking changes ?
        bool tracking() const {
                return changes_.get();
        }
+
        ///
        value_type getChar(lyx::pos_type pos) const;
        ///
@@ -76,18 +76,15 @@ struct Paragraph::Pimpl {
        ///
        void insertChar(lyx::pos_type pos, value_type c, LyXFont const & font, Change change = Change(Change::INSERTED));
        ///
-       void insertInset(lyx::pos_type pos, Inset * inset, LyXFont const & font, Change change = Change(Change::INSERTED));
+       void insertInset(lyx::pos_type pos, InsetOld * inset, LyXFont const & font, Change change = Change(Change::INSERTED));
        /// definite erase
        void eraseIntern(lyx::pos_type pos);
-       /// erase the given position
-       void erase(lyx::pos_type pos);
+       /// erase the given position. Returns true if it was actually erased
+       bool erase(lyx::pos_type pos);
        /// erase the given range
-       bool erase(lyx::pos_type start, lyx::pos_type end);
+       int erase(lyx::pos_type start, lyx::pos_type end);
        ///
-       LyXFont const realizeFont(LyXFont const & font,
-                                 BufferParams const & bparams) const;
-       ///
-       Inset * inset_owner;
+       UpdatableInset * inset_owner;
 
        /** A font entry covers a range of positions. Notice that the
            entries in the list are inserted in random order.
@@ -147,9 +144,6 @@ struct Paragraph::Pimpl {
        ///
        FontList fontlist;
 
-       ///
-       Paragraph * TeXDeeper(Buffer const *, BufferParams const &,
-                                std::ostream &, TexRow & texrow);
        ///
        void simpleTeXBlanks(std::ostream &, TexRow & texrow,
                             lyx::pos_type const i,
@@ -159,9 +153,11 @@ struct Paragraph::Pimpl {
        ///
        void simpleTeXSpecialChars(Buffer const *, BufferParams const &,
                                   std::ostream &, TexRow & texrow,
-                                  bool moving_arg,
+                                  LatexRunParams const &,
                                   LyXFont & font, LyXFont & running_font,
-                                  LyXFont & basefont, bool & open_font,
+                                  LyXFont & basefont,
+                                  LyXFont const & outerfont,
+                                  bool & open_font,
                                   Change::Type & running_change,
                                   LyXLayout const & style,
                                   lyx::pos_type & i,
@@ -171,8 +167,6 @@ struct Paragraph::Pimpl {
        void validate(LaTeXFeatures & features,
                      LyXLayout const & layout) const;
 
-       ///
-       Paragraph * getParFromID(int id) const;
        ///
        unsigned int id_;
        ///
@@ -181,15 +175,12 @@ struct Paragraph::Pimpl {
        ParagraphParameters params;
 
 private:
-       /// erase at the given position. Returns true if it was actually erased
-       bool erasePos(lyx::pos_type pos);
-
        /// match a string against a particular point in the paragraph
        bool isTextAt(string const & str, lyx::pos_type pos) const;
 
        /// for recording and looking up changes in revision tracking mode
        boost::scoped_ptr<Changes> changes_;
+
        /// Who owns us?
        Paragraph * owner_;
        ///