X-Git-Url: http://deadsoftware.ru/gitweb?p=odcread.git;a=blobdiff_plain;f=textmodel.cc;h=977bd447e35ecca8efd0b71617597f709577771b;hp=81ac03dfe725872d202f4efec16d8243b8802a27;hb=cf035fa1849a5e65c0d636ce2718bc2c85994680;hpb=51b3593cbfb33c1d7b4b588f3841c3c405e3a215 diff --git a/textmodel.cc b/textmodel.cc index 81ac03d..977bd44 100644 --- a/textmodel.cc +++ b/textmodel.cc @@ -157,6 +157,14 @@ std::string StdTextModel::toString() { return sofar + "}"; } +std::string StdTextModel::toPlainText() { + std::string sofar = ""; + for (int i = 0; i < d_pieces.size(); ++i) { + sofar += d_pieces[i]->toPlainText(); + } + return sofar; +} + TextPiece::TextPiece(size_t len): d_len(len) {} LongPiece::LongPiece(size_t len): TextPiece(len) {} @@ -174,6 +182,10 @@ std::string LongPiece::toString() { return std::string("LongPiece(FIXME)");// + std::wstring((wchar_t*)d_buf) + std::string(")"); } +std::string LongPiece::toPlainText() { + return std::string("FIXME");// + std::wstring((wchar_t*)d_buf) + std::string(")"); +} + ShortPiece::ShortPiece(size_t len): TextPiece(len) {} ShortPiece::~ShortPiece() { @@ -197,6 +209,10 @@ std::string ShortPiece::toString() { return std::string("ShortPiece(") + std::string(d_buf) + std::string(")"); } +std::string ShortPiece::toPlainText() { + return std::string(d_buf); +} + ViewPiece::ViewPiece(Store *view): TextPiece(0), d_view(view) {} void ViewPiece::read(Reader &reader) { @@ -207,4 +223,8 @@ std::string ViewPiece::toString() { return std::string("ViewPiece { ") + d_view->toString() + " }"; } +std::string ViewPiece::toPlainText() { + return d_view->toPlainText(); +} + } // namespace odc