2 * \file InsetEnvironment.cpp
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS.
13 #include "InsetEnvironment.h"
15 #include "BufferParams.h"
17 #include "Paragraph.h"
18 #include "OutputParams.h"
19 #include "output_latex.h"
30 InsetEnvironment::InsetEnvironment
31 (BufferParams const & bp, string const & name)
32 : InsetText(bp), layout_(bp.getLyXTextClass()[name]), name_(from_utf8(name))
34 setAutoBreakRows(true);
39 InsetEnvironment::InsetEnvironment(InsetEnvironment const & in)
40 : InsetText(in), layout_(in.layout_)
44 auto_ptr<Inset> InsetEnvironment::doClone() const
46 return auto_ptr<Inset>(new InsetEnvironment(*this));
50 void InsetEnvironment::write(Buffer const & buf, ostream & os) const
52 os << "Environment " << to_utf8(insetName()) << "\n";
53 InsetText::write(buf, os);
57 void InsetEnvironment::read(Buffer const & buf, Lexer & lex)
59 InsetText::read(buf, lex);
63 docstring const InsetEnvironment::editMessage() const
65 return _("Opened Environment Inset: ") + insetName();
69 int InsetEnvironment::latex(Buffer const & buf, odocstream & os,
70 OutputParams const & runparams) const
73 os << from_utf8(layout_->latexheader);
75 latexParagraphs(buf, paragraphs(), os, texrow, runparams,
76 layout_->latexparagraph);
78 os << from_utf8(layout_->latexfooter);
83 int InsetEnvironment::plaintext(Buffer const & buf, odocstream & os,
84 OutputParams const & runparams) const
86 os << '[' << to_utf8(insetName()) << ":\n";
87 InsetText::plaintext(buf, os, runparams);
90 return PLAINTEXT_NEWLINE + 1; // one char on a separate line
94 Layout_ptr const & InsetEnvironment::layout() const