]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathSplit.cpp
Years forgotten files.
[lyx.git] / src / mathed / InsetMathSplit.cpp
index 3f7478321e5766054cb05a1bd5d290b0cc427c4a..240126d122e2d774f4531ff340baa1ccd64cc499 100644 (file)
@@ -69,20 +69,26 @@ void InsetMathSplit::draw(PainterInfo & pi, int x, int y) const
 bool InsetMathSplit::getStatus(Cursor & cur, FuncRequest const & cmd,
                FuncStatus & flag) const
 {
-       switch (cmd.action) {
-       case LFUN_TABULAR_FEATURE: {
-               docstring const & s = cmd.argument();
+       switch (cmd.action()) {
+       case LFUN_INSET_MODIFY: {
+               istringstream is(to_utf8(cmd.argument()));
+               string s;
+               is >> s;
+               if (s != "tabular")
+                       break;
+               is >> s;
                if (s == "add-vline-left" || s == "add-vline-right") {
                        flag.message(bformat(
                                from_utf8(N_("Can't add vertical grid lines in '%1$s'")),       name_));
                        flag.setEnabled(false);
                        return true;
                }
-               return InsetMathGrid::getStatus(cur, cmd, flag);
+               break;
        }
        default:
-               return InsetMathGrid::getStatus(cur, cmd, flag);
+               break;
        }
+       return InsetMathGrid::getStatus(cur, cmd, flag);
 }
 
 
@@ -111,11 +117,38 @@ void InsetMathSplit::infoize(odocstream & os) const
 }
 
 
+void InsetMathSplit::mathmlize(MathStream & ms) const
+{
+       // split, gathered, aligned, alignedat
+       // At the moment, those seem to display just fine without any
+       // special treatment.
+       // FIXME
+       // lgathered and rgathered could use the proper alignment, but
+       // it's not clear how to do that without copying a lot of code.
+       // One idea would be to wrap the table in an <mrow>, and set the
+       // alignment there via CSS.
+       InsetMathGrid::mathmlize(ms);
+}
+
+
+void InsetMathSplit::htmlize(HtmlStream & ms) const
+{
+       // split, gathered, aligned, alignedat
+       // At the moment, those seem to display just fine without any
+       // special treatment.
+       // FIXME
+       // lgathered and rgathered could use the proper alignment.
+       InsetMathGrid::htmlize(ms);
+}
+
+
 void InsetMathSplit::validate(LaTeXFeatures & features) const
 {
        if (name_ == "split" || name_ == "gathered" || name_ == "aligned" ||
            name_ == "alignedat")
                features.require("amsmath");
+       else if (name_ == "lgathered" || name_ == "rgathered")
+               features.require("mathtools");
        InsetMathGrid::validate(features);
 }