diff --git a/textmodel.h b/textmodel.h
index 38eb7c55b73d0546c5884263a98e2ec01d53b474..abfe13d24f6c6ad38b2dae6a333c05d88aa076c8 100644 (file)
--- a/textmodel.h
+++ b/textmodel.h
class TextModel : public ContainerModel {
private:
- static const std::string TYPENAME;
- static const TypeProxy<TextModel> PROXY;
+ static const TypeProxy<TextModel, ContainerModel> PROXY;
public:
- TextModel(INTEGER id);
- static const std::string &getType();
- static const std::string *getSuper();
+ static const std::string TYPENAME;
virtual const std::string &getTypeName() const;
+
+ TextModel(INTEGER id);
virtual void internalize(Reader &reader);
};
const size_t d_len;
TextPiece(size_t len);
virtual void read(Reader &reader) = 0;
- virtual std::string toString() = 0;
- virtual std::string toPlainText() = 0;
+ virtual std::string toString() const = 0;
+ virtual void accept(Visitor &visitor) const = 0;
};
class LongPiece : public TextPiece {
LongPiece(size_t len);
~LongPiece();
virtual void read(Reader &reader);
- virtual std::string toString();
- virtual std::string toPlainText();
+ virtual std::string toString() const;
+ virtual std::wstring getText() const;
+ virtual void accept(Visitor &visitor) const;
};
class ShortPiece : public TextPiece {
ShortPiece(size_t len);
~ShortPiece();
virtual void read(Reader &reader);
- virtual std::string toString();
- virtual std::string toPlainText();
+ virtual std::string toString() const;
+ virtual std::string getText() const;
+ virtual void accept(Visitor &visitor) const;
};
class ViewPiece : public TextPiece {
public:
ViewPiece(Store *view);
virtual void read(Reader &reader);
- virtual std::string toString();
- virtual std::string toPlainText();
+ virtual std::string toString() const;
+ virtual void accept(Visitor &visitor) const;
};
class StdTextModel : public TextModel {
private:
- static const std::string TYPENAME;
- static const TypeProxy<StdTextModel> PROXY;
+ static const TypeProxy<StdTextModel, TextModel> PROXY;
std::vector<TextPiece *> d_pieces;
public:
- StdTextModel(INTEGER id);
- static const std::string &getType();
- static const std::string *getSuper();
+ static const std::string TYPENAME;
virtual const std::string &getTypeName() const;
+
+ StdTextModel(INTEGER id);
virtual void internalize(Reader &reader);
virtual std::string toString();
- virtual std::string toPlainText();
+ virtual void accept(Visitor &visitor) const;
};
} // namespace odc