]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph_pimpl.h
fix reading the author field.
[lyx.git] / src / paragraph_pimpl.h
index 9a1ea617d6a0ddaff00f0bd8e8030a5d9e79a6b2..325d0034a844e7fed291bba028f9a4e557e70eba 100644 (file)
@@ -1,42 +1,43 @@
 // -*- C++ -*-
 /**
  * \file paragraph_pimpl.h
- * Copyright 1995-2003 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author John Levon
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef PARAGRAPH_PIMPL_H
 #define PARAGRAPH_PIMPL_H
 
 #include "paragraph.h"
-#include "ParagraphParameters.h"
+
 #include "changes.h"
-#include "counters.h"
+#include "lyxfont.h"
+#include "ParagraphParameters.h"
+#include "ShareContainer.h"
 
 #include <boost/scoped_ptr.hpp>
 
 class LyXLayout;
 
-struct Paragraph::Pimpl {
-       ///
-       typedef std::vector<value_type> TextContainer;
 
+struct Paragraph::Pimpl {
        ///
        Pimpl(Paragraph * owner);
-       /// Copy constructor
+       /// "Copy constructor"
        Pimpl(Pimpl const &, Paragraph * owner);
        ///
-       lyx::pos_type size() const {
-               return text.size();
-       }
-       ///
-       bool empty() const {
-               return text.empty();
-       }
-       ///
-       void clear();
-       ///
        void setContentsFromPar(Paragraph const & par);
+
+       //
+       // Change tracking
+       //
        /// set tracking mode
        void trackChanges(Change::Type type = Change::UNCHANGED);
        /// stop tracking
@@ -51,32 +52,25 @@ 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();
-       }
+       bool tracking() const { return changes_.get(); }
 
        ///
        value_type getChar(lyx::pos_type pos) const;
        ///
        void setChar(lyx::pos_type pos, value_type c);
        ///
-       void insertChar(lyx::pos_type pos, value_type c, LyXFont const & font, Change change = Change(Change::INSERTED));
+       void insertChar(lyx::pos_type pos, value_type c, Change change);
        ///
-       void insertInset(lyx::pos_type pos, Inset * inset, LyXFont const & font, Change change = Change(Change::INSERTED));
+       void insertInset(lyx::pos_type pos, InsetBase * inset, Change change);
        /// definite erase
        void eraseIntern(lyx::pos_type pos);
        /// erase the given position. Returns true if it was actually erased
@@ -84,7 +78,7 @@ struct Paragraph::Pimpl {
        /// erase the given range
        int erase(lyx::pos_type start, lyx::pos_type end);
        ///
-       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.
@@ -101,9 +95,9 @@ struct Paragraph::Pimpl {
                ///
                FontTable(lyx::pos_type p, LyXFont const & f)
                        : pos_(p)
-                       {
-                               font_ = container.get(f);
-                       }
+               {
+                       font_ = container.get(f);
+               }
                ///
                lyx::pos_type pos() const { return pos_; }
                ///
@@ -151,9 +145,9 @@ struct Paragraph::Pimpl {
                             LyXFont const & font,
                             LyXLayout const & style);
        ///
-       void simpleTeXSpecialChars(Buffer const *, BufferParams const &,
+       void simpleTeXSpecialChars(Buffer const &, BufferParams const &,
                                   std::ostream &, TexRow & texrow,
-                                  LatexRunParams const &,
+                                  OutputParams const &,
                                   LyXFont & font, LyXFont & running_font,
                                   LyXFont & basefont,
                                   LyXFont const & outerfont,
@@ -175,16 +169,16 @@ struct Paragraph::Pimpl {
        ParagraphParameters params;
 
 private:
+       ///
+       lyx::pos_type size() const { return owner_->size(); }
        /// match a string against a particular point in the paragraph
-       bool isTextAt(string const & str, lyx::pos_type pos) const;
+       bool isTextAt(std::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_;
-       ///
-       TextContainer text;
 };
 
 #endif