X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetoptarg.C;h=d5ed89d3c9a3c4e8cbe75258857e58af8fac750a;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=3b4fe9809f1adfa78ae2fff85887df1b2fed2dc9;hpb=4c6e0fe4226ce3b55d13726977f1e579f17c2ad1;p=lyx.git diff --git a/src/insets/insetoptarg.C b/src/insets/insetoptarg.C index 3b4fe9809f..d5ed89d3c9 100644 --- a/src/insets/insetoptarg.C +++ b/src/insets/insetoptarg.C @@ -14,14 +14,22 @@ #include "debug.h" #include "gettext.h" +#include "LColor.h" #include "paragraph.h" +#include + + +namespace lyx { + +using std::string; using std::auto_ptr; using std::ostream; +using std::ostringstream; InsetOptArg::InsetOptArg(BufferParams const & ins) - : InsetCollapsable(ins, true) + : InsetCollapsable(ins) { LyXFont font(LyXFont::ALL_SANE); font.setColor(LColor::collapsable); @@ -40,13 +48,13 @@ InsetOptArg::InsetOptArg(InsetOptArg const & in) } -auto_ptr InsetOptArg::clone() const +auto_ptr InsetOptArg::doClone() const { return auto_ptr(new InsetOptArg(*this)); } -string const InsetOptArg::editMessage() const +docstring const InsetOptArg::editMessage() const { return _("Opened Optional Argument Inset"); } @@ -59,18 +67,37 @@ void InsetOptArg::write(Buffer const & buf, ostream & os) const } -int InsetOptArg::latex(Buffer const &, ostream &, - LatexRunParams const &) const +int InsetOptArg::latex(Buffer const &, odocstream &, + OutputParams const &) const +{ + return 0; +} + +int InsetOptArg::docbook(Buffer const &, odocstream &, + OutputParams const &) const +{ + return 0; +} + + +int InsetOptArg::plaintext(Buffer const &, odocstream &, + OutputParams const &) const { return 0; } -int InsetOptArg::latexOptional(Buffer const & buf, ostream & os, - LatexRunParams const & runparams) const +int InsetOptArg::latexOptional(Buffer const & buf, odocstream & os, + OutputParams const & runparams) const { - os << '['; - int const i = inset.latex(buf, os, runparams); - os << ']'; - return i + 2; + odocstringstream ss; + int ret = InsetText::latex(buf, ss, runparams); + docstring str = ss.str(); + if (str.find(']') != docstring::npos) + str = '{' + str + '}'; + os << '[' << str << ']'; + return ret; } + + +} // namespace lyx