]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetoptarg.C
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetoptarg.C
index 94da626e58d9e55a3f50c3b5ee8d930d38e69255..d5ed89d3c9a3c4e8cbe75258857e58af8fac750a 100644 (file)
 #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, true)
+       : InsetCollapsable(ins)
 {
        LyXFont font(LyXFont::ALL_SANE);
        font.setColor(LColor::collapsable);
@@ -43,13 +48,13 @@ InsetOptArg::InsetOptArg(InsetOptArg const & in)
 }
 
 
-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");
 }
@@ -62,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::latexOptional(Buffer const & buf, ostream & os,
-                              LatexRunParams const & runparams) const
+int InsetOptArg::plaintext(Buffer const &, odocstream &,
+                      OutputParams const &) const
 {
-       os << '[';
-       int const i = inset.latex(buf, os, runparams);
-       os << ']';
-       return i + 2;
+       return 0;
 }
+
+
+int InsetOptArg::latexOptional(Buffer const & buf, odocstream & os,
+                              OutputParams const & runparams) const
+{
+       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