]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph_pimpl.h
cleanup after svn hang-up, #undef CursorShape. Should be compilable ganin now.
[lyx.git] / src / paragraph_pimpl.h
index f935c93d7a74534ddadd337314c1ed5d6cc48f66..f24c36dbf8ed1bcb2ed080baa9b0866422dc96a6 100644 (file)
@@ -26,7 +26,8 @@
 class LyXLayout;
 
 
-struct Paragraph::Pimpl {
+class Paragraph::Pimpl {
+public:
        ///
        Pimpl(Paragraph * owner);
        /// "Copy constructor"
@@ -42,19 +43,19 @@ struct Paragraph::Pimpl {
        /// stop tracking
        void untrackChanges();
        /// set all text as new for change mode
-       void cleanChanges();
-       /// look up change type at given pos
-       Change::Type lookupChange(lyx::pos_type pos) const;
+       void cleanChanges(Paragraph::ChangeTracking ct = Paragraph::trackingUnknown);
        /// look up change at given pos
-       Change const lookupChangeFull(lyx::pos_type pos) const;
-       /// is there a change in the given range ?
+       Change const lookupChange(lyx::pos_type pos) const;
+       /// is there a change within the given range ?
        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);
+       /// set change type at given pos
+       void setChangeType(lyx::pos_type pos, Change::Type type);
+       /// set change at given pos
+       void setChange(lyx::pos_type pos, Change change);
        /// mark as erased
-       void markErased();
+       void markErased(bool);
        /// accept change
        void acceptChange(lyx::pos_type start, lyx::pos_type end);
        /// reject change
@@ -77,7 +78,7 @@ struct Paragraph::Pimpl {
        /// erase the given range
        int erase(lyx::pos_type start, lyx::pos_type end);
        ///
-       UpdatableInset * inset_owner;
+       InsetBase * inset_owner;
 
        /** A font entry covers a range of positions. Notice that the
            entries in the list are inserted in random order.
@@ -90,28 +91,20 @@ struct Paragraph::Pimpl {
            and font_i covers the chars in positions pos_{i-1}+1,...,pos_i
            (font_1 covers the chars 0,...,pos_1) (Dekel)
        */
-       struct FontTable  {
+       class FontTable  {
+       public:
                ///
                FontTable(lyx::pos_type p, LyXFont const & f)
                        : pos_(p), font_(f)
-               {
-#if 0
-                       font_ = container.get(f);
-#endif
-               }
+               {}
                ///
                lyx::pos_type pos() const { return pos_; }
                ///
                void pos(lyx::pos_type p) { pos_ = p; }
                ///
                LyXFont const & font() const { return font_; }
-#if 0
-               ///
-               void font(LyXFont const & f) { font_ = container.get(f);}
-#else
                ///
                void font(LyXFont const & f) { font_ = f;}
-#endif
        private:
                /// End position of paragraph this font attribute covers
                lyx::pos_type pos_;
@@ -124,20 +117,14 @@ struct Paragraph::Pimpl {
                    The values LyXFont::IGNORE_* and LyXFont::TOGGLE are NOT
                    allowed in these font tables.
                */
-#if 0
-               boost::shared_ptr<LyXFont> font_;
-               ///
-               static ShareContainer<LyXFont> container;
-#else
                LyXFont font_;
-#endif
        };
        ///
-       friend struct matchFT;
+       friend class matchFT;
        ///
-       struct matchFT {
+       class matchFT {
+       public:
                /// used by lower_bound and upper_bound
-               inline
                int operator()(FontTable const & a, FontTable const & b) const {
                        return a.pos() < b.pos();
                }