]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph_pimpl.h
unify toclevel for articles and reports/books; proper numbering of Paragraph/SubParag...
[lyx.git] / src / paragraph_pimpl.h
index 325d0034a844e7fed291bba028f9a4e557e70eba..35db59cf8d62d5bdf96c1d42e43735247a7bbd1b 100644 (file)
 #include "changes.h"
 #include "lyxfont.h"
 #include "ParagraphParameters.h"
-#include "ShareContainer.h"
 
 #include <boost/scoped_ptr.hpp>
 
 class LyXLayout;
 
 
-struct Paragraph::Pimpl {
+class Paragraph::Pimpl {
+public:
        ///
        Pimpl(Paragraph * owner);
        /// "Copy constructor"
@@ -91,21 +91,29 @@ 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)
+                       : 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_; }
+               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_;
@@ -118,16 +126,20 @@ 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();
                }