*
* \author Martin Vermeer
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
+#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);
}
-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);
}
-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::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,
- 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