From: André Pönitz Date: Sat, 27 Mar 2004 12:36:38 +0000 (+0000) Subject: partial fix X-Git-Tag: 1.6.10~15423 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=60fa184251c3662165390163f072bda2ef568c10;p=features.git partial fix git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8540 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/mathed/formulamacro.C b/src/mathed/formulamacro.C index 348454b638..b2db3c55f6 100644 --- a/src/mathed/formulamacro.C +++ b/src/mathed/formulamacro.C @@ -18,6 +18,7 @@ #include "BufferView.h" #include "cursor.h" +#include "debug.h" #include "gettext.h" #include "LColor.h" #include "lyxlex.h" @@ -34,11 +35,12 @@ using lyx::support::bformat; using std::string; using std::auto_ptr; using std::ostream; +using std::endl; InsetFormulaMacro::InsetFormulaMacro() - : MathNestInset(2), name_("unknown") + : MathNestInset(2), name_("unknownA") {} @@ -51,7 +53,7 @@ InsetFormulaMacro::InsetFormulaMacro InsetFormulaMacro::InsetFormulaMacro(string const & s) - : MathNestInset(2), name_("unknown") + : MathNestInset(2), name_("unknownB") { std::istringstream is(s); read(is); @@ -68,15 +70,16 @@ void InsetFormulaMacro::write(Buffer const &, ostream & os) const { os << "FormulaMacro "; WriteStream wi(os, false, false); - MathNestInset::write(wi); + tmpl()->write(wi); } int InsetFormulaMacro::latex(Buffer const &, ostream & os, OutputParams const & runparams) const { + lyxerr << "InsetFormulaMacro::latex" << endl; WriteStream wi(os, runparams.moving_arg, true); - MathNestInset::write(wi); + tmpl()->write(wi); return 2; } @@ -85,7 +88,7 @@ int InsetFormulaMacro::plaintext(Buffer const &, ostream & os, OutputParams const &) const { WriteStream wi(os, false, true); - MathNestInset::write(wi); + tmpl()->write(wi); return 0; } @@ -115,7 +118,6 @@ void InsetFormulaMacro::read(std::istream & is) auto_ptr p(new MathMacroTemplate(is)); name_ = p->name(); MathMacroTable::create(MathAtom(p.release())); - //metrics(); } @@ -127,31 +129,14 @@ string InsetFormulaMacro::prefix() const void InsetFormulaMacro::metrics(MetricsInfo & mi, Dimension & dim) const { - MathNestInset::metrics(mi); - dim = cell(0).dim(); - dim += cell(1).dim(); + tmpl()->metrics(mi, dim); dim.asc += 5; dim.des += 5; dim.wid += 10 + font_metrics::width(prefix(), mi.base.font); - dim = dim_; + dim_ = dim; } -#warning FIXME -#if 0 -MathAtom const & InsetFormulaMacro::par() const -{ - return MathMacroTable::provide(getInsetName()); -} - - -MathAtom & InsetFormulaMacro::par() -{ - return MathMacroTable::provide(getInsetName()); -} -#endif - - void InsetFormulaMacro::draw(PainterInfo & p, int x, int y) const { // label @@ -179,10 +164,14 @@ void InsetFormulaMacro::draw(PainterInfo & p, int x, int y) const pi.pain.text(x + 2, y, prefix(), font); - // formula -#warning FIXME -#if 0 - par()->draw(pi, x + font_metrics::width(prefix(), p.base.font) + 5, y); -#endif + // body + tmpl()->draw(pi, x + font_metrics::width(prefix(), p.base.font) + 5, y); + setPosCache(pi, x, y); } + + +MathAtom & InsetFormulaMacro::tmpl() const +{ + return MathMacroTable::provide(name_); +}