X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetPhantom.cpp;h=d1a25f6a70bc32cfcce4f32712c6112e7e37ca97;hb=8124e6c02ea1fd6779bb6c47ffe2bca2c8bd2d97;hp=f8d99d8bfca5db919e5af03ea0bbf614f52585e4;hpb=d044d6afa7192b2119784e1415e71dad644bc335;p=lyx.git diff --git a/src/insets/InsetPhantom.cpp b/src/insets/InsetPhantom.cpp index f8d99d8bfc..d1a25f6a70 100644 --- a/src/insets/InsetPhantom.cpp +++ b/src/insets/InsetPhantom.cpp @@ -15,19 +15,16 @@ #include "Buffer.h" #include "BufferParams.h" #include "BufferView.h" -#include "BufferParams.h" -#include "Counters.h" #include "Cursor.h" #include "Dimension.h" #include "DispatchResult.h" #include "Exporter.h" #include "FuncRequest.h" #include "FuncStatus.h" -#include "InsetIterator.h" #include "LaTeXFeatures.h" #include "Lexer.h" #include "MetricsInfo.h" -#include "OutputParams.h" +#include "texstream.h" #include "TextClass.h" #include "support/docstream.h" @@ -84,7 +81,7 @@ PhantomTranslatorLoc const & phantomtranslator_loc() return translator; } -} // anon +} // namespace InsetPhantomParams::InsetPhantomParams() @@ -115,7 +112,7 @@ void InsetPhantomParams::read(Lexer & lex) ///////////////////////////////////////////////////////////////////// InsetPhantom::InsetPhantom(Buffer * buf, string const & label) - : InsetCollapsable(buf) + : InsetCollapsible(buf) { setDrawFrame(false); params_.type = phantomtranslator().find(label); @@ -134,29 +131,20 @@ docstring InsetPhantom::layoutName() const } -void InsetPhantom::metrics(MetricsInfo & mi, Dimension & dim) const -{ - InsetCollapsable::metrics(mi, dim); - - // cache the inset dimension - setDimCache(mi, dim); -} - - void InsetPhantom::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); - + // 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 = Inset::dimension(*pi.base.bv); + Dimension const dim = dimension(*pi.base.bv); if (params_.type == InsetPhantomParams::Phantom || params_.type == InsetPhantomParams::VPhantom) { @@ -203,10 +191,10 @@ void InsetPhantom::draw(PainterInfo & pi, int x, int y) const // | | | | // x1 x2 x3 x4 - x = x + TEXT_TO_INSET_OFFSET; + x += leftOffset(pi.base.bv); int const x1 = x; int const x2 = x + arrow_size; - int const x4 = x + dim.wid - 2 * TEXT_TO_INSET_OFFSET; + int const x4 = x + dim.wid - leftOffset(pi.base.bv) - rightOffset(pi.base.bv); int const x3 = x4 - arrow_size; int const y2 = y + (dim.des - dim.asc) / 2; @@ -230,14 +218,14 @@ void InsetPhantom::draw(PainterInfo & pi, int x, int y) const void InsetPhantom::write(ostream & os) const { params_.write(os); - InsetCollapsable::write(os); + InsetCollapsible::write(os); } void InsetPhantom::read(Lexer & lex) { params_.read(lex); - InsetCollapsable::read(lex); + InsetCollapsible::read(lex); } @@ -261,7 +249,7 @@ void InsetPhantom::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_); setButtonLabel(); cur.forceBufferUpdate(); @@ -272,7 +260,7 @@ void InsetPhantom::doDispatch(Cursor & cur, FuncRequest & cmd) break; default: - InsetCollapsable::doDispatch(cur, cmd); + InsetCollapsible::doDispatch(cur, cmd); break; } } @@ -297,7 +285,7 @@ bool InsetPhantom::getStatus(Cursor & cur, FuncRequest const & cmd, return true; default: - return InsetCollapsable::getStatus(cur, cmd, flag); + return InsetCollapsible::getStatus(cur, cmd, flag); } } @@ -311,15 +299,24 @@ docstring InsetPhantom::toolTip(BufferView const &, int, int) const void InsetPhantom::latex(otexstream & os, OutputParams const & runparams) const { - if (runparams.moving_arg) - os << "\\protect"; - 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{"; - InsetCollapsable::latex(os, runparams); + break; + default: + os << "\\phantom{"; + break; + } + InsetCollapsible::latex(os, runparams); os << "}"; } @@ -327,37 +324,34 @@ void InsetPhantom::latex(otexstream & 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, max_length); + break; + default: + os << '[' << buffer().B_("phantom") << ":"; + break; + } + InsetCollapsible::plaintext(os, runparams, max_length); os << "]"; return PLAINTEXT_NEWLINE; } -int InsetPhantom::docbook(odocstream & os, OutputParams const & runparams) const +void InsetPhantom::docbook(XMLStream &, OutputParams const &) 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"; - os << "<" + cmdname + ">"; - int const i = InsetCollapsable::docbook(os, runparams); - os << ""; - - return i; + return; } -docstring InsetPhantom::xhtml(XHTMLStream &, OutputParams const &) const +docstring InsetPhantom::xhtml(XMLStream &, OutputParams const &) const { return docstring(); }