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);
}
}
+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);
}