]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathBox.cpp
Seems boost also includes all std headers. Not including boost therefore produces...
[lyx.git] / src / mathed / InsetMathBox.cpp
index 17d2b13346d78f187f7d565db3211d54b7aee2e6..fa3f5653241eb6fd876fac3a456bf4ed20c6a950 100644 (file)
@@ -54,7 +54,14 @@ void InsetMathBox::normalize(NormalStream & os) const
 
 void InsetMathBox::mathmlize(MathStream & ms) const
 {      
-       SetMode textmode(ms, true, from_ascii("class='mathbox'"));
+       SetMode textmode(ms, true, "class='mathbox'");
+       ms << cell(0);
+}
+
+
+void InsetMathBox::htmlize(HtmlStream & ms) const
+{
+       SetHTMLMode textmode(ms, true);
        ms << cell(0);
 }
 
@@ -85,6 +92,7 @@ void InsetMathBox::validate(LaTeXFeatures & features) const
 {
        if (name_ == "tag" || name_ == "tag*")
                features.require("amsmath");
+
        cell(0).validate(features);
 }
 
@@ -136,7 +144,14 @@ void InsetMathFBox::normalize(NormalStream & os) const
 
 void InsetMathFBox::mathmlize(MathStream & ms) const
 {      
-       SetMode textmode(ms, true, from_ascii("class='fbox'"));
+       SetMode textmode(ms, true, "class='fbox'");
+       ms << cell(0);
+}
+
+
+void InsetMathFBox::htmlize(HtmlStream & ms) const
+{
+       SetHTMLMode textmode(ms, true, "class='fbox'");
        ms << cell(0);
 }
 
@@ -152,10 +167,15 @@ void InsetMathFBox::validate(LaTeXFeatures & features) const
        // FIXME XHTML
        // It'd be better to be able to get this from an InsetLayout, but at present
        // InsetLayouts do not seem really to work for things that aren't InsetTexts.
-       if (features.runparams().flavor == OutputParams::HTML)
+       if (features.runparams().math_flavor == OutputParams::MathAsMathML)
                features.addPreambleSnippet("<style type=\"text/css\">\n"
                        "mtext.fbox { border: 1px solid black; }\n"
                        "</style>");
+       else if (features.runparams().math_flavor == OutputParams::MathAsHTML)
+               features.addPreambleSnippet("<style type=\"text/css\">\n"
+                       "span.fbox { border: 1px solid black; }\n"
+                       "</style>");
+       InsetMathNest::validate(features);
 }
 
 
@@ -270,7 +290,16 @@ void InsetMathMakebox::mathmlize(MathStream & ms) const
 {
        // FIXME We could do something with the other arguments.
        std::string const cssclass = framebox_ ? "framebox" : "makebox";
-       SetMode textmode(ms, true, from_ascii("class='" + cssclass + "'"));
+       SetMode textmode(ms, true, "class='" + cssclass + "'");
+       ms << cell(2);
+}
+
+
+void InsetMathMakebox::htmlize(HtmlStream & ms) const
+{
+       // FIXME We could do something with the other arguments.
+       std::string const cssclass = framebox_ ? "framebox" : "makebox";
+       SetHTMLMode textmode(ms, true, "class='" + cssclass + "'");
        ms << cell(2);
 }
 
@@ -280,14 +309,18 @@ void InsetMathMakebox::validate(LaTeXFeatures & features) const
        // FIXME XHTML
        // It'd be better to be able to get this from an InsetLayout, but at present
        // InsetLayouts do not seem really to work for things that aren't InsetTexts.
-       if (features.runparams().flavor == OutputParams::HTML)
+       if (features.runparams().math_flavor == OutputParams::MathAsMathML)
                features.addPreambleSnippet("<style type=\"text/css\">\n"
-                       "mtext.framebox { border: 1px solid black; }\n"
+                       "span.framebox { border: 1px solid black; }\n"
                        "</style>");
+       else if (features.runparams().math_flavor == OutputParams::MathAsHTML)
+               features.addPreambleSnippet("<style type=\"text/css\">\n"
+                       "span.framebox { border: 1px solid black; }\n"
+                       "</style>");
+       InsetMathNest::validate(features);
 }
 
 
-
 /////////////////////////////////////////////////////////////////////
 //
 // InsetMathBoxed
@@ -337,7 +370,14 @@ void InsetMathBoxed::infoize(odocstream & os) const
 
 void InsetMathBoxed::mathmlize(MathStream & ms) const
 {
-       SetMode mathmode(ms, false, from_ascii("class='boxed'"));
+       SetMode mathmode(ms, false, "class='boxed'");
+       ms << cell(0);
+}
+
+
+void InsetMathBoxed::htmlize(HtmlStream & ms) const
+{
+       SetHTMLMode mathmode(ms, false, "class='boxed'");
        ms << cell(0);
 }
 
@@ -345,13 +385,19 @@ void InsetMathBoxed::mathmlize(MathStream & ms) const
 void InsetMathBoxed::validate(LaTeXFeatures & features) const
 {
        features.require("amsmath");
+
        // FIXME XHTML
        // It'd be better to be able to get this from an InsetLayout, but at present
        // InsetLayouts do not seem really to work for things that aren't InsetTexts.
-       if (features.runparams().flavor == OutputParams::HTML)
+       if (features.runparams().math_flavor == OutputParams::MathAsMathML)
                features.addPreambleSnippet("<style type=\"text/css\">\n"
                        "mstyle.boxed { border: 1px solid black; }\n"
                        "</style>");
+       else if (features.runparams().math_flavor == OutputParams::MathAsHTML)
+               features.addPreambleSnippet("<style type=\"text/css\">\n"
+                       "span.boxed { border: 1px solid black; }\n"
+                       "</style>");
+       
        InsetMathNest::validate(features);
 }