X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetIPAMacro.cpp;h=4b2369b3796741fb6177bd1f876da9313146f893;hb=639aa354448188f45e69d6bd1e0ef3dfcc938c5f;hp=f8888ce96e7b4cd021128de71826fa65cec67d69;hpb=ecef54500d4d77baf4fa47eac2253679875ac08c;p=lyx.git diff --git a/src/insets/InsetIPAMacro.cpp b/src/insets/InsetIPAMacro.cpp index f8888ce96e..4b2369b379 100644 --- a/src/insets/InsetIPAMacro.cpp +++ b/src/insets/InsetIPAMacro.cpp @@ -23,6 +23,7 @@ #include "Lexer.h" #include "MetricsInfo.h" #include "output_xhtml.h" +#include "texstream.h" #include "frontends/FontMetrics.h" #include "frontends/Painter.h" @@ -59,14 +60,16 @@ IPADecoTranslatorLoc const init_ipadecotranslator_loc() IPADecoTranslator const & ipadecotranslator() { - static IPADecoTranslator decotranslator = init_ipadecotranslator(); + static IPADecoTranslator const decotranslator = + init_ipadecotranslator(); return decotranslator; } IPADecoTranslatorLoc const & ipadecotranslator_loc() { - static IPADecoTranslatorLoc translator = init_ipadecotranslator_loc(); + static IPADecoTranslatorLoc const translator = + init_ipadecotranslator_loc(); return translator; } @@ -86,11 +89,12 @@ IPACharTranslator const init_ipachartranslator() IPACharTranslator const & ipachartranslator() { - static IPACharTranslator chartranslator = init_ipachartranslator(); + static IPACharTranslator const chartranslator = + init_ipachartranslator(); return chartranslator; } -} // anon +} // namespace InsetIPADecoParams::InsetIPADecoParams() @@ -121,7 +125,7 @@ void InsetIPADecoParams::read(Lexer & lex) ///////////////////////////////////////////////////////////////////// InsetIPADeco::InsetIPADeco(Buffer * buf, string const & label) - : InsetCollapsable(buf) + : InsetCollapsible(buf) { setDrawFrame(true); setFrameColor(Color_insetframe); @@ -142,7 +146,7 @@ docstring InsetIPADeco::layoutName() const void InsetIPADeco::metrics(MetricsInfo & mi, Dimension & dim) const { InsetText::metrics(mi, dim); - + if (params_.type == InsetIPADecoParams::Toptiebar) { // consider width of the inset label FontInfo font(getLayout().labelfont()); @@ -169,21 +173,18 @@ void InsetIPADeco::metrics(MetricsInfo & mi, Dimension & dim) const theFontMetrics(font).rectText(label, w, a, d); dim.des += int(d * 1.5); } - - // cache the inset dimension - setDimCache(mi, dim); } void InsetIPADeco::draw(PainterInfo & pi, int x, int y) const { // draw the text - InsetCollapsable::draw(pi, x, y); + InsetCollapsible::draw(pi, x, y); // draw the inset marker drawMarkers(pi, x, y); - Dimension const dim = Inset::dimension(*pi.base.bv); + Dimension const dim = dimension(*pi.base.bv); if (params_.type == InsetIPADecoParams::Toptiebar) { FontInfo font(getLayout().labelfont()); @@ -222,14 +223,14 @@ void InsetIPADeco::draw(PainterInfo & pi, int x, int y) const void InsetIPADeco::write(ostream & os) const { params_.write(os); - InsetCollapsable::write(os); + InsetCollapsible::write(os); } void InsetIPADeco::read(Lexer & lex) { params_.read(lex); - InsetCollapsable::read(lex); + InsetCollapsible::read(lex); } @@ -276,7 +277,7 @@ void InsetIPADeco::latex(otexstream & os, OutputParams const & runparams) const os << "\\texttoptiebar{"; else if (params_.type == InsetIPADecoParams::Bottomtiebar) os << "\\textbottomtiebar{"; - InsetCollapsable::latex(os, runparams); + InsetCollapsible::latex(os, runparams); os << "}"; } @@ -285,11 +286,11 @@ int InsetIPADeco::plaintext(odocstringstream & os, OutputParams const & runparams, size_t max_length) const { odocstringstream ods; - int h = (int)(InsetCollapsable::plaintext(ods, runparams, max_length) / 2); + int h = (int)(InsetCollapsible::plaintext(ods, runparams, max_length) / 2); docstring result = ods.str(); docstring const before = result.substr(0, h); docstring const after = result.substr(h, result.size()); - + if (params_.type == InsetIPADecoParams::Toptiebar) { os << before; os.put(0x0361); @@ -307,7 +308,7 @@ int InsetIPADeco::plaintext(odocstringstream & os, int InsetIPADeco::docbook(odocstream & os, OutputParams const & runparams) const { // FIXME: Any docbook option here? - return InsetCollapsable::docbook(os, runparams); + return InsetCollapsible::docbook(os, runparams); } @@ -316,7 +317,7 @@ docstring InsetIPADeco::xhtml(XHTMLStream & xs, OutputParams const & runparams) // FIXME: Like in plaintext, the combining characters "͡" (toptiebar) // or "͜" (bottomtiebar) would need to be inserted just in the mid // of the text string. (How) can this be done with the xhtml stream? - return InsetCollapsable::xhtml(xs, runparams); + return InsetCollapsible::xhtml(xs, runparams); } @@ -354,8 +355,7 @@ void InsetIPADeco::string2params(string const & in, InsetIPADecoParams & params) void InsetIPADeco::validate(LaTeXFeatures & features) const { - if (!buffer_->params().useNonTeXFonts) - features.require("tipa"); + features.require("tipa"); InsetText::validate(features); } @@ -410,7 +410,6 @@ void InsetIPAChar::metrics(MetricsInfo & mi, Dimension & dim) const } docstring ds(s.begin(), s.end()); dim.wid = fm.width(ds); - setDimCache(mi, dim); } @@ -544,13 +543,13 @@ int InsetIPAChar::plaintext(odocstringstream & os, OutputParams const &, size_t) int InsetIPAChar::docbook(odocstream & /*os*/, OutputParams const &) const { switch (kind_) { - // FIXME - LYXERR0("IPA tone macros not yet implemented with DocBook!"); case TONE_FALLING: case TONE_RISING: case TONE_HIGH_RISING: case TONE_LOW_RISING: case TONE_HIGH_RISING_FALLING: + // FIXME + LYXERR0("IPA tone macros not yet implemented with DocBook!"); break; } return 0; @@ -594,7 +593,7 @@ void InsetIPAChar::toString(odocstream & os) const } -void InsetIPAChar::forToc(docstring & os, size_t) const +void InsetIPAChar::forOutliner(docstring & os, size_t const, bool const) const { odocstringstream ods; plaintext(ods, OutputParams(0)); @@ -610,8 +609,7 @@ void InsetIPAChar::validate(LaTeXFeatures & features) const case TONE_HIGH_RISING: case TONE_LOW_RISING: case TONE_HIGH_RISING_FALLING: - if (!buffer_->params().useNonTeXFonts) - features.require("tone"); + features.require("tone"); break; default: break; @@ -619,16 +617,4 @@ void InsetIPAChar::validate(LaTeXFeatures & features) const } -bool InsetIPAChar::isLetter() const -{ - return true; -} - - -bool InsetIPAChar::isLineSeparator() const -{ - return false; -} - - } // namespace lyx