#include "Lexer.h"
#include "MetricsInfo.h"
#include "OutputParams.h"
+#include "texstream.h"
#include "TextClass.h"
#include "support/docstream.h"
}
-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
// 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) {
switch (cmd.action()) {
case LFUN_INSET_MODIFY:
- cur.recordUndoInset(ATOMIC_UNDO, this);
+ cur.recordUndoInset(this);
string2params(to_utf8(cmd.argument()), params_);
setButtonLabel();
cur.forceBufferUpdate();
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{";
+ break;
+ default:
+ os << "\\phantom{";
+ break;
+ }
InsetCollapsable::latex(os, runparams);
os << "}";
}
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") << ":";
+ break;
+ default:
+ os << '[' << buffer().B_("phantom") << ":";
+ break;
+ }
InsetCollapsable::plaintext(os, runparams, max_length);
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 << "</" + cmdname + ">";