#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"
///
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, InsetBase * 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
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_;
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();
}