]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetoptarg.C
* BufferParams:
[lyx.git] / src / insets / insetoptarg.C
index d3a9b807adc3689e00b291762b14c742613b7bd8..d1ee34b50d29b102c861f840846e2e343dffe30d 100644 (file)
@@ -5,33 +5,31 @@
  *
  * \author Martin Vermeer
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
+#include "insetoptarg.h"
 
 #include "debug.h"
-
-#include "insetoptarg.h"
-#include "support/LOstream.h"
-#include "frontends/Alert.h"
-#include "support/lstrings.h" // frontStrip, strip
-#include "lyxtext.h"
-#include "buffer.h"
 #include "gettext.h"
-#include "BufferView.h"
-#include "support/lstrings.h"
+#include "LColor.h"
+#include "paragraph.h"
+
+#include <sstream>
+
 
+namespace lyx {
+
+using std::string;
+using std::auto_ptr;
 using std::ostream;
-using std::vector;
-using std::pair;
+using std::ostringstream;
+
 
 InsetOptArg::InsetOptArg(BufferParams const & ins)
-       : InsetCollapsable(ins, true)
+       : InsetCollapsable(ins)
 {
        LyXFont font(LyXFont::ALL_SANE);
        font.setColor(LColor::collapsable);
@@ -40,8 +38,8 @@ InsetOptArg::InsetOptArg(BufferParams const & ins)
 }
 
 
-InsetOptArg::InsetOptArg(InsetOptArg const & in, bool same_id)
-       : InsetCollapsable(in, same_id)
+InsetOptArg::InsetOptArg(InsetOptArg const & in)
+       : InsetCollapsable(in)
 {
        LyXFont font(LyXFont::ALL_SANE);
        font.setColor(LColor::collapsable);
@@ -50,36 +48,57 @@ InsetOptArg::InsetOptArg(InsetOptArg const & in, bool same_id)
 }
 
 
-Inset * InsetOptArg::clone(Buffer const &, bool same_id) const
+auto_ptr<InsetBase> InsetOptArg::doClone() const
 {
-       return new InsetOptArg(*this, same_id);
+       return auto_ptr<InsetBase>(new InsetOptArg(*this));
 }
 
 
-string const InsetOptArg::editMessage() const
+docstring const InsetOptArg::editMessage() const
 {
        return _("Opened Optional Argument Inset");
 }
 
 
-void InsetOptArg::write(Buffer const * buf, ostream & os) const
+void InsetOptArg::write(Buffer const & buf, ostream & os) const
 {
        os << "OptArg" << "\n";
        InsetCollapsable::write(buf, os);
 }
 
 
-int InsetOptArg::latex(Buffer const *, ostream &, bool, bool) const
+int InsetOptArg::latex(Buffer const &, odocstream &,
+                       OutputParams const &) const
+{
+       return 0;
+}
+
+
+int InsetOptArg::plaintext(Buffer const &, odocstream &,
+                           OutputParams const &) const
+{
+       return 0; // do not output optional arguments
+}
+
+
+int InsetOptArg::docbook(Buffer const &, odocstream &,
+                         OutputParams const &) const
 {
        return 0;
 }
 
 
-int InsetOptArg::latexOptional(Buffer const * buf, ostream & os,
-                               bool, bool fp) const
+int InsetOptArg::latexOptional(Buffer const & buf, odocstream & os,
+                              OutputParams const & runparams) const
 {
-       os << '[';
-       int const i = inset.latex(buf, os, false, fp);
-       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