X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathMacroTemplate.cpp;h=d4cf4cfa560bbf830c9b982564ac9fb0aa7c35f8;hb=31cd421bcd26647cb7edbb694b05473271fe9153;hp=42d81772b737755ddcb8c89af2bea67a8fe69de7;hpb=a9eb87a89d2ba1a492f2a01fc92e360e056bf2d6;p=lyx.git diff --git a/src/mathed/MathMacroTemplate.cpp b/src/mathed/MathMacroTemplate.cpp index 42d81772b7..d4cf4cfa56 100644 --- a/src/mathed/MathMacroTemplate.cpp +++ b/src/mathed/MathMacroTemplate.cpp @@ -269,14 +269,12 @@ Inset * InsetMathWrapper::clone() const void InsetMathWrapper::metrics(MetricsInfo & mi, Dimension & dim) const { value_->metrics(mi, dim); - //metricsMarkers2(mi, dim); } void InsetMathWrapper::draw(PainterInfo & pi, int x, int y) const { value_->draw(pi, x, y); - //drawMarkers(pi, x, y); } @@ -369,6 +367,7 @@ Inset * InsetNameWrapper::clone() const void InsetNameWrapper::metrics(MetricsInfo & mi, Dimension & dim) const { + Changer dummy = mi.base.changeFontSet("textit"); InsetMathWrapper::metrics(mi, dim); dim.wid += mathed_string_width(mi.base.font, from_ascii("\\")); } @@ -376,19 +375,17 @@ void InsetNameWrapper::metrics(MetricsInfo & mi, Dimension & dim) const void InsetNameWrapper::draw(PainterInfo & pi, int x, int y) const { - // create fonts - PainterInfo namepi = pi; - if (parent_.validMacro()) - namepi.base.font.setColor(Color_latex); - else - namepi.base.font.setColor(Color_error); + ColorCode const color = parent_.validMacro() ? Color_latex : Color_error; + + Changer dummy = pi.base.changeFontSet("textit"); + Changer dummy2 = pi.base.font.changeColor(color); // draw backslash - pi.pain.text(x, y, from_ascii("\\"), namepi.base.font); - x += mathed_string_width(namepi.base.font, from_ascii("\\")); + pi.pain.text(x, y, from_ascii("\\"), pi.base.font); + x += mathed_string_width(pi.base.font, from_ascii("\\")); // draw name - InsetMathWrapper::draw(namepi, x, y); + InsetMathWrapper::draw(pi, x, y); } @@ -578,8 +575,6 @@ void MathMacroTemplate::metrics(MetricsInfo & mi, Dimension & dim) const dim.wid += 6; dim.des += 2; dim.asc += 2; - - setDimCache(mi, dim); } @@ -590,7 +585,6 @@ void MathMacroTemplate::draw(PainterInfo & pi, int x, int y) const Changer dummy1 = pi.base.changeFontSet("mathnormal"); Changer dummy2 = pi.base.font.changeStyle(LM_ST_TEXT); - setPosCache(pi, x, y); Dimension const dim = dimension(*pi.base.bv); // draw outer frame @@ -1389,16 +1383,18 @@ string MathMacroTemplate::contextMenuName() const return "context-math-macro-definition"; } + void MathMacroTemplate::addToToc(DocIterator const & pit, bool output_active, - UpdateType) const + UpdateType, TocBackend & backend) const { - shared_ptr toc = buffer().tocBackend().toc("math-macro"); docstring str; if (!validMacro()) str = bformat(_("Invalid macro! \\%1$s"), name()); else str = "\\" + name(); - toc->push_back(TocItem(pit, 0, str, output_active)); + TocBuilder & b = backend.builder("math-macro"); + b.pushItem(pit, str, output_active); + b.pop(); }