X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmathed%2FInsetMathCases.cpp;h=0a5fa332b1ab241b7c8a278d0534755f1c335e65;hb=ebd4e25588f61c7f566be6d7800b9e6c4bbcdeb1;hp=17b4fb146968aea388ab9023853fd5f5994c6f15;hpb=460a764b7f601871dbb8ed4ad0f8260e7cdad509;p=lyx.git diff --git a/src/mathed/InsetMathCases.cpp b/src/mathed/InsetMathCases.cpp index 17b4fb1469..0a5fa332b1 100644 --- a/src/mathed/InsetMathCases.cpp +++ b/src/mathed/InsetMathCases.cpp @@ -45,25 +45,17 @@ Inset * InsetMathCases::clone() const void InsetMathCases::metrics(MetricsInfo & mi, Dimension & dim) const { + Changer dummy = mi.base.changeEnsureMath(); InsetMathGrid::metrics(mi, dim); - dim.wid += 8; -} - - -Dimension const InsetMathCases::dimension(BufferView const & bv) const -{ - Dimension dim = InsetMathGrid::dimension(bv); - dim.wid += 8; - return dim; } void InsetMathCases::draw(PainterInfo & pi, int x, int y) const { + Changer dummy = pi.base.changeEnsureMath(); Dimension const dim = dimension(*pi.base.bv); mathed_draw_deco(pi, x + 1, y - dim.ascent(), 6, dim.height(), from_ascii("{")); - InsetMathGrid::drawWithMargin(pi, x, y, 8, 0); - setPosCache(pi, x, y); + InsetMathGrid::draw(pi, x, y); } @@ -71,14 +63,11 @@ void InsetMathCases::doDispatch(Cursor & cur, FuncRequest & cmd) { //lyxerr << "*** InsetMathCases: request: " << cmd << endl; switch (cmd.action()) { - case LFUN_INSET_MODIFY: { - istringstream is(to_utf8(cmd.argument())); - string s; - is >> s; - if (s != "tabular") - break; - is >> s; + case LFUN_TABULAR_FEATURE: { + string s = cmd.getArg(0); // vertical lines and adding/deleting columns is not allowed for \cases + // FIXME: "I suspect that the break after cur.undispatched() should be a + // return; the recordUndo seems bogus too." (lasgouttes) if (s == "append-column" || s == "delete-column" || s == "add-vline-left" || s == "add-vline-right") { cur.undispatched(); @@ -97,13 +86,8 @@ bool InsetMathCases::getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus & flag) const { switch (cmd.action()) { - case LFUN_INSET_MODIFY: { - istringstream is(to_utf8(cmd.argument())); - string s; - is >> s; - if (s != "tabular") - break; - is >> s; + case LFUN_TABULAR_FEATURE: { + string s = cmd.getArg(0); if (s == "add-vline-left" || s == "add-vline-right") { flag.setEnabled(false); flag.message(bformat( @@ -185,11 +169,17 @@ void InsetMathCases::validate(LaTeXFeatures & features) const features.require("amsmath"); InsetMathGrid::validate(features); if (features.runparams().math_flavor == OutputParams::MathAsHTML) - // CSS based on eLyXer's + // CSS based on eLyXer's, with modifications suggested in bug #8755 features.addCSSSnippet( - "table.cases{display: inline-block; text-align: center;" + "table.cases{display: inline-block; text-align: center; border: none;" "border-left: thin solid black; vertical-align: middle; padding-left: 0.5ex;}\n" - "table.cases td {text-align: left;}"); + "table.cases td {text-align: left; border: none;}"); +} + + +int InsetMathCases::displayColSpace(col_type) const +{ + return 20; }