3 * \file InsetEnvironment.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef INSETENVIRONMENT_H
13 #define INSETENVIRONMENT_H
15 #include "InsetText.h"
21 class InsetEnvironment : public InsetText {
24 InsetEnvironment(Buffer const &, docstring const & name);
26 docstring name() const { return name_; }
28 void write(std::ostream & os) const;
30 void read(Lexer & lex);
32 InsetCode lyxCode() const { return ENVIRONMENT_CODE; }
34 int latex(odocstream &, OutputParams const &) const;
36 int plaintext(odocstream &, OutputParams const &) const;
38 docstring editMessage() const;
40 Inset::EDITABLE editable() const { return HIGHLY_EDITABLE; }
42 Layout const & layout() const;
43 /** returns true if, when outputing LaTeX, font changes should
44 be closed before generating this inset. This is needed for
45 insets that may contain several paragraphs */
46 bool noFontChange() const { return true; }
49 Inset * clone() const { return new InsetEnvironment(*this); }
51 Layout const & layout_;