#include "LColor.h"
#include "paragraph.h"
+#include <sstream>
+
+
+namespace lyx {
using std::string;
using std::auto_ptr;
using std::ostream;
+using std::ostringstream;
InsetOptArg::InsetOptArg(BufferParams const & ins)
- : InsetCollapsable(ins, Collapsed)
+ : InsetCollapsable(ins)
{
LyXFont font(LyXFont::ALL_SANE);
font.setColor(LColor::collapsable);
}
-auto_ptr<InsetBase> InsetOptArg::clone() const
+auto_ptr<InsetBase> InsetOptArg::doClone() const
{
return auto_ptr<InsetBase>(new InsetOptArg(*this));
}
-string const InsetOptArg::editMessage() const
+docstring const InsetOptArg::editMessage() const
{
return _("Opened Optional Argument Inset");
}
}
-int InsetOptArg::latex(Buffer const &, ostream &,
+int InsetOptArg::latex(Buffer const &, odocstream &,
+ OutputParams const &) const
+{
+ return 0;
+}
+
+int InsetOptArg::docbook(Buffer const &, odocstream &,
OutputParams const &) const
{
return 0;
}
-int InsetOptArg::latexOptional(Buffer const & buf, ostream & os,
+int InsetOptArg::plaintext(Buffer const &, odocstream &,
+ OutputParams const &) const
+{
+ return 0;
+}
+
+
+int InsetOptArg::latexOptional(Buffer const & buf, odocstream & os,
OutputParams const & runparams) const
{
- os << '[';
- int const i = InsetText::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