X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetPhantom.cpp;h=c6efe9a9c93416ddce6259b38d22ac5d73357819;hb=04efc84abceb49e2042e357583a84b07847c1a5a;hp=2f5daf07e33feb7ea9b8c1fbf61165869cbf3c63;hpb=5bf8df4fbc9a4117df3df957f83c23f6847ac185;p=lyx.git diff --git a/src/insets/InsetPhantom.cpp b/src/insets/InsetPhantom.cpp index 2f5daf07e3..c6efe9a9c9 100644 --- a/src/insets/InsetPhantom.cpp +++ b/src/insets/InsetPhantom.cpp @@ -71,14 +71,16 @@ PhantomTranslatorLoc const init_phantomtranslator_loc() PhantomTranslator const & phantomtranslator() { - static PhantomTranslator translator = init_phantomtranslator(); + static PhantomTranslator const translator = + init_phantomtranslator(); return translator; } PhantomTranslatorLoc const & phantomtranslator_loc() { - static PhantomTranslatorLoc translator = init_phantomtranslator_loc(); + static PhantomTranslatorLoc const translator = + init_phantomtranslator_loc(); return translator; } @@ -112,7 +114,7 @@ void InsetPhantomParams::read(Lexer & lex) // ///////////////////////////////////////////////////////////////////// -InsetPhantom::InsetPhantom(Buffer const & buf, string const & label) +InsetPhantom::InsetPhantom(Buffer * buf, string const & label) : InsetCollapsable(buf) { setDrawFrame(false); @@ -126,13 +128,7 @@ InsetPhantom::~InsetPhantom() } -docstring InsetPhantom::editMessage() const -{ - return _("Opened Phantom Inset"); -} - - -docstring InsetPhantom::name() const +docstring InsetPhantom::layoutName() const { return from_ascii("Phantom:" + phantomtranslator().find(params_.type)); } @@ -154,13 +150,13 @@ void InsetPhantom::draw(PainterInfo & pi, int x, int y) const // draw the inset marker drawMarkers(pi, x, y); - + // draw the arrow(s) static int const arrow_size = 4; ColorCode const origcol = pi.base.font.color(); pi.base.font.setColor(Color_special); pi.base.font.setColor(origcol); - Dimension const dim = dimension(*pi.base.bv); + Dimension const dim = Inset::dimension(*pi.base.bv); if (params_.type == InsetPhantomParams::Phantom || params_.type == InsetPhantomParams::VPhantom) { @@ -262,10 +258,13 @@ bool InsetPhantom::showInsetDialog(BufferView * bv) const void InsetPhantom::doDispatch(Cursor & cur, FuncRequest & cmd) { - switch (cmd.action) { + switch (cmd.action()) { case LFUN_INSET_MODIFY: + cur.recordUndoInset(this); string2params(to_utf8(cmd.argument()), params_); + setButtonLabel(); + cur.forceBufferUpdate(); break; case LFUN_INSET_DIALOG_UPDATE: @@ -282,7 +281,7 @@ void InsetPhantom::doDispatch(Cursor & cur, FuncRequest & cmd) bool InsetPhantom::getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus & flag) const { - switch (cmd.action) { + switch (cmd.action()) { case LFUN_INSET_MODIFY: if (cmd.getArg(0) == "phantom") { @@ -305,42 +304,53 @@ bool InsetPhantom::getStatus(Cursor & cur, FuncRequest const & cmd, docstring InsetPhantom::toolTip(BufferView const &, int, int) const { - OutputParams rp(&buffer().params().encoding()); - odocstringstream ods; - InsetCollapsable::plaintext(ods, rp); - docstring content_tip = support::wrapParas(ods.str()); - docstring res = phantomtranslator_loc().find(params_.type); - if (!content_tip.empty()) - res += from_ascii(": ") + "\n" + content_tip; - return res; + docstring const res = phantomtranslator_loc().find(params_.type); + return toolTipText(res + from_ascii(": ")); } -int InsetPhantom::latex(odocstream & os, OutputParams const & runparams) const +void InsetPhantom::latex(otexstream & os, OutputParams const & runparams) const { - if (params_.type == InsetPhantomParams::Phantom) + if (runparams.moving_arg) + os << "\\protect"; + + switch (params_.type) { + case InsetPhantomParams::Phantom: os << "\\phantom{"; - else if (params_.type == InsetPhantomParams::HPhantom) + break; + case InsetPhantomParams::HPhantom: os << "\\hphantom{"; - else if (params_.type == InsetPhantomParams::VPhantom) + break; + case InsetPhantomParams::VPhantom: os << "\\vphantom{"; - int const i = InsetCollapsable::latex(os, runparams); + break; + default: + os << "\\phantom{"; + break; + } + InsetCollapsable::latex(os, runparams); os << "}"; - - return i; } -int InsetPhantom::plaintext(odocstream & os, - OutputParams const & runparams) const +int InsetPhantom::plaintext(odocstringstream & os, + OutputParams const & runparams, size_t max_length) const { - if (params_.type == InsetPhantomParams::Phantom) + switch (params_.type) { + case InsetPhantomParams::Phantom: os << '[' << buffer().B_("phantom") << ":"; - else if (params_.type == InsetPhantomParams::HPhantom) + break; + case InsetPhantomParams::HPhantom: os << '[' << buffer().B_("hphantom") << ":"; - else if (params_.type == InsetPhantomParams::VPhantom) + break; + case InsetPhantomParams::VPhantom: os << '[' << buffer().B_("vphantom") << ":"; - InsetCollapsable::plaintext(os, runparams); + break; + default: + os << '[' << buffer().B_("phantom") << ":"; + break; + } + InsetCollapsable::plaintext(os, runparams, max_length); os << "]"; return PLAINTEXT_NEWLINE; @@ -349,13 +359,15 @@ int InsetPhantom::plaintext(odocstream & os, int InsetPhantom::docbook(odocstream & os, OutputParams const & runparams) const { - string cmdname; - if (params_.type == InsetPhantomParams::Phantom) - cmdname = "phantom"; - else if (params_.type == InsetPhantomParams::HPhantom) - cmdname = "phantom"; - else if (params_.type == InsetPhantomParams::VPhantom) - cmdname = "phantom"; + docstring cmdname; + switch (params_.type) { + case InsetPhantomParams::Phantom: + case InsetPhantomParams::HPhantom: + case InsetPhantomParams::VPhantom: + default: + cmdname = from_ascii("phantom"); + break; + } os << "<" + cmdname + ">"; int const i = InsetCollapsable::docbook(os, runparams); os << ""; @@ -364,14 +376,14 @@ int InsetPhantom::docbook(odocstream & os, OutputParams const & runparams) const } -docstring InsetPhantom::xhtml(odocstream &, OutputParams const &) const +docstring InsetPhantom::xhtml(XHTMLStream &, OutputParams const &) const { return docstring(); } -docstring InsetPhantom::contextMenu(BufferView const &, int, int) const +string InsetPhantom::contextMenuName() const { - return from_ascii("context-phantom"); + return "context-phantom"; }