bool InsetBox::forcePlainLayout(idx_type) const
{
- return (!params_.inner_box || params_.use_makebox) && params_.type != "Shaded";
+ return (!params_.inner_box || params_.use_makebox)
+ && params_.type != "Shaded" && params_.type != "Framed";
}
case LFUN_INSET_MODIFY: {
//lyxerr << "InsetBox::dispatch MODIFY" << endl;
+ cur.recordUndoInset(ATOMIC_UNDO, this);
if (cmd.getArg(0) == "changetype") {
- cur.recordUndoInset(ATOMIC_UNDO, this);
params_.type = cmd.getArg(1);
} else
string2params(to_utf8(cmd.argument()), params_);
return true;
case LFUN_BREAK_PARAGRAPH:
- if ((params_.inner_box && !params_.use_makebox) || params_.type == "Shaded")
+ if ((params_.inner_box && !params_.use_makebox)
+ || params_.type == "Shaded" || params_.type == "Framed")
return InsetCollapsable::getStatus(cur, cmd, flag);
flag.setEnabled(false);
return true;
}
-int InsetBox::latex(odocstream & os, OutputParams const & runparams) const
+void InsetBox::latex(otexstream & os, OutputParams const & runparams) const
{
BoxType btype = boxtranslator().find(params_.type);
}
}
- int i = 0;
- os << "%\n";
+ os << safebreakln;
+ if (runparams.lastid != -1)
+ os.texrow().start(runparams.lastid, runparams.lastpos);
+
// Adapt to column/text width correctly also if paragraphs indented:
if (stdwidth)
os << "\\noindent";
break;
case Framed:
os << "\\begin{framed}%\n";
- i += 1;
break;
case Boxed:
os << "\\framebox";
}
os << "%\n";
- ++i;
} // end if inner_box
if (btype == Shaded) {
os << "\\begin{shaded}%\n";
- ++i;
}
- i += InsetText::latex(os, runparams);
+ InsetText::latex(os, runparams);
if (btype == Shaded)
os << "\\end{shaded}";
// already done
break;
}
-
- i += 2;
-
- return i;
}
}
-docstring InsetBox::contextMenu(BufferView const &, int, int) const
+docstring InsetBox::contextMenuName() const
{
return from_ascii("context-box");
}