X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetScript.cpp;h=fec226fe3a52b6c2f6ce53becde410bf82d68b0b;hb=239b9919ffe28338d789e6dc9122228f77ab77a7;hp=b85b36ee13d8e32f476ccdedd431b66ddc494788;hpb=d866717ef7503a1373dd1cb3925e1ac97b079192;p=lyx.git diff --git a/src/insets/InsetScript.cpp b/src/insets/InsetScript.cpp index b85b36ee13..fec226fe3a 100644 --- a/src/insets/InsetScript.cpp +++ b/src/insets/InsetScript.cpp @@ -68,14 +68,16 @@ ScriptTranslatorLoc const init_scripttranslator_loc() ScriptTranslator const & scripttranslator() { - static ScriptTranslator translator = init_scripttranslator(); + static ScriptTranslator const translator = + init_scripttranslator(); return translator; } ScriptTranslatorLoc const & scripttranslator_loc() { - static ScriptTranslatorLoc translator = init_scripttranslator_loc(); + static ScriptTranslatorLoc const translator = + init_scripttranslator_loc(); return translator; } @@ -143,9 +145,9 @@ InsetScript::~InsetScript() } -docstring InsetScript::name() const +docstring InsetScript::layoutName() const { - return from_ascii("script:" + scripttranslator().find(params_.type)); + return from_ascii("Script:" + scripttranslator().find(params_.type)); } @@ -158,7 +160,7 @@ Inset::DisplayType InsetScript::display() const void InsetScript::metrics(MetricsInfo & mi, Dimension & dim) const { int const shift = params_.shift(mi.base.font); - ScriptChanger dummy(mi.base); + Changer dummy = mi.base.changeScript(); InsetText::metrics(mi, dim); dim.asc -= shift; dim.des += shift; @@ -168,7 +170,7 @@ void InsetScript::metrics(MetricsInfo & mi, Dimension & dim) const void InsetScript::draw(PainterInfo & pi, int x, int y) const { int const shift = params_.shift(pi.base.font); - ScriptChanger dummy(pi.base); + Changer dummy = pi.base.changeScript(); InsetText::draw(pi, x, y + shift); } @@ -214,7 +216,7 @@ void InsetScript::doDispatch(Cursor & cur, FuncRequest & cmd) { switch (cmd.action()) { case LFUN_INSET_MODIFY: - cur.recordUndoInset(ATOMIC_UNDO, this); + cur.recordUndoInset(this); string2params(to_utf8(cmd.argument()), params_); break; default: @@ -261,9 +263,6 @@ bool InsetScript::getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus & flag) const { switch (cmd.action()) { - case LFUN_BREAK_PARAGRAPH: - case LFUN_LAYOUT: - case LFUN_LAYOUT_PARAGRAPH: case LFUN_MATH_DISPLAY: case LFUN_BOX_INSERT: case LFUN_BRANCH_INSERT: @@ -272,7 +271,6 @@ bool InsetScript::getStatus(Cursor & cur, FuncRequest const & cmd, case LFUN_FLOAT_LIST_INSERT: case LFUN_FLOAT_WIDE_INSERT: case LFUN_FOOTNOTE_INSERT: - case LFUN_HFILL_INSERT: case LFUN_INDEX_PRINT: case LFUN_LISTING_INSERT: case LFUN_MARGINALNOTE_INSERT: @@ -288,7 +286,7 @@ bool InsetScript::getStatus(Cursor & cur, FuncRequest const & cmd, case LFUN_INSET_MODIFY: flag.setEnabled(true); return true; - case LFUN_COMMAND_SEQUENCE: { + case LFUN_COMMAND_SEQUENCE: { // argument contains ';'-terminated commands string arg = to_utf8(cmd.argument()); // prevent insertion of display math formulas like AMS align @@ -314,11 +312,10 @@ docstring InsetScript::toolTip(BufferView const &, int, int) const { OutputParams rp(&buffer().params().encoding()); odocstringstream ods; - InsetText::plaintext(ods, rp); + InsetText::plaintext(ods, rp, 200); docstring content_tip = ods.str(); // shorten it if necessary - if (content_tip.size() > 200) - content_tip = content_tip.substr(0, 200) + "..."; + support::truncateWithEllipsis(content_tip, 200); docstring res = scripttranslator_loc().find(params_.type); if (!content_tip.empty()) res += from_ascii(": ") + content_tip; @@ -326,33 +323,11 @@ docstring InsetScript::toolTip(BufferView const &, int, int) const } -void InsetScript::validate(LaTeXFeatures & features) const -{ - if (params_.type == InsetScriptParams::Subscript) - features.require("subscript"); - InsetText::validate(features); -} - - -void InsetScript::latex(otexstream & os, OutputParams const & runparams) const -{ - switch (params_.type) { - case InsetScriptParams::Subscript: - os << "\\textsubscript{"; - break; - case InsetScriptParams::Superscript: - os << "\\textsuperscript{"; - break; - } - InsetText::latex(os, runparams); - os << "}"; -} - - -int InsetScript::plaintext(odocstream & os, OutputParams const & runparams) const +int InsetScript::plaintext(odocstringstream & os, + OutputParams const & runparams, size_t max_length) const { odocstringstream oss; - InsetText::plaintext(oss, runparams); + InsetText::plaintext(oss, runparams, max_length); docstring const text = oss.str(); switch (params_.type) { case InsetScriptParams::Subscript: @@ -376,7 +351,7 @@ int InsetScript::plaintext(odocstream & os, OutputParams const & runparams) cons os << '[' << buffer().B_("superscript") << ':'; break; } - InsetText::plaintext(os, runparams); + InsetText::plaintext(os, runparams, max_length); os << ']'; return PLAINTEXT_NEWLINE; @@ -385,13 +360,13 @@ int InsetScript::plaintext(odocstream & os, OutputParams const & runparams) cons int InsetScript::docbook(odocstream & os, OutputParams const & runparams) const { - string cmdname; + docstring cmdname; switch (params_.type) { case InsetScriptParams::Subscript: - cmdname = "subscript"; + cmdname = from_ascii("subscript"); break; case InsetScriptParams::Superscript: - cmdname = "superscript"; + cmdname = from_ascii("superscript"); break; } os << '<' + cmdname + '>'; @@ -402,28 +377,9 @@ int InsetScript::docbook(odocstream & os, OutputParams const & runparams) const } -docstring InsetScript::xhtml(XHTMLStream & xs, OutputParams const & runparams) const -{ - string cmdname; - switch (params_.type) { - case InsetScriptParams::Subscript: - cmdname = "sub"; - break; - case InsetScriptParams::Superscript: - cmdname = "sup"; - break; - } - - xs << html::StartTag(cmdname); - docstring const ret = InsetText::xhtml(xs, runparams); - xs << html::EndTag(cmdname); - return ret; -} - - -docstring InsetScript::contextMenuName() const +string InsetScript::contextMenuName() const { - return from_ascii("context-script"); + return "context-script"; }