X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathStream.cpp;h=b142f7e9c04b2d63632d86f57b78883eaf9d6023;hb=573500dd04f154f27318ac5ec469a337f97fe9f0;hp=bcd7160bc02cfdccdcce43a974ad23deea365659;hpb=30b18aec37da1355c8947cfeb8d181e7b5a9a4f9;p=lyx.git diff --git a/src/mathed/MathStream.cpp b/src/mathed/MathStream.cpp index bcd7160bc0..b142f7e9c0 100644 --- a/src/mathed/MathStream.cpp +++ b/src/mathed/MathStream.cpp @@ -409,8 +409,6 @@ HtmlStream & operator<<(HtmlStream & ms, char_type c) HtmlStream & operator<<(HtmlStream & ms, MTag const & t) { - ++ms.tab(); - ms.os() << "\n"; ms.os() << '<' << from_ascii(t.tag_); if (!t.attr_.empty()) ms.os() << " " << from_ascii(t.attr_); @@ -421,9 +419,6 @@ HtmlStream & operator<<(HtmlStream & ms, MTag const & t) HtmlStream & operator<<(HtmlStream & ms, ETag const & t) { - ms.os() << "\n"; - if (ms.tab() > 0) - --ms.tab(); ms.os() << "'; return ms; } @@ -442,18 +437,18 @@ HtmlStream & operator<<(HtmlStream & ms, docstring const & s) SetMode::SetMode(MathStream & os, bool text) : os_(os), opened_(false) { - init(text, from_ascii("")); + init(text, ""); } -SetMode::SetMode(MathStream & os, bool text, docstring attrs) +SetMode::SetMode(MathStream & os, bool text, string const & attrs) : os_(os), opened_(false) { init(text, attrs); } -void SetMode::init(bool text, docstring attrs) +void SetMode::init(bool text, string const & attrs) { was_text_ = os_.inText(); if (was_text_) @@ -462,12 +457,12 @@ void SetMode::init(bool text, docstring attrs) os_.setTextMode(); os_ << ""; opened_ = true; } else { if (!attrs.empty()) { - os_ << ""; + os_ << ""; opened_ = true; } os_.setMathMode(); @@ -495,6 +490,49 @@ SetMode::~SetMode() ////////////////////////////////////////////////////////////////////// +SetHTMLMode::SetHTMLMode(HtmlStream & os, bool text) + : os_(os), opened_(false) +{ + init(text, ""); +} + + +SetHTMLMode::SetHTMLMode(HtmlStream & os, bool text, string attrs) + : os_(os), opened_(true) +{ + init(text, attrs); +} + + +void SetHTMLMode::init(bool text, string const & attrs) +{ + was_text_ = os_.inText(); + if (text) { + os_.setTextMode(); + if (attrs.empty()) + os_ << MTag("span"); + else + os_ << MTag("span", attrs); + opened_ = true; + } else + os_.setMathMode(); +} + + +SetHTMLMode::~SetHTMLMode() +{ + if (opened_) + os_ << ETag("span"); + if (was_text_) + os_.setTextMode(); + else + os_.setMathMode(); +} + + +////////////////////////////////////////////////////////////////////// + + MapleStream & operator<<(MapleStream & ms, MathAtom const & at) { at->maple(ms);